[Rivet] rivet 2 on Mac OSX

Andy Buckley andy.buckley at cern.ch
Tue Jun 10 15:59:35 BST 2014


On 10/06/14 16:07, Hannes Jung wrote:
> Dear Andy
> 
> thanks for not giving up ...
> 
> my build dir is:
> ~/jung/cvs/rivet2/build> ls
> HepMC-2.06.09  README-hannes.bck  boost_1_55_0        
> boost_1_55_0.tar.gz.1  gsl-1.16         rivet-bootstrap-old
> README-hannes  YODA-1.1.0         boost_1_55_0.tar.gz  fastjet-3.0.6    
>      rivet-bootstrap  rivet-bootstrap.bck
> 
> so I do not yet have Rivet..... are you sure the problem comes from the
> rivet completion ?

Aha, I read more carefully: we have the same bug in YODA's
bin/Makefile.am, with the same suggested solution.

So make that change in YODA and run "autoreconf -i" in the YODA-1.1.0
dir; then go back to your build dir and run

wget http://www.hepforge.org/archive/rivet/Rivet-2.1.2.tar.gz -O - | tar xf

to get Rivet, and cd Rivet-2.1.2/bin and make the same change +
autoreconf there. Finally, run the bootstrap one last (?) time; it
should run the configure scripts again but not do any more downloading,
nor any building until it gets to Rivet.

I hope this will work, but it relies on your system autotools working.
If it doesn't succeed let me know.

Since there are no other fixes so far, no-one else has hit this issue,
and it doesn't change the behaviour of a successful build, I am tempted
to just "silently" remake the Rivet and YODA tarballs with this fix
included. A bit naughty, but it's not worth a full release and ~everyone
except Hannes will not notice at all! A more proper way is to make e.g.
Rivet-2.1.2.post1, cf. Python's version scheme
http://legacy.python.org/dev/peps/pep-0440/#post-releases ... but I find
it a bit ugly and confusing. Preferences, developers?

Andy


