Amanda-Users

RE: can't make on Solaris 10: Failed make install!

2008-01-09 11:48:10
Subject: RE: can't make on Solaris 10: Failed make install!
From: "Byarlay, Wayne A." <wab AT purdue DOT edu>
To: <amanda-users AT amanda DOT org>
Date: Wed, 9 Jan 2008 11:40:06 -0500
Starting from scratch now, yields the following similar but different
all-recursive error. I got rid of my old Amanda-2.5.2p1 directory and
did a fresh tar -xvf and then a fresh ./configure. My path is:

-bash-3.00# echo $PATH
/usr/bin:/usr/local/bin:usr/sfw/bin:/usr/ccs/bin

I see two gmakes on my machine:

-bash-3.00# ls -hal /usr/sfw/bin/gmake
-r-xr-xr-x   1 root     bin         150K Jan 22  2005 /usr/sfw/bin/gmake
-bash-3.00# ls -hal /opt/sfw/bin/gmake
-r-xr-xr-x   1 root     bin         150K Jan  5  2005 /opt/sfw/bin/gmake

I use the slightly more recent one in sfw, I assume.

And although /usr/sfw/bin is in my $PATH, I cannot just "gmake". I have
to type "/usr/sfw/bin/gmake". Is this a problem? Doing so, yields the
following similar, but different, all-recursive error.

This error also occurred after I tried a /usr/sfw/bin/make distclean and
re-run ./configure, as per Paul's question.

