|
From: | Antonio Diaz Diaz |
Subject: | Re: [Lzip-bug] solaris compile errors, lzip, and plzip: error: stdint.h: No such file or directory |
Date: | Thu, 31 Dec 2009 19:25:02 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.11) Gecko/20050905 |
rupert THURNER wrote:
You can replace "#include <stdint.h>" with "#include <inttypes.h>". Both headers are C99 provided as extensions in C++, but for some reason solaris only provides inttypes.h.is there any chance this could go in the code so we do not have to patch it?
I'm afraid not. inttypes.h is larger than stdint.h, includes stdint.h and is just as non-standard C++ as stdint.h. Making this change will surely break compilation on some other system.
The remaining errors are caused by lzlib not being installed in your system.after patching the include files, linking fails with: c++ -shared -Wl,--soname=liblz.so.0 -o liblz.so.0.8-rc1 sh_decoder.o sh_encoder.o sh_lzlib.o /usr/ccs/bin/ld: illegal option -- - ld: warning: option -o appears more than once, first setting taken usage: ld [-6:abc:d:e:f:h:il:mo:p:rstu:z:B:CD:F:GI:L:M:N:P:Q:R:S:VY:?] file(s)
As lacos has already pointed out, this is because you don't use the GNU linker but the platform linker, and the platform linker chokes on "--soname=liblz.so.0". Just try "configure --disable-shared".
BTW, I am thinking about disabling the build of shared libraries by default.One more thing. Plzip 0.1 only works with lzlib 0.7. The next version of plzip (0.2) will only work with lzlib 0.8-rc2 or newer.
Regards, Antonio.
[Prev in Thread] | Current Thread | [Next in Thread] |