On Sep 20, 2010, at 11:15 AM, Alexander Hansen wrote:

$ otool -L /sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358/sw/
lib/libfluidsynth.1.dylib
/sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358/sw/lib/
libfluidsynth.1.dylib:
        libfluidsynth.1.dylib (compatibility version 1.0.0, current version
1.4.0)

This would be your problem. The install_name as encoded in the library
doesn't have the full path, and therefore doesn't match your
(theoretically correct) Shlibs line.  The install_name should be
"/sw/lib/libfluidsynth.1.dylib"

<snip>
//
Fix the install_name which has been encoded in the library, and the
package should validate.


The packaging manual advises:

"When building shared libraries under major version N, it is important that the "install_name" of the library be%p/lib/libbar.N.dylib. (You can find the install_name by running otool -L on your library, or otool64 -L for 64-bit libraries on 10.4.) "

Using autotools, the package validates, builds and installs without error. If the build directories are kept, the install_name is

otool -L /sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358//sw/lib/ libfluidsynth.1.dylib /sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358//sw/lib/ libfluidsynth.1.dylib: /sw/lib/libfluidsynth.1.dylib (compatibility version 6.0.0, current version 6.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.5) /sw/lib/libreadline.5.dylib (compatibility version 5.0.0, current version 5.0.0) /sw/lib/ncurses/libncurses.5.dylib (compatibility version 5.0.0, current version 5.0.0) /sw/lib/libgthread-2.0.0.dylib (compatibility version 2201.0.0, current version 2201.4.0) /sw/lib/libglib-2.0.0.dylib (compatibility version 2201.0.0, current version 2201.4.0) /sw/lib/libintl.8.dylib (compatibility version 9.0.0, current version 9.2.0) /sw/lib/libsndfile.1.dylib (compatibility version 2.0.0, current version 2.20.0) /sw/lib/libdbus-1.3.dylib (compatibility version 8.0.0, current version 8.0.0) /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 49.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

When trying to build with the cmake build system, I get the previously mentioned install failure since the install_name changes

$ otool -L /sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358/sw/ lib/libfluidsynth.1.dylib /sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358/sw/lib/ libfluidsynth.1.dylib: libfluidsynth.1.dylib (compatibility version 1.0.0, current version 1.4.0) /sw/lib/libgthread-2.0.0.dylib (compatibility version 2201.0.0, current version 2201.4.0) /sw/lib/libglib-2.0.0.dylib (compatibility version 2201.0.0, current version 2201.4.0) /sw/lib/libintl.8.dylib (compatibility version 9.0.0, current version 9.2.0) /sw/lib/libsndfile.1.dylib (compatibility version 2.0.0, current version 2.20.0) /sw/lib/libdbus-1.3.dylib (compatibility version 8.0.0, current version 8.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.5) /usr/lib/libedit.2.dylib (compatibility version 2.0.0, current version 2.9.0) /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 49.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/ CoreServices (compatibility version 1.0.0, current version 32.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/ CoreFoundation (compatibility version 150.0.0, current version 476.19.0)

The CompileScript and InstallScript for cmake looks like this:

CompileScript: <<
 #!/bin/sh -ev
 /bin/mkdir build
 cd build
 %p/bin/cmake \
 -DCMAKE_INSTALL_PREFIX=%i \
 ..
<<
InstallScript: <<
 #!/bin/sh -ev
 cd build
 /usr/bin/make install
<<

Since we are in the process of migrating to cmake from autotools, i would like to rectify this error.

Any advice and suggestions would be appreciated.

Thanks in advance.
Ebrahim
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to