On 1 September 2011 23:39, Ilya Chernykh
On Thursday 01 September 2011 13:57:22 Cristian Morales Vega wrote:
-ltransform-util -lz -ltransform -lqt-mt -lXext -lX11 -lm -lpthread /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: flagStonePort/transform-cxx-bsd/transform/libtransform.a(FSTransform.o): undefined reference to symbol 'uncompress'
And what you need to do is put "-lz" *after* "-ltransform".
Why? This looks very strange for me.
Because it's the documented behaviour. From man ld: "The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again." The code that uses uncompress() is in libtransform.a (specifically in FSTransform.o) and so libz must be later in the command line. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org