On Sep 20, 2010, at 5:12 PM, Benjamin Reed wrote:

> This is a common issue with cmake projects.  People write the cmake  
> bits on linux and don't realize they're missing settings for proper  
> ld initialization on other platforms.  :)
>
>
> You generally need something along the lines of this in  
> CMakeLists.txt:
>
> set (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name  
> (32/64)" )
> set (LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}"  
> CACHE STRING "Library directory name")
>
> set(CMAKE_INSTALL_RPATH_USE_LINK_PATH  TRUE)
> set(CMAKE_INSTALL_RPATH ${LIB_DESTINATION} )
>
> if(APPLE)
>   set(CMAKE_INSTALL_NAME_DIR ${LIB_DESTINATION})
> endif(APPLE)


Hello again

Following up on the cmake-related issue, I played with and applied the  
above patch with no success. The problem I figure is that the /sw/src/ 
fink.build/root-fluidsynth-shlibs-1.1.2-358 build directory is removed  
before libfluidsynth.1.dylib can be installed into it.


/bin/rm -rf /sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358
/bin/mkdir -p /sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358/sw
/bin/mkdir -p /sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358/DEBIAN
/usr/sbin/chown -R fink-bld:fink-bld /sw/src/fink.build/root- 
fluidsynth-shlibs-1.1.2-358
sudo -u fink-bld [ENV] sh -c/var/tmp/tmp.7.ofZsiN
/usr/bin/install -d -m 755 /sw/src/fink.build/root-fluidsynth- 
shlibs-1.1.2-358/sw/lib
/bin/mv /sw/src/fink.build/root-fluidsynth-1.1.2-358/sw/lib/*.*.dylib / 
sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358/sw/lib/
mv: rename /sw/src/fink.build/root-fluidsynth-1.1.2-358/sw/lib/ 
*.*.dylib to /sw/src/fink.build/root-fluidsynth-shlibs-1.1.2-358/sw/ 
lib/*.*.dylib: No such file or directory
### execution of /bin/mv failed, exit code 1
### execution of /var/tmp/tmp.7.ofZsiN failed, exit code 1
Removing runtime build-lock...
Removing build-lock package...
/sw/bin/dpkg-lockwait -r fink-buildlock-fluidsynth-1.1.2-358
(Reading database ... 165984 files and directories currently installed.)
Removing fink-buildlock-fluidsynth-1.1.2-358 ...
Failed: phase installing: fluidsynth-shlibs-1.1.2-358 failed

To recap the build and install scripts and the SplitOff field are:

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

SplitOff: <<
  Package: %N-shlibs
  Depends: readline5-shlibs (>= 5.0-1006), libsndfile1-shlibs (>=  
1.0.20-1), libflac8
  Files: lib/*.*.dylib
  Shlibs: %p/lib/libfluidsynth.1.dylib 1.0.0 %n (>= 1.1.1-280)
  DocFiles: COPYING README
<<


I tried changing the install script to "        make install DESTDIR=%p " but  
this did not make much of a difference.

If I am diagnosing the problem correctly as above, could there be a  
workaround ? (Alternatively, I could submit the working autotools  
scripts and get to know cmake better before trying again with the next  
version.)

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