> On 10.06.2014, at 15:58, Andy Buckley <andy.buckley at cern.ch
> <mailto:andy.buckley at cern.ch>> wrote:
> 
>> Hi Hannes. In answer to the last question... yes, but we're now very
>> close! YODA and Rivet are fully building, including the Python modules
>> so it's really the very last install step where something has gone wrong.
>>
>> The issue now is a bug on our side, but a very minor and strange one
>> that I never heard of before. The installation of the bash_completion
>> script only happens if $prefix/etc/bash_completion.d exists, and I guess
>> that it has not existed for most Mac users so far. If it does exist then
>> in bin/Makefile.am we install it like this:
>>
>>  install --mode 644 rivet-completion $(bashcomp_dir)/; fi
>>
>> which works just fine on Linux. But on Macs the install command seems to
>> take different arguments (argh!), so the installation falls over with
>> the message that you got. I'm guessing here, but I think it will work
>> for you if you replace that line in Makefile.am with this:
>>
>>  $(install_sh_DATA) rivet-completion $(bashcomp_dir)/; fi
>>
>> Can you try this? Since the build has all completed, no need to re-run
>> the bootstrap script: just cd into the Rivet-2.1.2 build dir, make the
>> change, and call "make install". Cross fingers again ;-)
>>
>> Or you could delete your $prefix/etc/bash_completion.d directory, but
>> that has downsides... and I'd like to know if this works. If so, it'll
>> be fixed in the next release. Thanks for helping, and persevering...
>> really close to success now!
>>
>> Andy
>>
>>
>>
>>
>> On 10/06/14 15:42, Hannes Jung wrote:
>>> Dear Andy
>>>
>>> thanks a lot for the updates, now this works, but another error appears:
>>> .....
>>> running install_egg_info
>>> Removing build/yoda-1.1.0-py2.7.egg-info
>>> Writing build/yoda-1.1.0-py2.7.egg-info
>>> CC="clang" CXX="clang++" CXXFLAGS="-Wno-sign-compare
>>> -Wno-strict-prototypes" ARCHFLAGS=""  /usr/bin/python setup.py install
>>> --prefix=/Users/jung/software/rivet --force
>>> running install
>>> running build
>>> running build_py
>>> running build_ext
>>> running install_lib
>>> copying build/lib.macosx-10.9-intel-2.7/yoda/__init__.py ->
>>> /Users/jung/software/rivet/lib/python2.7/site-packages/yoda
>>> copying build/lib.macosx-10.9-intel-2.7/yoda/core.so ->
>>> /Users/jung/software/rivet/lib/python2.7/site-packages/yoda
>>> copying build/lib.macosx-10.9-intel-2.7/yoda/script_helpers.py ->
>>> /Users/jung/software/rivet/lib/python2.7/site-packages/yoda
>>> copying build/lib.macosx-10.9-intel-2.7/yoda/util.so ->
>>> /Users/jung/software/rivet/lib/python2.7/site-packages/yoda
>>> byte-compiling
>>> /Users/jung/software/rivet/lib/python2.7/site-packages/yoda/__init__.py
>>> to __init__.pyc
>>> byte-compiling
>>> /Users/jung/software/rivet/lib/python2.7/site-packages/yoda/script_helpers.py
>>> to script_helpers.pyc
>>> running install_egg_info
>>> Removing
>>> /Users/jung/software/rivet/lib/python2.7/site-packages/yoda-1.1.0-py2.7.egg-info
>>> Writing
>>> /Users/jung/software/rivet/lib/python2.7/site-packages/yoda-1.1.0-py2.7.egg-info
>>> make[3]: Nothing to be done for `install-data-am'.
>>> Making install in tests
>>> make[2]: Nothing to be done for `install-exec-am'.
>>> make[2]: Nothing to be done for `install-data-am'.
>>> Making install in bin
>>> .././install-sh -c -d '/Users/jung/software/rivet/bin'
>>> /usr/bin/install -c yoda-config yodacnv yodamerge yodadiff yodahist
>>> yoda2aida yoda2flat aida2yoda aida2flat flat2yoda
>>> '/Users/jung/software/rivet/bin'
>>> if [[ -d "/Users/jung/software/rivet/etc/bash_completion.d" && -w
>>> "/Users/jung/software/rivet/etc/bash_completion.d" ]]; then \
>>>      install --mode 644 yoda-completion
>>> /Users/jung/software/rivet/etc/bash_completion.d/; fi
>>> install: illegal option -- -
>>> usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
>>>               [-o owner] file1 file2
>>>       install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
>>>               [-o owner] file1 ... fileN directory
>>>       install -d [-v] [-g group] [-m mode] [-o owner] directory ...
>>> make[2]: *** [install-data-local] Error 64
>>> make[1]: *** [install-am] Error 2
>>> make: *** [install-recursive] Error 1
>>> ~/jung/cvs/rivet2/build>
>>>
>>>
>>> Hm.... is it only me, who has this enourmous problems with Rivet on a
>>> Mac ?
>>>
>>> Cheers
>>> Hannes
>>>
>>>
>>>
>>> On 10.06.2014, at 11:10, Andy Buckley <andy.buckley at cern.ch
>>> <mailto:andy.buckley at cern.ch>
>>> <mailto:andy.buckley at cern.ch>> wrote:
>>>
>>>> Hi Hannes,
>>>>
>>>> Looks like this is a FastJet bug in OS X Mavericks, which was fixed last
>>>> year. From http://fastjet.fr/all-releases.html:
>>>>
>>>> 29 October 2013: fastjet-3.0.6 (manual, doxygen, fjcore) is a minor
>>>> maintenance release. Main changes:
>>>> fixed compilation issues for two plugins using clang (clang-500.2.79,
>>>> Apple LLVM version 5.0 based on LLVM 3.3svn) under OS X 10.9 (Mavericks)
>>>>
>>>> We hadn't updated the fastjet version in our bootstrap script, because
>>>> until recently LCG had not installed releases later than 3.0.3, but I've
>>>> done it now. Re-download the bootstrap and try again... hopefully it'll
>>>> work this time.
>>>>
>>>> By the way, on Mavericks I think it is still necessary to set
>>>>
>>>> export CFLAGS=-Qunused-arguments
>>>> export CPPFLAGS=-Qunused-arguments
>>>>
>>>> before running the bootstrap script, due to an OS X clang/Python bug:
>>>> see http://stackoverflow.com/a/22322645/91808 if you want details.
>>>> Otherwise it will fail late in the build as it tries to build the Rivet
>>>> or YODA Python modules.
>>>>
>>>> Cheers,
>>>> Andy
>>>>
>>>>
>>>>
>>>> On 10/06/14 09:24, Hannes Jung wrote:
>>>>> Dear Riveters
>>>>>
>>>>> still having problems to get rivet 2 installed on Mac OSX Mavericks
>>>>>
>>>>> following the advice of Andy at our CMS meeting on Friday, I tried
>>>>> to compile everything using clang and clang++ with the command:
>>>>>
>>>>> INSTALL_PREFIX=$HOME/software/rivet CC=clang CXX=clang++ MAKE="make
>>>>> -j8"
>>>>> ./rivet-bootstrap
>>>>>
>>>>>
>>>>> but then I got an error on fastjet:
>>>>>
>>>>> libtool: compile:  clang++ -DHAVE_CONFIG_H -I.
>>>>> -I../../../include/fastjet -O3 -Wall -g -Woverloaded-virtual
>>>>> -DDROP_CGAL
>>>>> -I. -I./../../../include -MT libCDFcode_la-JetCluAlgorithm.lo -MD -MP
>>>>> -MF .deps/libCDFcode_la-JetCluAlgorithm.Tpo -c JetCluAlgorithm.cc
>>>>> <http://JetCluAlgorithm.cc>
>>>>> <http://JetCluAlgorithm.cc>
>>>>> <http://JetCluAlgorithm.cc>  -fno-common -DPIC -o
>>>>> .libs/libCDFcode_la-JetCluAlgorithm.o
>>>>> JetCluAlgorithm.cc <http://JetCluAlgorithm.cc>
>>>>> <http://JetCluAlgorithm.cc>
>>>>> <http://JetCluAlgorithm.cc>:81:16: error: use of
>>>>> undeclared identifier 'abs'; did you
>>>>>     mean 'fabs'?
>>>>>         int dIEta = abs(iEtaSeedTower - iEtaPreClusterTower);
>>>>>                     ^~~
>>>>>                     fabs
>>>>> /usr/include/math.h:431:15: note: 'fabs' declared here
>>>>> extern double fabs(double);
>>>>>             ^
>>>>> JetCluAlgorithm.cc <http://JetCluAlgorithm.cc>
>>>>> <http://JetCluAlgorithm.cc>
>>>>> <http://JetCluAlgorithm.cc>:82:16: error: use of
>>>>> undeclared identifier 'abs'; did you
>>>>>     mean 'fabs'?
>>>>>         int dIPhi = abs(iPhiSeedTower - iPhiPreClusterTower);
>>>>>                     ^~~
>>>>>                     fabs
>>>>> /usr/include/math.h:431:15: note: 'fabs' declared here
>>>>> extern double fabs(double);
>>>>>             ^
>>>>> 2 errors generated.
>>>>> make[3]: *** [libCDFcode_la-JetCluAlgorithm.lo] Error 1
>>>>>
>>>>>
>>>>> Any idea to solve this ?
>>>>> Is this just a Mac problem ?
>>>>>
>>>>> Thanks a lot
>>>>> Cheers
>>>>> Hannes
>>>>>
>>>>>
>>>>>
>>>>> ***********************************************************************
>>>>> Hannes Jung
>>>>> Email: Hannes.Jung at desy.de <mailto:Hannes.Jung at desy.de>
>>>>> <mailto:Hannes.Jung at desy.de>
>>>>> <mailto:Hannes.Jung at desy.de>
>>>>> mobile :+49 40 8998 93741
>>>>> http://www.desy.de/~jung                                  
>>>>> Tel: +49 (0) 40 8998 3741         
>>>>> Fax: +49 (0) 40 8994 3741
>>>>> DESY, CMS 01B/02.213
>>>>> Notkestr.85, 22603 Hamburg, FRG   
>>>>> ***********************************************************************
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Rivet mailing list
>>>>> Rivet at projects.hepforge.org <mailto:Rivet at projects.hepforge.org>
>>>>> <mailto:Rivet at projects.hepforge.org>
>>>>> https://www.hepforge.org/lists/listinfo/rivet
>>>>>
>>>>
>>>>
>>>> -- 
>>>> Dr Andy Buckley, Royal Society University Research Fellow
>>>> Particle Physics Expt Group, University of Glasgow / PH Dept, CERN
>>>
>>> ***********************************************************************
>>> Hannes Jung
>>> Email: Hannes.Jung at desy.de <mailto:Hannes.Jung at desy.de>
>>> <mailto:Hannes.Jung at desy.de>
>>> mobile :+49 40 8998 93741
>>> http://www.desy.de/~jung                                  
>>> Tel: +49 (0) 40 8998 3741         
>>> Fax: +49 (0) 40 8994 3741
>>> DESY, CMS 01B/02.213
>>> Notkestr.85, 22603 Hamburg, FRG   
>>> ***********************************************************************
>>>
>>>
>>>
>>>
>>
>>
>> -- 
>> Dr Andy Buckley, Royal Society University Research Fellow
>> Particle Physics Expt Group, University of Glasgow / PH Dept, CERN
> 
> ***********************************************************************
> Hannes Jung 
> Email: Hannes.Jung at desy.de <mailto:Hannes.Jung at desy.de> 
> mobile :+49 40 8998 93741
> http://www.desy.de/~jung                                  
> Tel: +49 (0) 40 8998 3741         
> Fax: +49 (0) 40 8994 3741
> DESY, CMS 01B/02.213
> Notkestr.85, 22603 Hamburg, FRG   
> ***********************************************************************
> 
> 
> 
> 


-- 
Dr Andy Buckley, Royal Society University Research Fellow
Particle Physics Expt Group, University of Glasgow / PH Dept, CERN


More information about the Rivet mailing list