[Debburn-devel] cdrkit-1.0 build error on Solaris 2.8

Brian Lindholm brian_lindholm at users.sourceforge.net
Thu Nov 30 23:51:19 CET 2006


Eduard Bloch wrote:
> #include <hallo.h>
> * Brian Lindholm [Wed, Nov 29 2006, 05:59:57PM]:
>   
>> Eduard,
>>
>>   I tried your snapshot tarball today, and it got much
>> further on Solaris 2.8 than cdrkit-1.0 did.  However, it
>> still died on cdda2wav with the following error:
>>
>> make -C build  Makefile
>> make -C build  all
>> make[1]: Entering directory `/tmp/lindhobe/cdrkit/build'
>> make[2]: Entering directory `/tmp/lindhobe/cdrkit/build'
>> [  2%] Built target paranoia
>> [  5%] Built target scg
>> [ 34%] Built target schily
>> [ 34%] Built target deflt
>> make[3]: Entering directory `/tmp/lindhobe/cdrkit/build'
>> Linking C executable cdda2wav
>> Undefined                       first referenced
>> symbol                             in file
>> gethostbyname                       CMakeFiles/cdda2wav.dir/toc.o  
>> (symbol belongs to implicit dependency /usr/lib/libnsl
>> ld: fatal: Symbol referencing errors. No output written to cdda2wav
>> collect2: ld returned 1 exit status
>> make[3]: *** [cdda2wav/cdda2wav] Error 1
>> make[3]: Leaving directory `/tmp/lindhobe/cdrkit/build'
>> make[2]: *** [cdda2wav/CMakeFiles/cdda2wav.dir/all] Error 2
>> make[2]: Leaving directory `/tmp/lindhobe/cdrkit/build'
>> make[1]: *** [all] Error 2
>> make[1]: Leaving directory `/tmp/lindhobe/cdrkit/build'
>> make: *** [all] Error 2
>>
>>   Perhaps a "-lnsl" is missing?  I'll poke further into it
>> tomorrow.
>>     
>
> Makes sense, though it was not needed on my test box. Please try the new
> snapshot in http://rootfs.net/misc/cdrkit.tgz .
>
> Eduard.
>
>   

Eduard,

It very nearly finished this time. However, it still died with the same
"gethostbyname" error, this time on icedax.

I ran a verbose build and discovered that "-lnls" was included in the link
command. This seems like the proper thing to do, but for reasons that I 
don't
understand, this doesn't work on Solaris 2.8. It seems to require "-lxnet"
instead. This is true for both "icedax" and "netscsid".

When I replaced "-lnls" with "-lxnet" in 
CMakeFiles/icedax.dir/build.make and
CMakeFiles/netscsid.dir/build.make, the build finished successfully.

In autoconfig-land, this would be fixed by adding something like
"AC_CHECK_LIB(xnet, gethostbyname)" to the configure.ac script. I have 
no idea
how to do this in cmake-land.

Brian


make -C build all
make[1]: Entering directory `/tmp/lindhobe/cdrkit/build'
make[2]: Entering directory `/tmp/lindhobe/cdrkit/build'
[ 14%] Built target unls
[ 17%] Built target usal
[ 42%] Built target rols
[ 43%] Built target deflt
[ 45%] Built target devdump
[ 49%] Built target hfs_iso
[ 63%] Built target genisoimage
[ 66%] Built target isodebug
[ 68%] Built target isodump
[ 71%] Built target isoinfo
[ 73%] Built target isovfy
[ 73%] Built target edc
[ 85%] Built target wodim
[ 87%] Built target paranoia
make[3]: Entering directory `/tmp/lindhobe/cdrkit/build'
Linking C executable icedax
Undefined first referenced
symbol in file
gethostbyname CMakeFiles/icedax.dir/toc.o (symbol belongs to implicit 
dependency /usr/lib/libnsl.so.1)
ld: fatal: Symbol referencing errors. No output written to icedax
collect2: ld returned 1 exit status
make[3]: *** [icedax/icedax] Error 1
make[3]: Leaving directory `/tmp/lindhobe/cdrkit/build'
make[2]: *** [icedax/CMakeFiles/icedax.dir/all] Error 2
make[2]: Leaving directory `/tmp/lindhobe/cdrkit/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/lindhobe/cdrkit/build'
make: *** [all] Error 2

Brian



More information about the Debburn-devel mailing list