bug-gnubg
[Top][All Lists]
Advanced

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

[Bug-gnubg] New configure problems and comments on gcc3.1 compiler warni


From: Jim Segrave
Subject: [Bug-gnubg] New configure problems and comments on gcc3.1 compiler warnings
Date: Mon, 12 Aug 2002 13:00:09 +0200
User-agent: Mutt/1.2.5i

I can't (directly) build gnubg from the Mon Aug 12 CVS tree. The
changes to configure over the weekend have broken things. Details follow.


>From Friday's CVS (part of a successful make):

gcc  -g -O2  -o makeweights  makeweights.o i18n.o -Llib -levent -lreadline 
-ltermcap -lm        -Wl,--export-dynamic           -Wl,--export-dynamic        
     -Wl,--export-dynamic              -Wl,--export-dynamic      
-L/usr/local/lib -L/usr/X11R6/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 
-lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpangoxft-1.0 -lXft -lXrender -lXext -lX11 
-lfreetype -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -liconv  

/usr/libexec/elf/ld: warning: libfreetype.so.6, needed by 
/usr/X11R6/lib/libgtk-x11-2.0.so, may conflict with libfreetype.so.9

==================================================

>From Monday's CVS:

I did a CVS checkout of gnubg, copied in the weights and rolloff
databases. Then ran ./autogen.sh, followed by 

./configure  2>&1 | tee make.out
gmake MAKE=gmake 2>&1 | tee -a make.out

The entire output of configure and make are attached separately. The
message

  ./config.rpath: ./config.rpath: No such file or directory

went to stderr, not stdout. I have also enclosed configure.log as an
attachment.

The make fails at this point - note that most of the libraries are
missing for linking makeweights:

gcc  -g -O2   -o makeweights  makeweights.o i18n.o -Llib -levent -lreadline 
-ltermcap -lm 

makeweights.o: In function `main':
/usr/local/src/gnubg/makeweights.c(.text+0x26): undefined reference to 
`bindtextdomain'
/usr/local/src/gnubg/makeweights.c(.text+0x36): undefined reference to 
`textdomain'
/usr/local/src/gnubg/makeweights.c(.text+0x64): undefined reference to `gettext'
/usr/local/src/gnubg/makeweights.c(.text+0xa8): undefined reference to `gettext'
/usr/local/src/gnubg/makeweights.c(.text+0x149): undefined reference to 
`gettext'
gmake[2]: *** [makeweights] Error 1
gmake[2]: Leaving directory `/usr/local/src/gnubg'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/local/src/gnubg'
gmake: *** [all] Error 2

==================================================

Now about gcc 3.1:


On Mon 12 Aug 2002 (10:23 +0200), Øystein O Johansen wrote:
> 
> Hi,
> Here are some lines from my compilelog when using gcc-3.1.
> 
> 
> gcc -mms-bitfields -O2 -Wall -DHAVE_CONFIG_H -DLOCALEDIR
> =\"/mingw/lib/locale\" -I. -I./lib -I/mingw/include/glib-2.0/   -c -o
> export.o export.c
> export.c: In function `ExportGameEquityEvolution':
> export.c:248: warning: deprecated use of label at end of compound statement
> 
> What does this mean? This warning does not appear when compiling with
> 2.95.3.

Add a 'break;' after the 'default:' label and I'll bet it will be
quiet I feel this is a bogus warning.

 
> gcc -mms-bitfields -O2 -Wall -DHAVE_CONFIG_H -DLOCALEDIR
> =\"/mingw/lib/locale\" -I. -I./lib -I/mingw/include/glib-2.0/   -c -o
> getopt.o getopt.c
> getopt.c: In function `_getopt_internal':
> getopt.c:571: warning: implicit declaration of function `strcmp'
> getopt.c:647: warning: implicit declaration of function `strncmp'
> getopt.c:650: warning: implicit declaration of function `strlen'


Add the -v flag to the compile (or do a gcc -E to find out if string.h
is being included. There are a lot of conditionals in getopt.c which
may or may not prevent string.h being included. 

I  think it's only included if:

    VMS is #defined,
or
    __GNU__LIBRARY__ is not #defined - see the comments around line 190 of
    getopt.c 
 
> gcc -mms-bitfields -O2 -Wall -DHAVE_CONFIG_H -DLOCALEDIR
> =\"/mingw/lib/locale\" -I. -I./lib -I/mingw/include/glib-2.0/   -c -o sgf.o
> sgf.c
> sgf.c: In function `RestoreGS':
> sgf.c:291: warning: deprecated use of label at end of compound statement
> 
> What does this mean?

Same as above - add a break; and I'll bet it goes away.

> gcc -mms-bitfields -O2 -Wall -DHAVE_CONFIG_H -DLOCALEDIR
> =\"/mingw/lib/locale\" -I. -I./lib -I/mingw/include/glib-2.0/   -c -o
> text.o text.c
> text.c: In function `OutputRolloutContext':
> text.c:190: warning: too many arguments for format
> 
> And what does this mean?

    sprintf ( pc = strchr ( sz, 0 ),
target string ^^^^^

              prc->fCubeful ?
              _("Full cubeful rollout") :
              _("Full cubeless rollout"),
format        ^^^^^^^^^^^^^^^^^^^^^^^
 neither of which has any '%' indicators.

              prc->nTruncate );

so this parameter can never be used - there are too many arguments to
sprintf for the format(s) being used.


-- 
Jim Segrave           address@hidden

Attachment: make.out.gz
Description: application/gunzip

Attachment: config.log.gz
Description: application/gunzip


reply via email to

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