Olivier Boudeville | 29 Mar 2011 11:43
Picon

JPEG library selection bug

Hi,

I am using the Agar configure option --with-jpeg (based on latest Agar's 
SVN), pointing to a user-space libjpeg install. It seems appropriately 
managed (ex: agar-config --libs points to the right paths), until I run 
a Agar-using program which crashed, being unable to load a JPEG.

Despite specifying the right -L/-l pair at build time and using proper 
LD_LIBRARY_FLAGS at runtime, as shown with ldd that executable was 
linked to the system-level JPEG library, not the user-space one. If 
"hiding" the system-level JPEG libraries and rebuilding Agar, ldd tells 
the link was then made to the right user-level JPEG, and indeed the 
program worked.

Same thing with Agar tests, in 'demos' directory: no matter what I do 
(including with LD_LIBRARY_PATH; I suppose rpath is thus being used ; 
proper -L/-l are specified there as well), they will be linked to the 
wrong libjpeg, unless it is hidden before the build.

Curiously, the problem does not occur for SDL or Freetype.
By the way: agar-config --cflags does not mention the -I for any 
user-space JPEG apparently.

Thanks in advance for any hint,
Best regards,

Olivier Boudevillle.
Julien Nadeau | 29 Mar 2011 12:20
Favicon

Re: JPEG library selection bug


Hi Olivier,

Have you tried passing the prefix to your preferred libjpeg to
configure? For example:

	./configure --with-jpeg=/usr/local

It is probably best for `agar-config --cflags` not to output the "-I"
for libjpeg, because it is only used internally in gui/load_jpg.c,
and none of the Agar headers need to include <jpeglib.h>.

On Tue, Mar 29, 2011 at 11:43:45AM +0200, Olivier Boudeville wrote:
> Hi,
> 
> I am using the Agar configure option --with-jpeg (based on latest Agar's 
> SVN), pointing to a user-space libjpeg install. It seems appropriately 
> managed (ex: agar-config --libs points to the right paths), until I run 
> a Agar-using program which crashed, being unable to load a JPEG.
> 
> Despite specifying the right -L/-l pair at build time and using proper 
> LD_LIBRARY_FLAGS at runtime, as shown with ldd that executable was 
> linked to the system-level JPEG library, not the user-space one. If 
> "hiding" the system-level JPEG libraries and rebuilding Agar, ldd tells 
> the link was then made to the right user-level JPEG, and indeed the 
> program worked.
> 
> Same thing with Agar tests, in 'demos' directory: no matter what I do 
> (including with LD_LIBRARY_PATH; I suppose rpath is thus being used ; 
> proper -L/-l are specified there as well), they will be linked to the 
(Continue reading)


Gmane