Hi,

If you can't be bothered doing the compilation yourself, I see:

$ otool -L libdfftw.2.0.7.dylib
libdfftw.2.0.7.dylib:
        /sw/lib/libdfftw.2.dylib (compatibility version 3.0.0, current version 
3.7.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 125.2.11)
$

This is from the /sw/lib directory, and I haven't removed any shared
libraries from the list.

Regards,

Edward


On 13 April 2012 17:24, Alexander Hansen <alexanderk.han...@gmail.com> wrote:
> On 4/13/12 12:17 AM, Edward d'Auvergne wrote:
>>
>> 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.
>>
> Both sound like good ideas to me.
>
>>>>  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?
>>
> (gcc47 is in Fink already)
>
> For some packages, it is _mandatory_ that a particular choice of gcc4N be
> made.
>
> Example:
>
> $ otool -L /sw/lib/octave/3.6.1/liboctinterp.1.dylib
> /sw/lib/octave/3.6.1/liboctinterp.1.dylib:
>  ...
>    /sw/lib/gcc4.6/lib/libstdc++.6.dylib (compatibility version 7.0.0,
> current version 7.16.0)
> ...
>
> Octave explicitly links to a particular gcc4N, and so both a build
> dependency on gcc46-compiler and a dependency on gcc46-shlibs are specified.
>  Other packages do the same thing.
>
> In some cases a package doesn't _link_ to gcc4N at all, and so it is
> possible to specify a choice of gcc44, gcc45, gcc46, and gcc47.  fftw might
> be a case where we could do this--I'll take a look.
>
> If one doesn't specify a gcc4N in the .info file, then
>
>    1) there's no guarantee that it will even be installed at build time
>    2) there is also no guarantee that the package will even _find_ all of
> the appropriate files, because our gcc4N packages install their headers,
> libraries and some executables in private locations to ensure that packages
> are being built with Xcode's compilers unless we specifically ask them to
> use gcc4N.
>
>>> 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 ;)
>
>
> True :-)
>
>>
>> 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
>>
>
> --
> Alexander Hansen, Ph.D.
> Fink User Liaison
> http://finkakh.wordpress.com/2012/02/21/got-job/
>

------------------------------------------------------------------------------
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