Amanda-Users

Re: compilation problems

2007-11-05 11:33:56
Subject: Re: compilation problems
From: "Dustin J. Mitchell" <dustin AT zmanda DOT com>
To: "Brian Cuttler" <brian AT wadsworth DOT org>
Date: Mon, 5 Nov 2007 10:22:04 -0600
I think we have a few diferent problems here, so I'd like to separate them out.

On 11/5/07, Brian Cuttler <brian AT wadsworth DOT org> wrote:
> I am selecting a solaris 10 platform for the build, this is the
> configure command as I will include the head of the config output
> to show that we have selected the gcc compiler.
<snip>
> vasnprintf.c: In function `vasnprintf':
> vasnprintf.c:759: warning: comparison between signed and unsigned
> vasnprintf.c:817: warning: comparison between signed and unsigned

OK, problem A: signed/unsigned comparison (sol10/gcc).  This
particular error is a bit of sloppiness on the part of the gnulib
authors, but not harmful.  IIRC, it's been fixed in updated versions
of the library, which will be in the next release.  If you see such
warnings *outside* of the gnulib directory, let me know.

> amandad.c: In function `main':
> amandad.c:240: warning: function declaration isn't a prototype

Problem B: function declaration isn't a prototype (sol10/gcc).  In the
tag directory for amanda-2.5.2p1, I see:

 239     /* Don't die when child closes pipe */
 240     signal(SIGPIPE, SIG_IGN);

Can you confirm that's the correct line?  If so, please attach the
output of the following, run from the 'amandad' directory, in a
private email to me:
  gcc -DHAVE_CONFIG_H -I. -I. -I../config -I../common-src
-I../common-src  -I../gnulib   -D_REENTRANT -Wall -W -Wparentheses
-Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
-Wformat -Wsign-compare -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-D_GNU_SOURCE -c amandad.c -E

> amandad.c: In function `s_ackwait':
> amandad.c:1077: warning: unknown conversion type character `t' in format
> amandad.c:1077: warning: format argument is not a pointer (arg 3)
> amandad.c:1077: warning: too many arguments for format

Problem C: typo in a format specifier for an error condition.  I'll
get this fixed up.

> gcc -Wall -W -Wparentheses -Wmissing-prototypes -Wstrict-prototypes 
> -Wmissing-declarations -Wformat -Wsign-compare -D_LARGEFILE_SOURCE 
> -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -o .libs/amandad amandad.o  
> ./.libs/libamandad.so ../common-src/.libs/libamanda.so 
> ../gnulib/.libs/libgnu.a -lgen -lm -lreadline -ltermcap -lresolv -lintl -lnsl 
> -lsocket -R/usr/local/lib
> Undefined                       first referenced
>  symbol                             in file
> version_info                        amandad.o
> ld: fatal: Symbol referencing errors. No output written to .libs/amandad

Problem D: no version_info (sol10/gcc).  I asked earlier to see if
version.c exists, and if so, what its contents are.

> I will attach the config.log, as it is long.

This was needed for Problem E -- configure fails (sol??/sun CC).  The
log you sent was for the sol10/gcc run, and completed successfully.
Can you specify the solaris version where configure fails with the sun
CC, and send me (privately; we don't need to clutter the list) the
config.log for it?

To summarize, then:
 A - false alarm
 B - need to check that line, provide -E (precompiler) output
 C - real but fairly harmless bug
 D - need more info (version.c)
 E - need more info (config.log)

Thanks for the help!  We're building the latest source on Solaris 8
and 10 without any trouble, so I'm sure we can work through any
lingering problems with 2.5.2p1.

Dustin

-- 
Storage Software Engineer
http://www.zmanda.com

<Prev in Thread] Current Thread [Next in Thread>