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

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Thu Jun 10 2004 - 12:30:21 MEST


Hi Remi,

 thanks for pointing out these issues.

On Wed, 2004-06-09 at 23:36, Remi Mommsen wrote:
> 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.)
>
The problem is that Federico has us comment out the HEPEVT common in
Hepevt.h, which of course causes this problem when libEG is loaded
without pythia6 is loaded. Is there a better way and to have HEPEVT
still defined in Hepevt.h and have it still shared with Pythia?

> 
> 
> (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.
> 
Yes, lockf() is new in 10.3, and even there is does not work. :-(
> 
> (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
> 
Was not aware of the 10.2 incompatibility. Thanks.


Cheers, Fons.

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://www.rademakers.org/fons/      Fax:   +41 22 7679480



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