******************************************************************
-bash-3.00# /usr/sfw/bin/gmake
Making all in gnulib
gmake[1]: Entering directory `/amanda/amanda-2.5.2p1/gnulib'
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./alloca_.h; \
} > alloca.h-t
mv -f alloca.h-t alloca.h
rm -f string.h-t string.h
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''ABSOLUTE_STRING_H''@|"///usr/include/string.h"|g' \
      -e 's|@''HAVE_DECL_MEMMEM''@|1|g' \
      -e 's|@''HAVE_MEMPCPY''@|1|g' \
      -e 's|@''HAVE_DECL_MEMRCHR''@|1|g' \
      -e 's|@''HAVE_STPCPY''@|1|g' \
      -e 's|@''HAVE_STPNCPY''@|1|g' \
      -e 's|@''HAVE_DECL_STRNCASECMP''@|1|g' \
      -e 's|@''HAVE_STRCHRNUL''@|1|g' \
      -e 's|@''HAVE_DECL_STRDUP''@|1|g' \
      -e 's|@''HAVE_STRNDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNLEN''@|1|g' \
      -e 's|@''HAVE_STRPBRK''@|1|g' \
      -e 's|@''HAVE_STRSEP''@|1|g' \
      -e 's|@''HAVE_DECL_STRTOK_R''@|1|g' \
      -e 's|@''REPLACE_STRCASECMP''@|0|g' \
      -e 's|@''REPLACE_STRSTR''@|0|g' \
      -e 's|@''REPLACE_STRCASESTR''@|0|g' \
      < ./string_.h; \
} > string.h-t
mv string.h-t string.h
/usr/sfw/bin/gmake  all-am
gmake[2]: Entering directory `/amanda/amanda-2.5.2p1/gnulib'
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../config   -D_REENTRANT     -Wall -W -Wparentheses
-Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat
-Wsign-compare -Wfloat-equal -Wno-error -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE      -MT lock.lo -MD -MP -MF
".deps/lock.Tpo" -c -o lock.lo lock.c; \
then mv -f ".deps/lock.Tpo" ".deps/lock.Plo"; else rm -f
".deps/lock.Tpo"; exit 1; fi
mkdir .libs
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT lock.lo -MD
-MP -MF .deps/lock.Tpo -c lock.c  -fPIC -DPIC -o .libs/lock.o
lock.c:361: warning: missing braces around initializer
lock.c:361: warning: (near initialization for
`fresh_once.__pthread_once_pad')
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT lock.lo -MD
-MP -MF .deps/lock.Tpo -c lock.c -o lock.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../config   -D_REENTRANT     -Wall -W -Wparentheses
-Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat
-Wsign-compare -Wfloat-equal -Wno-error -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE      -MT asnprintf.lo -MD -MP -MF
".deps/asnprintf.Tpo" -c -o asnprintf.lo asnprintf.c; \
then mv -f ".deps/asnprintf.Tpo" ".deps/asnprintf.Plo"; else rm -f
".deps/asnprintf.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT
asnprintf.lo -MD -MP -MF .deps/asnprintf.Tpo -c asnprintf.c  -fPIC -DPIC
-o .libs/asnprintf.o
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT
asnprintf.lo -MD -MP -MF .deps/asnprintf.Tpo -c asnprintf.c -o
asnprintf.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../config   -D_REENTRANT     -Wall -W -Wparentheses
-Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat
-Wsign-compare -Wfloat-equal -Wno-error -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE      -MT printf-args.lo -MD -MP -MF
".deps/printf-args.Tpo" -c -o printf-args.lo printf-args.c; \
then mv -f ".deps/printf-args.Tpo" ".deps/printf-args.Plo"; else rm -f
".deps/printf-args.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT
printf-args.lo -MD -MP -MF .deps/printf-args.Tpo -c printf-args.c  -fPIC
-DPIC -o .libs/printf-args.o
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT
printf-args.lo -MD -MP -MF .deps/printf-args.Tpo -c printf-args.c -o
printf-args.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../config   -D_REENTRANT     -Wall -W -Wparentheses
-Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat
-Wsign-compare -Wfloat-equal -Wno-error -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE      -MT printf-parse.lo -MD -MP
-MF ".deps/printf-parse.Tpo" -c -o printf-parse.lo printf-parse.c; \
then mv -f ".deps/printf-parse.Tpo" ".deps/printf-parse.Plo"; else rm -f
".deps/printf-parse.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT
printf-parse.lo -MD -MP -MF .deps/printf-parse.Tpo -c printf-parse.c
-fPIC -DPIC -o .libs/printf-parse.o
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT
printf-parse.lo -MD -MP -MF .deps/printf-parse.Tpo -c printf-parse.c -o
printf-parse.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../config   -D_REENTRANT     -Wall -W -Wparentheses
-Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat
-Wsign-compare -Wfloat-equal -Wno-error -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE      -MT vasnprintf.lo -MD -MP -MF
".deps/vasnprintf.Tpo" -c -o vasnprintf.lo vasnprintf.c; \
then mv -f ".deps/vasnprintf.Tpo" ".deps/vasnprintf.Plo"; else rm -f
".deps/vasnprintf.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT
vasnprintf.lo -MD -MP -MF .deps/vasnprintf.Tpo -c vasnprintf.c  -fPIC
-DPIC -o .libs/vasnprintf.o
In file included from string.h:23,
                 from vasnprintf.c:39:
/usr/include/string.h:16: warning: ignoring #pragma ident 
vasnprintf.c: In function `vasnprintf':
vasnprintf.c:759: warning: comparison between signed and unsigned
vasnprintf.c:817: warning: comparison between signed and unsigned
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -D_REENTRANT -Wall -W
-Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal -Wno-error
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT
vasnprintf.lo -MD -MP -MF .deps/vasnprintf.Tpo -c vasnprintf.c -o
vasnprintf.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC --mode=link gcc -Wall -W -Wparentheses
-Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat
-Wsign-compare -Wfloat-equal -Wno-error -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE        -o libgnu.la   lock.lo
asnprintf.lo printf-args.lo printf-parse.lo vasnprintf.lo -lgen -lm
-ltermcap -lsocket -lnsl -lresolv -lintl      -lnsl -lsocket 
/usr/ccs/bin/ar cru .libs/libgnu.a .libs/lock.o .libs/asnprintf.o
.libs/printf-args.o .libs/printf-parse.o .libs/vasnprintf.o
ranlib .libs/libgnu.a
creating libgnu.la
(cd .libs && rm -f libgnu.la && ln -s ../libgnu.la libgnu.la)
gmake[2]: Leaving directory `/amanda/amanda-2.5.2p1/gnulib'
gmake[1]: Leaving directory `/amanda/amanda-2.5.2p1/gnulib'
Making all in config
gmake[1]: Entering directory `/amanda/amanda-2.5.2p1/config'
/usr/sfw/bin/gmake  all-am
gmake[2]: Entering directory `/amanda/amanda-2.5.2p1/config'
gmake[2]: Leaving directory `/amanda/amanda-2.5.2p1/config'
gmake[1]: Leaving directory `/amanda/amanda-2.5.2p1/config'
Making all in common-src
gmake[1]: Entering directory `/amanda/amanda-2.5.2p1/common-src'
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../config -I../gnulib     -D_REENTRANT     -Wall -W -Wparentheses
-Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wformat
-Wsign-compare -Wfloat-equal -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-D_GNU_SOURCE      -MT alloc.lo -MD -MP -MF ".deps/alloc.Tpo" -c -o
alloc.lo alloc.c; \
then mv -f ".deps/alloc.Tpo" ".deps/alloc.Plo"; else rm -f
".deps/alloc.Tpo"; exit 1; fi
mkdir .libs
 gcc -DHAVE_CONFIG_H -I. -I. -I../config -I../gnulib -D_REENTRANT -Wall
-W -Wparentheses -Wmissing-prototypes -Wstrict-prototypes
-Wmissing-declarations -Wformat -Wsign-compare -Wfloat-equal
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -MT alloc.lo
-MD -MP -MF .deps/alloc.Tpo -c alloc.c  -fPIC -DPIC -o .libs/alloc.o
In file included from ../gnulib/string.h:23,
                 from amanda.h:139,
                 from alloc.c:33:
/usr/include/string.h:16: warning: ignoring #pragma ident 
In file included from /usr/include/wait.h:14,
                 from amanda.h:197,
                 from alloc.c:33:
/usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:292: error: parse error before '}' token
/usr/include/sys/siginfo.h:294: error: parse error before '}' token
/usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:392: error: conflicting types for `__proc'
/usr/include/sys/siginfo.h:261: error: previous declaration of `__proc'
/usr/include/sys/siginfo.h:398: error: conflicting types for `__fault'
/usr/include/sys/siginfo.h:267: error: previous declaration of `__fault'
/usr/include/sys/siginfo.h:404: error: conflicting types for `__file'
/usr/include/sys/siginfo.h:273: error: previous declaration of `__file'
/usr/include/sys/siginfo.h:420: error: conflicting types for `__prof'
/usr/include/sys/siginfo.h:287: error: previous declaration of `__prof'
/usr/include/sys/siginfo.h:424: error: conflicting types for `__rctl'
/usr/include/sys/siginfo.h:291: error: previous declaration of `__rctl'
/usr/include/sys/siginfo.h:426: error: parse error before '}' token
/usr/include/sys/siginfo.h:428: error: parse error before '}' token
/usr/include/sys/siginfo.h:432: error: parse error before "k_siginfo_t"
/usr/include/sys/siginfo.h:437: error: parse error before '}' token
In file included from /usr/include/sys/procset.h:24,
                 from /usr/include/wait.h:15,
                 from amanda.h:197,
                 from alloc.c:33:
/usr/include/sys/signal.h:85: error: parse error before "siginfo_t"
In file included from /usr/include/wait.h:16,
                 from amanda.h:197,
                 from alloc.c:33:
/usr/include/sys/wait.h:86: error: parse error before "siginfo_t"
In file included from amanda.h:197,
                 from alloc.c:33:
/usr/include/wait.h:26: error: parse error before "siginfo_t"
In file included from amanda.h:257,
                 from alloc.c:33:
/usr/include/signal.h:111: error: parse error before "siginfo_t"
/usr/include/signal.h:113: error: parse error before "siginfo_t"
gmake[1]: *** [alloc.lo] Error 1
gmake[1]: Leaving directory `/amanda/amanda-2.5.2p1/common-src'
gmake: *** [all-recursive] Error 1

****************************************************************




-----Original Message-----
From: owner-amanda-users AT amanda DOT org
[mailto:owner-amanda-users AT amanda DOT org] On Behalf Of Peter Kunst
Sent: Wednesday, January 09, 2008 11:10 AM
To: amanda-users AT amanda DOT org
Subject: Re: can't make on Solaris 10: Failed make install!

On 01/09/08 16:58, Paul Bijnens wrote:
> On 2008-01-09 16:39, Byarlay, Wayne A. wrote:
>> Yes; in fact here's a tall screen grab of the tail end of the make 
>> install:
>>
>> [...]
>> ranlib /usr/local/lib/libamanda.a
>> ../libtool: line 6226: ranlib: command not found
>> *** Error code 127
> 
> The program ranlib makes an index of the archive to speed up the
> linking.  In modern compilers that is already done by the program
> while creating the archive.  So it does not exist anymore.
> 
> I remember from a long time ago (> 8 years?) that on some platforms
> for compiling open source I had to make a command "randlib" that
> effectivily did:
>     ar -s
> or, if that would not work, simply:
>     /bin/true

On Solaris, it's a good idea to include /usr/ccs/bin as last item into
PATH:

PATH=$PATH:/usr/ccs/bin

btw, ranlib still exists on Solaris10:

$ type ranlib
ranlib is /usr/ccs/bin/ranlib
$ uname -a
SunOS nort 5.10 Generic_120011-14 sun4u sparc SUNW,A70


> *But* how did you get there?  The "./Configure" program should have
> already found out about that.
> Did you do a "make distclean" andrun "./Configure" again, after you
> changed your path?  If not, you probably are still running with
> the (cached) configure results from the wrong compiler.


  Peter