On 12 April 2012 19:34, Alexander Hansen <alexanderk.han...@gmail.com> wrote:
> On 4/12/12 8:24 AM, Edward d'Auvergne wrote:
>>
>> Hi,
>>
>> I am the lead developer of the project relax
>> (http://pdb.finkproject.org/pdb/package.php/relax-py27,
>> http://www.nmr-relax.com) and am having a problem installing the
>> xmgrace software (http://pdb.finkproject.org/pdb/package.php/grace).
>> The Xmgrace graphing software is used by relax to display certain
>> results.  The installation of relax pulled in gcc-4.6, as relax
>> requires wxPython, which requires wxGTK, etc.  The problem is that
>> xmgrace depends on fftw-shlibs which in turn depend on gcc-4.4!  So
>> this is an indirect dependency clash.  There is no need to install
>> gcc-4.4 on the system to compile fftw-shlibs when gcc-4.6 is present.
>> But installing gcc-4.4 removes openmpi-dev which is required by mpi4py
>> which itself is a relax dependency.  Why does fink not detect this and
>> use the perfectly working gcc-4.6?
>
> Because we don't work by detection.  We work by prescription because we want
> packages to build the same way for everybody regardless of what they have
> installed.

Should all the info files in the 10.4 tree then be updated to gcc-4.6
to avoid dependency tree clashes?  Anyway, if I have any other gcc
version problems, I'll just post here.


>>  Why does the fftw-shlibs info file
>>
>> (http://fink.cvs.sourceforge.net/fink/dists/10.4/stable/main/finkinfo/sci/fftw.info?view=markup)
>> say that gcc44 is a dependency and not just specify a generic gcc
>> version?
>
> Because that doesn't always work.  It is often the case that libraries built
> with gcc4N in turn link to libraries from the particular gcc4N with which
> they were built, so the general assumption people make when doing packages
> that use gcc4N is that they must carry a dependency on gcc4N-shlibs.  That
> appears not to be the case here, however.

So a fink installation tree with everything built using gcc-4.5 should
continue to be built against gcc-4.5 rather than the 4.4 or 4.6
specified in the info file of one of the packages on a remote branch
of the dependency tree.  Can the info file not have 'gcc4' or 'gcc4N'
rather than gcc46?  This would make it future proof once the new
gcc-4.7 is pulled into fink and a few info files are updated to this
version.  Is the gcc dependency needed at all in the info file?


> In any case, the -shlibs packages (containing the libraries) for gcc44 and
> gcc46 _don't_ clash.  When a package's dependency tree winds up bringing in
> multiple versions of the same library, this can indeed cause annoyances when
> building the package, such as having to restart the build procedure.
>  However, this typically doesn't lead to any runtime issues.

True, but as I have gcc46 built, I'm not waiting around for gcc44 and
its dependencies to compile ;)  Thank you for updating the info file.


> The real issue here is that fftw is unmaintained and it didn't get updated
> to use gcc46 instead of gcc44 for builds on OS 10.5 and OS 10.6.  I'm
> assuming you're on one of those, since you didn't say, and because fftw uses
> gcc46 on OS 10.7 because we banned having an earlier gcc4N there.  I have
> updated fftw for OS 10.5 and 10.6 to use gcc46.

I'll post here for any other 10.4 tree packages I find which seem to
need updating.  I am using a 10.6.8 system as I am providing compiled
software as a Mac application within a DMG file as 3-way universal
binaries (http://www.nmr-relax.com/download.html#Mac_OS_X), on top of
the fink relax packages
http://pdb.finkproject.org/pdb/package.php/relax-py27, and some users
are using ppc7400 systems and will be for the foreseeable future.  I
gave a slight hint to the system I am using with the info file link
into the 10.4 tree ;)

Cheers,

Edward


--
Edward d'Auvergne, PhD
lead developer of the projects relax, minfx, and bmrblib
http://www.nmr-relax.com
http://gna.org/projects/minfx
http://gna.org/projects/bmrblib

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to