Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
147 user(s) are online (103 user(s) are browsing Forums)

Members: 1
Guests: 146

imagodespira, more...

Support us!

Headlines

 
  Register To Post  

libpng : NetSurf 2.7 and ScummVM 1.3.0
Quite a regular
Quite a regular


See User information
latest ScummVM (1.3.0) requires at least libpng.so.14 but I only found version 15 and now Netsurf 2.7 is complaining about memory (Netsurf needs more memory. free some memory and try again) but I have 512Mb RAM !!
the exact output is
"libpng warning: Application built with libpng-1.2.44 but running with 1.5.2"

how can I fixed that since ScummVM porter (Raziel AFAIK) does not want to make static compile of ScummVM ?

thanks in advance for help

Go to top
Re: libpng : NetSurf 2.7 and ScummVM 1.3.0
Amigans Defender
Amigans Defender


See User information
NetSurf uses libpng 1.2 (libpng12.so), there is a newer version of that included with NetSurf due to a bug in the version included with OS4 (the tabs on Wikipedia show up a fetching shade of magenta).

HOWEVER, I've just noticed that the internal soname of my version is wrong (libpng.so instead of libpng12.so), so NetSurf will be trying to read libpng.so rather than libpng12.so.

This shouldn't be a problem, as libpng.so is soft-linked to libpng12.so by default - libcairo.so has the same issue and the same dependency.

Check your libpng.so is soft-linked to libpng12.so. If it isn't, run makelink and see if ScummVM starts complaining. If ScummVM is now complaining, run readelf -d or listdyndep over ScummVM and search for the libpng line. If it just says "libpng.so", that's the problem - it needs to be linked against a libpng with a correct soname.

I'll fix NetSurf/libpng12 now, but because of the libcairo dependency it still won't work unless libpng.so is soft-linked to libpng12.so.

Go to top
Re: libpng : NetSurf 2.7 and ScummVM 1.3.0
Just can't stay away
Just can't stay away


See User information
Worst case scenario, you can make a "SObjs" directory in the root directory of the program you are running, and put in the version of the .so the program needs.

This workaround probably won't work when/if the .so's are actually shared in the future. Currently if 2 programs use the same .so, then the .so is loaded twice into memory.

Solution? By the time this happens, if it happens, hopefully all of the shared libraries that come with AmigaOS will have version numbers in their filenames and the right sonames.

It should be fine for now to just stick the right version of libpng as libpng.so, and leave the others.

The version of libpng on OS4Depot has the right soname, so there won't be any conflicts with any programs that have been compiled against the library I released (as they'll not be looking for libpng.so but libpng.so.15).

If you can't obtain the right version of libpng, PM me and I can compile the one you're after, with whatever soname you want.

Check the OS4.1 installation CD (check both original and update 1). I think that has the libpng.so you're after.

Of course, that version is probably too old for NetSurf, so put NetSurf's version in a SObjs directory in the NetSurf program directory.


Edited by MickJT on 2011/6/12 21:58:11
Go to top
Re: libpng : NetSurf 2.7 and ScummVM 1.3.0
Amigans Defender
Amigans Defender


See User information
Quote:
Of course, that version is probably too old for NetSurf


The original one does work, but is buggy (visibly in the case of Wikipedia, plus the libpng website advises it has serious security vulnerabilities)

It turns out that the problem with my libpng12.so was caused by me copying the wrong file over after I had compiled it (libpng also compiles a legacy libpng.so with that as the soname, which I must have copied and renamed instead of the non-legacy one)

The correct version of libpng12.so is here:
http://homepage.ntlworld.com/cdyoung/tmp/libpng1.2.44.lha

Doesn't help NetSurf until it is recompiled (which I've done as I just fixed the bug with it outputting libpng errors to the console)

@Lio
If you want to try the recompiled version which looks for the correctly named SObj, send me a PM.

Go to top
Re: libpng : NetSurf 2.7 and ScummVM 1.3.0
Quite a regular
Quite a regular


See User information
thanks both for help.

I somehow managed to fix this but I am not sure how !!!

Initially when scummvm was complaining about wrong libpng, I copied libpng15.so.15 and made a sym link with libpng.so but it was still complaining so I rename libpng15.so.15 in libpng14.so.14 and made again a sym link and thats what brought this "not enough free RAM" error when netsurf !

Then I deleted libpng14.so.14 and all libpng were deleted so I copied over from a backup and it is working again !!

now I have :
libpng.so > SYS:sobjs/libpng12.so
libpng12.so > libpng15.so.15
libpng14.so.14
libpng15.so.15

And both scummvm and netsurf are working !

if I delete libpng15.so.15, libpng.so and libpng12.so are gone as well and scummvm is working but netsurf is complaining about missing libpng.so

if I delete libpng14.so.14, libpng.so and libpng12.so stay and scummvm is complaining about missing libpng14.so.14 but netsurf is working

crazy isnt it ?

BTW is there a way to know all sym link in the system ? I thought Ranger would help or makelink but nope...

Go to top
Re: libpng : NetSurf 2.7 and ScummVM 1.3.0
Amigans Defender
Amigans Defender


See User information
Quote:
libpng12.so > libpng15.so.15


I'm amazed that works.

The list command will show you where fs links point to. Dir can show you whether something is a link (as can WB).

Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project