octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: complie error of f77-extern.cc on development source (Mecurial) unde


From: Tatsuro MATSUOKA
Subject: Re: complie error of f77-extern.cc on development source (Mecurial) under MinGW
Date: Wed, 23 Dec 2009 17:07:53 +0900 (JST)

Hello

> Tatsuro MATSUOKA wrote:
> > ***********configure.ac
> > 1346: AC_CHECK_TYPES([dev_t, ino_t, nlink_t])
> >
> > Parts of config.h produced
> > *****config.h
> > 658 :/* Define to 1 if the system has the type `nlink_t'. */
> > 659 :/* #undef HAVE_NLINK_T */
> >
> > 1415: /* Define to the type of st_nlink in struct stat, or a supertype. */
> > 1416: #define nlink_t  int
> >
> > 1480: #if !defined(HAVE_NLINK_T)
> > 1481: typedef short nlink_t;
> > 1482: #endif
> >
> > ***********
> >
> > I have still met the same error.
> > In file included from 
> > ../../../hg/octave-work/libcruft/misc/f77-extern.cc:25:
> > ../config.h:1481: error: declaration does not declare anything
> >

Rik Wrote
> The problem seems to be that configure does not locate nlink_t, but
> gnulib includes <sys/types.h> which has a definition for nlink_t.
> 
> I think the first thing to check is whether your <sys/types.h> includes
> a definition for nlink_t. If it does, that is where config.h has picked
> it up. The second question would be why the configure script did not
> locate nlink_t in <sys/types.h>. It is that failure which is the
> principal problem.


I looked at  include/sys/types.h,  no 'nlink_t' found. I also carried out to 
search 'nlink_t' by grep
and no 'nlink_t' exists in MinGW GCC environments.

I also search nlink_t by a functionality of a text editor in config.log

configure:20275: checking for nlink_t
configure:20305: gcc  -shared-libgcc -c -O3 -fomit-frame-pointer 
-Ic:/Programs/OctaveBuild/include
-Ic:/Programs/WinDevTools/include -Ic:/Programs/GnuWin32/include conftest.c >&5
conftest.c: In function 'main':
conftest.c:84: error: 'nlink_t' undeclared (first use in this function)
conftest.c:84: error: (Each undeclared identifier is reported only once
conftest.c:84: error: for each function it appears in.)
configure:20312: $? = 1
configure: failed program was:
| /* confdefs.h.  */
  :
  :
| #include <sys/types.h>
|      #include <sys/stat.h>
| 
| int
| main ()
| {
| if (sizeof (nlink_t))
|        return 0;
|   ;
|   return 0;
| }

After this test,  I can find '| #define nlink_t int' in | /* confdefs.h.  */ in 
the succeeding tests. 


Finally I found nlink_t in  
UGLY_DEFS='-DPACKAGE_NAME=\\\\\"GNU\ Octave\\\\\"  ......................... 
-Dnlink_t=int ......'
................ 

Thus 
 658 :/* Define to 1 if the system has the type `nlink_t'. */
 659 :/* #undef HAVE_NLINK_T */

1415: /* Define to the type of st_nlink in struct stat, or a supertype. */
1416: #define nlink_t  int

1480: #if !defined(HAVE_NLINK_T)
1481: typedef short nlink_t;
1482: #endif

seemed not to be wrong.  However the complier said 

In file included from ../../../hg/octave-work/libcruft/misc/f77-extern.cc:25:
../config.h:1481: error: declaration does not declare anything

If If I have modify 
#if !defined(HAVE_NLINK_T)
/*typedef short nlink_t;*/
#endif

Compiling f77-extern.cc was successful.

Regards

Tatsuro

--------------------------------------
Get Disney character's mail address on Yahoo! Mail
http://pr.mail.yahoo.co.jp/disney/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]