Re: [Fink-devel] tk file dialogs broken?

2009-11-11 Thread Martin Costabel
Jack Howarth wrote:
[]
> ImportError: dlopen(/sw/lib/pymol-py25/modules/pymol/_cmd.so, 2): Symbol not 
> found: __cg_jpeg_CreateCompress
>   Referenced from: 
> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
>   Expected in: /sw/lib/libJPEG.dylib
> 
> I find this last error rather strange. 

It is a classical error that appears whenever DYLD_LIBRARY_PATH is set 
to /sw/lib and the ApplicationServices framework is invoked. Instead of 
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib,
 
the linker then loads /sw/lib/libJPEG.dylib (which doea not exist, but 
on a case-insensitive file system, /sw/lib/libjpeg.dylib will do) and 
finds to its surprise that it does not contain the right symbols.

If things are compiled correctly, DYLD_LIBRARY_PATH and LD_LIBRARY_PATH 
are *never* necessary.

-- 
Martin





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


Re: [Fink-devel] tk file dialogs broken?

2009-11-11 Thread Jack Howarth
   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.0 -0500
+++ install.com 2009-11-11 12:59:53.0 -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

Re: [Fink-devel] tk file dialogs broken?

2009-11-11 Thread Jack Howarth
   I puzzled this one out. The culprit is the setup script for
NMPPipe (http://spin.niddk.nih.gov/NMRPipe/) which executes...

if ($?LD_LIBRARY_PATH) then
   setenv LD_LIBRARY_PATH /usr/local/NMRPipe/nmrbin.mac/lib:${LD_LIBRARY_PATH}
else
   setenv LD_LIBRARY_PATH /usr/local/NMRPipe/nmrbin.mac/lib
endif

if ($?DYLD_LIBRARY_PATH) then
   setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:${LD_LIBRARY_PATH}
else
   setenv DYLD_LIBRARY_PATH ${LD_LIBRARY_PATH}
endif

Do we have a convention on how to fix this sort of problem?
I would assume that since /usr/local/NMRPipe/nmrbin.mac/lib
contains...

ibBLT24.a   libtcl8.4.dylib libxview.dylib  tcl.timestamp
libolgx.dylib   libtk8.4.dylib  savexv.timestamp

that their tcltk is older than the 8.4.19 in fink and their
binaries should tolerate the newer tcltk shared libraries.
So far adding...

if ($?LD_LIBRARY_PATH) then
   setenv LD_LIBRARY_PATH /sw/lib:$LD_LIBRARY_PATH
endif

if ($?DYLD_LIBRARY_PATH) then
  setenv DYLD_LIBRARY_PATH /sw/lib:${LD_LIBRARY_PATH}
endif

to .cshrc seems to solve the issue in sparky but seems to
break pymol...

Traceback (most recent call last):
  File "/sw/lib/pymol-py25/modules/pymol/__init__.py", line 184, in 
import pymol
  File "/sw/lib/pymol-py25/modules/pymol/__init__.py", line 472, in 
import _cmd
ImportError: dlopen(/sw/lib/pymol-py25/modules/pymol/_cmd.so, 2): Symbol not 
found: __cg_jpeg_CreateCompress
  Referenced from: 
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
  Expected in: /sw/lib/libJPEG.dylib

I find this last error rather strange. If I remove the proposed lines above 
that reset
LD_LIBRARY_PATH and DYLD_LIBRARY_PATH then execute...

cd /usr/local/NMRPipe/nmrbin.mac/lib
mv libtcl8.4.dylib libtcl8.4.dylib.off
mv libtk8.4.dylib libtk8.4.dylib.off

I find pymol runs fine with .cshrc setting...

LD_LIBRARY_PATH=/usr/local/NMRPipe/nmrbin.mac/lib
DYLD_LIBRARY_PATH=/usr/local/NMRPipe/nmrbin.mac/lib

however if I execute...

setenv LD_LIBRARY_PATH /sw/lib
setenv DYLD_LIBRARY_PATH /sw/lib

pymol fails as above. It seems really weird that LD_LIBRARY_PATH and 
DYLD_LIBRARY_PATH
can be set to a path outside of the fink lib directory and pymol runs fine but 
when
pointed to /sw/lib, pymol crashes. Does anyone understand this error?
 Jack


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


[Fink-devel] tk file dialogs broken?

2009-11-10 Thread Jack Howarth
   Is anyone else seeing this problem in current 
fink 10.5 unstable on powerpc-apple-darwin9.8.0?
I am finding that both pymol-py25 and sparky-py25
are both producing tk file dialogs which contain
no files or folders (for the open dialogs in both
programs). I don't believe this is a system
problem as the obsolete pymol-x11 binary from
pymol.org works fine. I have another dual G5
which hasn't been updated as recently which isn't
showing the problem. Both are running Xquartz 2.4.0.
The only other difference is that the problem machine
has Xcode 3.1.4 and the working machine has Xcode 3.1.3.
   Jack

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