When I tried to compile sysinfo2 under ubuntu feisty, I got strange errors when linking:
Building target: sysinfo2
gcc -o bin/lnx/i686/sysinfo2 obj/lnx/i686/sysinfo.o obj/lnx/i686/pal.o obj/lnx/i686/log.o obj/lnx/i686/error.o obj/lnx/i686/list.o obj/lnx/i686/debug.o obj/lnx/i686/hostname.o obj/lnx/i686/cpu.o obj/lnx/i686/display.o obj/lnx/i686/environment.o obj/lnx/i686/memory.o obj/lnx/i686/network.o obj/lnx/i686/os.o obj/lnx/i686/software.o obj/lnx/i686/storage.o obj/lnx/i686/rpm.o obj/lnx/i686/pci.o -ldl -lpci
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `pci_load_name_list':
(.text+0x538): undefined reference to `gzopen'
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `pci_load_name_list':
(.text+0x5d1): undefined reference to `gzgets'
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L154':
(.text+0x6d6): undefined reference to `gzclose'
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L154':
(.text+0x6f8): undefined reference to `gzeof'
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L154':
(.text+0x795): undefined reference to `gzclose'
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L154':
(.text+0xbdb): undefined reference to `gzopen'
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L157':
(.text+0xd78): undefined reference to `gzerror'
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L157':
(.text+0xd9b): undefined reference to `gzclose'
collect2: ld returned 1 exit status
make[1]: *** [sysinfo2] Error 1
make[1]: Leaving directory `/root/inst/sysinfo2-2.0.0-beta1-src'
make: *** [lnx] Error 2
I fixed it by adding -lz to the linking parameters in Makefile.lnx:
longdong:~/inst/sysinfo2-2.0.0-beta1-src# grep LFLAG Makefile.lnx
LFLAGS = -pg -ldl -lpci -lz
LFLAGS = -ldl -lpci -lz
Greetings,
Stefan _at_ himpi ]dot[ ch