Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 251112 - media-libs/freeimage has internal copies of many libraries
Summary: media-libs/freeimage has internal copies of many libraries
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on: 178110
Blocks: bundled-libs 269516
  Show dependency tree
 
Reported: 2008-12-16 10:43 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2009-11-05 01:56 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2008-12-16 10:43:35 UTC
flame@yamato Source % ls
CacheFile.h         FreeImage    FreeImageIO.h  FreeImageToolkit  LibMNG       LibPNG   Metadata  Plugin.h      ToneMapping.h  ZLib
DeprecationManager  FreeImage.h  FreeImageLib   LibJPEG           LibOpenJPEG  LibTIFF  OpenEXR   Quantizers.h  Utilities.h
Comment 1 Tristan Heaven (RETIRED) gentoo-dev 2009-03-23 16:33:49 UTC
I tried fixing this before but it didn't work very well (bug 178110).

It'd be great if you could look into it yourself and maybe write a book about it if you want.

Upstream devs need convincing too...

Thank ye :)
Comment 2 Asfand Yar Qazi 2009-05-12 04:40:58 UTC
This isn't a bug, it's a design decision by the freeimage people.  Close it :-)
Comment 3 Robert Buchholz (RETIRED) gentoo-dev 2009-05-12 08:21:24 UTC
(In reply to comment #2)
> This isn't a bug, it's a design decision by the freeimage people.

It is a bad design decision, therefore it is a bug for us. Freeimage upstream is unneccessarily increasing maintenance for themselves and us.
Comment 4 basic 2009-06-15 00:55:29 UTC
I've taken a look at freeimage (latest cvs) to try and see if it is possible to get it to use system libraries, the following is what I've found:

 - OpenEXR : It is possible to use system libs.

 - libmng : It is possible to use system libs. There's one instance where they use an internal struct instead of api function call (mng_data.bReading vs mng_status_reading), probably either for optimisation or else just old API.

 - libpng : It is be possible to use system libs. Need to define PNG_iTXt_SUPPORTED after including pngconf.h

 - libjpeg : It is possible to use system libs, but they still need the jpeg source code as they use functions from jpegtrans which are not in libjpeg (but in jpegtrans executable). This means that bugfixes to jpegtrans still won't automatically fix freeimage.

 - openjpeg : It is possible to use system libs. Though they seem to be using an unreleased SVN snapshot.

 - libtiff : They wrote their own wrapper functions to work with their I/O layer. This requires access to some internal structs which are not exposed though tiffio.h (need tiffiop.h). It does link with libtiff if their copy of libtiff is not compiled though. And they use a cvs snapshot one I think.

 - zlib: It should be possible to use system libs, though they use "OS_CODE" from zutils.h which is not exposed. Sould be possible to work around it.

to recap:
OpenEXR, libmng, libpng and zlib should be easy to fix.

not sure about libjpeg or libtiff.

from their changelog they seem to use a svn/cvs snapshots for openjpeg and libtiff, so not sure if they would be willing to support system libs for those.
Comment 5 Tristan Heaven (RETIRED) gentoo-dev 2009-11-05 01:56:13 UTC
removed media-libs/freeimage