[ROOT] 3 problems with 4.00/06 on Mac OS X

From: Remi Mommsen (remigius.mommsen@cern.ch)
Date: Thu Jun 10 2004 - 02:36:08 MEST


Hi,

I compiled the current root version 4.00/06(a) on Mac OS X. I 
encountered three problems.

(1) On Mac OS X 10.3.4 the dynamic library lookup produces errors on 
the first attempt. It succeeds on the 2nd attempt:

root [0] TDatabasePDG pdg
dlopen error: dlcompat: dyld: /sw/bin/root.exe Undefined symbols:
_hepevt_

Load Error: Failed to load Dynamic link library /sw/lib/root/libEG.so
Error in <TCint::AutoLoadCallback>: failure loading library libEG.so 
for class TDatabasePDG
*** Interpreter error recovered ***
root [1] TDatabasePDG pdg
root [2] TMCParticle  part
dlopen error: dlcompat: dyld: /sw/bin/root.exe Undefined symbols:
__ZN10TGenerator11ShowMembersER16TMemberInspectorPc
__ZN10TGenerator12ExecuteEventEiii
__ZN10TGenerator12SetViewRangeEffffff
__ZN10TGenerator13SetViewRadiusEf
__ZN10TGenerator19DistancetoPrimitiveEi
Load Error: Failed to load Dynamic link library 
/sw/lib/root/libEGPythia.so
Error in <TCint::AutoLoadCallback>: failure loading library 
libEGPythia.so for class TMCParticle
*** Interpreter error recovered ***
root [3] TMCParticle  part

(The libraries exist at the specified locations.)


(2) I tried to build root 4.00/06(a) also on Mac OS X 10.2.8, but it 
fails when trying to create the map file. It is reproducible on the 
command line:

$> bin/rlibmap -r etc/system.rootmap -l lib/libMatrix.dylib \
            -d  -c matrix/inc/LinkDef.h
rlibmap: error unlocking output file

Using '-o' instead of '-r' doesn't produce the error.


(3) A minor issue. The build/unix/makelib.sh produces errors on Mac OS 
X 10.2.8 because 'sw_vers' ignores the option '-productVersion'. Not 
much harm is done because all if statements which fail due the wrong 
formed conditional should fail anyhow. Here a patch which produces the 
correct result for both OS X version:

--- root/build/unix/makelib.sh  Fri Mar 26 07:35:42 2004
+++ root.new/build/unix/makelib.sh      Wed Jun  9 17:19:04 2004
@@ -75,7 +75,7 @@
      echo $LD $SOFLAGS$SONAME.$MAJOR.$MINOR $LDFLAGS -o 
$LIB.$MAJOR.$MINOR `lorder $OBJS | tsort -q` $EXTRA $EXPLLNKCORE
      $LD $SOFLAGS$SONAME.$MAJOR.$MINOR $LDFLAGS -o $LIB.$MAJOR.$MINOR 
`lorder $OBJS | tsort -q` $EXTRA $EXPLLNKCORE
  elif [ $PLATFORM = "macosx" ]; then
-   macosx_minor=`sw_vers -productVersion | cut -d'.' -f2`
+   macosx_minor=`sw_vers | sed -n 
's/ProductVersion:[[:blank:]]*[0-9]*.\([0-9]*\).[0-9]*/\1/p'`
     # Look for a fink installation
     FINKDIR=`which fink 2>&1 | sed -ne "s/\/bin\/fink//p"`
     if [ $macosx_minor -ge 3 ]; then


Cheers,
		Remi

---------------------------------------------------------------------
Failure is not an option.
It comes bundled with your Microsoft product.       (Ferenc Mantfeld)

*********************************************************************
Remigius K. Mommsen                 e-mail: mommsen@slac.stanford.edu
University of California, Irvine       URL:    http://cern.ch/mommsen
c/o SLAC                             voice:        ++1 (650) 926-3595
2575 Sand Hill Road #35                fax:        ++1 (650) 926-3882
Menlo Park, CA 94025, US              home:        ++1 (650) 233-9041
*********************************************************************



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET