bug-coreutils
[Top][All Lists]
Advanced

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

Re: build failure on sparc64-sun-solaris2.9


From: Aleksandar Milivojevic
Subject: Re: build failure on sparc64-sun-solaris2.9
Date: Thu, 05 Jan 2006 21:36:30 -0600
User-agent: Mozilla Thunderbird 1.0.7-1.4.1.centos4 (X11/20051007)

Paul Eggert wrote:
Aleksandar Milivojevic <address@hidden> writes:

if gcc -DHAVE_CONFIG_H -DLIBDIR=\"/opt/pbl/lib/sparcv9\" -I. -I../../lib -I.. -I.. -I../../lib -g -O2 -MT canon-host.o -MD -MP -MF ".deps/canon-host.Tpo"
-c -o canon-host.o ../../lib/canon-host.c; \
then mv -f ".deps/canon-host.Tpo" ".deps/canon-host.Po"; else rm -f
".deps/canon-host.Tpo"; exit 1; fi
In file included from ../../lib/getaddrinfo.h:28,
                from ../../lib/canon-host.c:27:
/usr/include/sys/socket.h:61: error: two or more data types in declaration
specifiers

Shouldn't you be using "gcc -m64" if you want to build a 64-bit version?
(Or perhaps you have a special gcc that defaults to 64-bit?)

I'm using sparc64 build of gcc, which defaults to 64-bit (it isn't special, just not common).

I tried to reproduce your problem with coreutils 5.93 on a Solaris 9
sparc host with GCC 4.0.2, using "configure CC='gcc -m64'", and didn't
have that problem.

Using 5.93 too.  The problem was due to bug in gcc (blame the compiler ;-)

See explanation bellow.

Most likely your "configure" went wrong, and put a "#define socklen_t
int" into config.h.  If so, you should investigate why.  But first,
upgrade to 5.93.

Yup, the configure script went wrong, and defined socklen_t in config.h.

Sparc64 gcc when built with NLS support (default) has a problem that it core dumps from time to time if there are any warnings or errors during compilation. It's a known bug. The sparc (32bit) build is not affected (the bug exists in both builds, but is triggered only in sparc64 build due to different type sizes). The test for socklen_t triggered an warning to be printed by gcc ("warning: extra tokens at end of #endif directive"). Gcc crashed, and configure concluded that there's no socklen_t defined in system header files.

In the meantime, I rebuilt gcc without NLS support (the bug was rather annoying, and I don't need gcc to tell me how bad my code is in exotic languages). This time, everything went fine.

BTW, during install, I got this message for each and every file that was copied:

../../build-aux/install-sh: -: not found

Also, seems like linking of utilities isn't quite optimal. Running ldd on any of them gives a long list of libs.




reply via email to

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