library versions

Takeshi Enomoto takeshi at macports.org
Wed May 19 01:32:03 PDT 2010


Hello,

I recently updated hdf4. During the update process I found that hdf4
is incompatible with jpeg 7 and higher.
I decided to compile libjpeg.a in pre-configure and keep it and
headers in ${prefix}/lib/hdf4.

I wonder if there are other ports affected especially in graphics.

Similar problems caused by the introduction of the new version repeatedly:
hdf5 and hdf5-18, netcdf and netcdf-devel.
It appears that science applications sometime do not get updated for a long time
and slow to keep up with the updates of libraries.
The user is instructed to install older (or appropriate) version of
some libraries.

Although there are limited number of ports affected
it requires cumbersome fixes to deceive the configure and Make
(and sometimes CMake) to use the right headers and libraries.
It is not difficult to remove -I${prefix}/include and -L${prefix}/lib from
configure.cppflags and configure.ldflags but configure finds and add them
when some other libraries are found in ${prefix}.
Thus it is difficult to control the order of -I or -L.

MacPorts seems to adopt the philosophy  ``the newer the better''.
Sometimes the new one might have a bug or incompatible changes.

Aren't there systematic solutions to this problem?

Fink limits the library versions but it causes conflicting packages.
They also split unstable and stable branches.
I don't these are elegant solutions.

Takeshi


More information about the macports-dev mailing list