On 27 Apr, Dmitry Yaitskov shouted:
->  Hi guys,
->  
->  I dunno about rpms, but those who compile their own probably know that 
->  there are some problems when linking with imlib, at least with 1.3 (I
->  don't remember about older versions)... the problem being that if you
->  link with imlib, you have to 'manually' add -ltiff -lgif etc. to the
->  command that links the final executable... because the shared imlib
->  library itself is linked *without* those other libraries that it
->  actually needs. That is, the command that creates the imlib so file
->  looks like this:

of course it doesn't.. because only linux supports libs linked to other
libs.. you have to link the APP (program) using imlib to libtiff,
libgif etc.

->  
->  gcc -shared -Wl,-soname -Wl,libImlib.so.1 -o .libs/libImlib.so.1.3.0
->              cache.lo colors.lo load.lo misc.lo rend.lo utils.lo save.lo
->  
->  whereas it should really look like:
->  
->  gcc -shared -Wl,-soname -Wl,libImlib.so.1 -o .libs/libImlib.so.1.3.0
->              cache.lo colors.lo load.lo misc.lo rend.lo utils.lo save.lo -lpng
->              -ljpeg -lgif -ltiff -lz -lm
->  
->  After wasting about 4 hours trying to figure out why the libs imlib
->  needs are not specified when it is linked I found out that the libtool
->  thing that is used to link imlib is broken when it comes to
->  inter-library dependencies. (Or at least I think that that's the
->  problem.) Here's a quote from libtool's own web page:

thew inter-lib dependanicies was disabled in libtool due to bugs in
libtool. This is old-hat :)

->  'Many people have been sending bug reports to me because libtool
->  doesn't do inter-library dependencies'
->  
->  Oops... so what I'm trying to say... it is all well and nice to
->  acknowledge the fact (that it is broken), but it still *is* broken. I
->  mean, the net result is that imlib is linked wrongly, and other things

no - imlib need not be linked at all.. the thing to do is make sure the
apps using imlib are linked correctly :)

->  break as a result. E.g. eplus's config also does not work - it fails
->  when it tries to test for imlib. Eterm does not break because it
->  specifies all those other libraries explicitly, but should it?
->  Etc... Is it such a good idea then to use libtool in a situation where
->  it does not really work?  Could possibly something else be used
->  instead? Does anybody know a solution to the problem? Or am I crazy
->  (see subj :) and just missing something that is obvious to everybody
->  else?
->  
->  BTW, if you do link imlib with a command like the one quoted above, e
->  links 'out of the box' - no need to mess around with Makefile.
->  

-- 
--------------- Codito, ergo sum - "I code, therefore I am" --------------------
[EMAIL PROTECTED]       /\___ /\ ___/||\___ ____/|/\___  [EMAIL PROTECTED]
Carsten Haitzler           | _ //__\\ __||_ __\\ ___|| _ /  Red Hat Advanced
218/21 Conner Drive        || // __ \\_ \ | |   \ _/_|| /   Development Labs
Chapel Hill NC 27514 USA   ||\\\/  \//__/ |_|   /___/||\\   919 547 0012 ext 282
+1 (919) 929 9443, 801 4392   For pure Enlightenmenthttp://www.rasterman.com/ 

-
To unsubscribe from this list send mail to: [EMAIL PROTECTED]
with the message contents: unsubscribe e-develop

Reply via email to