After "--SAFE" upgrading libpng-1.2.1 (to r1) the above link is missing. I temporarily solved this by linking manually: ln -s /usr/lib/libpng.so.3 /usr/lib/libpng.so.2
We have them slotted now, so they should not be unmerge except when forcing. Just do: # emerge =libpng-1.0.12-r1 # emerge libpng and new stuff should use 1.2.1, while older will still have the correct library present.
The problem is, these two versions conflict with each other : example : abiword (see bug 1730) and bug 1760... I've emerged the latest ebuilds of these two versions, which didn't change anything... Deleting the old version and forcing, with the link ln -s /... the use of the new one is not a good solution... (windowmaker, compiled with the old version starts with this link for example, but can't display pngs on icons... I re-emerged it, and it now works fine with the new library, but some binaries can't be recompiled, for example opera depends on the old library...)
No, they arent conflicting if you emerge them in the correct order: first 1.0.x then 1.2.x then re-emerge the packages that have broken, they will now link to the new version of libpng. the update-libs and update-bins scripts should give a decent hint on this. Opera -should- work now, since it will be able to find the old libpng.so.2 intact, but using gcc3 there's some problems with opera and qt .... closed source software * dramatic and theatric sigh *
Are you sure there's no problem with having _both_ versions on the system. Can it cause problems with new builds? I understand that libpng-1.2.1 installs it's own png.h and pngconf.h. What if aplication tries to link with libpng.so.2 (like, for example, qtcups ). This application will be compiled with the header files fron libpng-1.2.1, but use the lib from 1.0.12. To me, this sounds like asking for troubles.
No, I'm not sure. This is the real problem behind this upgrade... new libpng headers are the same to the program, but not to the library, which causes a binary mismatch that makes things go whopp if a program is compiled with the old headers along with one thats compiled with the new headers.
I dont think I'll go and dig into this further.