After looking over NMRPipe, it would require a major
structural overhaul in order to pass all of its components
through shell wrappers to set DYLD_LIBRARY_PATH and
LD_LIBRARY_PATH. Fortunately, only a few components really
need those set. The attached changes to the NMRPipe install.com
script eliminates the issue by resetting the RPATHs and
eliminates the breakage NMRPipe causes to fink. I'm am
trying to get upstream to adopt this change to their
installer (although it will require Xcode to be installed).
               Jack
--- install.com.org     2009-11-11 12:17:48.000000000 -0500
+++ install.com 2009-11-11 12:59:53.000000000 -0500
@@ -516,11 +516,33 @@
    endif
 endif
 
+set binDir = nmrbin.$binType
+
+# fix RPATH settings for Darwin
+if ($binType == mac) then
+   if (-e /usr/bin/install_name_tool) then
+       set origLibDir = "/net/space/delaglio/local/mac/lib"
+       set origLibDir2 = "/usr/openwin/lib"
+       install_name_tool -change "$origLibDir/libtk8.4.dylib" 
"$baseDir/$binDir/lib/libtk8.4.dylib" $baseDir/$binDir/nmrWish
+       install_name_tool -change "$origLibDir/libtcl8.4.dylib" 
"$baseDir/$binDir/lib/libtcl8.4.dylib" $baseDir/$binDir/nmrWish
+       install_name_tool -change "$origLibDir2/libxview.dylib"  
"$baseDir/$binDir/lib/libxview.dylib" $baseDir/$binDir/nmrdraw.app
+       install_name_tool -change "$origLibDir2/libolgx.dylib" 
"$baseDir/$binDir/lib/libolgx.dylib" $baseDir/$binDir/nmrdraw.app
+       install_name_tool -change "$origLibDir2/libxview.dylib" 
"$baseDir/$binDir/lib/libxview.dylib" $baseDir/$binDir/xnotify.app
+       install_name_tool -change "$origLibDir2/libolgx.dylib" 
"$baseDir/$binDir/lib/libolgx.dylib" $baseDir/$binDir/xnotify.app
+       install_name_tool -id "$baseDir/$binDir/lib/libxview.dylib" 
$baseDir/$binDir/lib/libxview.dylib
+       install_name_tool -change "$origLibDir2/libolgx.dylib" 
"$baseDir/$binDir/lib/libolgx.dylib" $baseDir/$binDir/lib/libxview.dylib
+       install_name_tool -id "$baseDir/$binDir/lib/libolgx.dylib" 
$baseDir/$binDir/lib/libolgx.dylib
+       install_name_tool -change "$origLibDir2/libxview.dylib" 
"$baseDir/$binDir/lib/libxview.dylib" $baseDir/$binDir/lib/libolgx.dylib
+       install_name_tool -id "$baseDir/$binDir/lib/libtk8.4.dylib" 
$baseDir/$binDir/lib/libtk8.4.dylib
+       install_name_tool -id "$baseDir/$binDir/lib/libtcl8.4.dylib" 
$baseDir/$binDir/lib/libtcl8.4.dylib
+    else
+       echo "Darwin users must have Xcode installed..."
+   endif
+endif
+
 #
 # Check for nmrbin nmrtxt nmrtcl com:
 
-set binDir = nmrbin.$binType
-
 foreach i ($binDir nmrtxt nmrtcl com)
    if (!(-d $i)) then
       echo "Error: Failed to find software directory $i"
@@ -828,15 +850,17 @@
 endif
 
 if ($binType != hp) then
-   set val = "LD_LIBRARY_PATH $baseDir/$binDir/lib"
+   if ($binType != mac) then
+      set val = "LD_LIBRARY_PATH $baseDir/$binDir/lib"
 
-   echo "" >> $scriptName
-   echo "if ("'$?LD_LIBRARY_PATH'") then" >> $scriptName
-   echo "   setenv $val"':${LD_LIBRARY_PATH}'  >> $scriptName
-   echo "else" >> $scriptName
-   echo "   setenv $val" >> $scriptName
-   echo "endif" >> $scriptName
-   echo "" >> $scriptName
+      echo "" >> $scriptName
+      echo "if ("'$?LD_LIBRARY_PATH'") then" >> $scriptName
+      echo "   setenv $val"':${LD_LIBRARY_PATH}'  >> $scriptName
+      echo "else" >> $scriptName
+      echo "   setenv $val" >> $scriptName
+      echo "endif" >> $scriptName
+      echo "" >> $scriptName
+   endif
 else
    set val = "SHLIB_PATH $baseDir/$binDir/lib"
    echo "" >> $scriptName
@@ -848,17 +872,6 @@
    echo "" >> $scriptName
 endif
 
-if ($binType == mac) then
-   set val = "DYLD_LIBRARY_PATH"
-   echo "" >> $scriptName
-   echo "if ("'$?DYLD_LIBRARY_PATH'") then" >> $scriptName
-   echo "   setenv $val "'${DYLD_LIBRARY_PATH}:${LD_LIBRARY_PATH}' >> 
$scriptName
-   echo "else" >> $scriptName
-   echo "   setenv $val "'${LD_LIBRARY_PATH}' >> $scriptName
-   echo "endif" >> $scriptName
-   echo "" >> $scriptName
-endif
-
 echo "" >> $scriptName
 echo "if ("'!($?OPENWINHOME)'") then" >> $scriptName
 echo "   if (-d $baseDir/$binDir/openwin) then" >> $scriptName
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
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