differing scons behavior under tcsh vs. bash

Note added 10/17: could not reproduce, moving on.

bash:

g++ -pthread -shared build_hddm_mc_s/temp.linux-x86_64-2.7/pyhddm_mc_s.o build_hddm_mc_s/temp.linux-x86_64-2.7/u/group/halld/Software/builds/Linux_RHEL6-x86_64-gcc4.9.2/sim-recon/sim-recon-2.18.0/src/.Linux_RHEL6-x86_64-gcc4.9.2/libraries/HDDM/hddm_mc_s++.o -L/group/halld/Software/builds/Linux_RHEL6-x86_64-gcc4.9.2/sim-recon/sim-recon-2.18.0/Linux_RHEL6-x86_64-gcc4.9.2/lib -L. -lHDDM -lxstream -lbz2 -lz -lpython2.7 -o build_hddm_mc_s/lib.linux-x86_64-2.7/hddm_mc_s.so
/usr/bin/ld: cannot find -lpython2.7
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1
scons: *** [.Linux_RHEL6-x86_64-gcc4.9.2/libraries/HDDM/hddm_mc_s.so] Error 1
scons: building terminated because of errors.

tcsh

g++ -pthread -shared build_hddm_mc_s/temp.linux-x86_64-2.7/pyhddm_mc_s.o build_hddm_mc_s/temp.linux-x86_64-2.7/u/group/halld/Software/builds/Linux_RHEL6-x86_64-gcc4.9.2/sim-recon/sim-recon-2.18.0/src/.Linux_RHEL6-x86_64-gcc4.9.2/libraries/HDDM/hddm_mc_s++.o -L/group/halld/Software/builds/Linux_RHEL6-x86_64-gcc4.9.2/sim-recon/sim-recon-2.18.0/Linux_RHEL6-x86_64-gcc4.9.2/lib -L/u/group/halld/Software/builds/Linux_RHEL6-x86_64-gcc4.9.2/python/Python-2.7.13/lib -lHDDM -lxstream -lbz2 -lz -lpython2.7 -o build_hddm_mc_s/lib.linux-x86_64-2.7/hddm_mc_s.so

Advertisements

pull request problem

 

Notes on building GCC

444 20:05 tar zxvf gcc-5.4.0.tar.gz
446 20:05 mv build build4
447 20:05 mkdir build5
448 20:06 cd build5
450 20:06 ../gcc-5.4.0/configure –PREFIX=/home/marki/gcc5
451 20:06 ../gcc-5.4.0/configure –help
452 20:07 ../gcc-5.4.0/configure –prefix=/home/marki/gcc5
453 20:07 ../gcc-5.4.0/configure –prefix=/home/marki/gcc5 –disable-multilib
455 20:07 make
456 19:28 make install

———————————————————————-
Libraries have been installed in:
/home/marki/gcc5/lib/../lib64

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR’
flag during linking and do at least one of the following:
– add LIBDIR to the `LD_LIBRARY_PATH’ environment variable
during execution
– add LIBDIR to the `LD_RUN_PATH’ environment variable
during linking
– use the `-Wl,-rpath -Wl,LIBDIR’ linker flag
– have your system administrator add LIBDIR to `/etc/ld.so.conf’

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
———————————————————————-

Notes from Sean on Building HDGeant4

  • The hdgeant4 makefile automagically patches the geant4 libraries it needs, so no worries there,
  • By default the single-threaded build seems to work fine.
  • To get multithreading to work, I needed to
    • un-comment the following line in GNUmakefile
      • CPPFLAGS += -DG4MULTITHREADED
    • rename src/g4py.cc so it didn’t have a .cc extension and didn’t get compiled. This is better handled in the makefile, but I didn’t have time to untangle it all when I was doing these tests
    • run “make hdds cobrems fixes exe lib bin”, which is everything but the g4py option.

root6, ifarm, roofit, 6.06.04 issue

Cannot build 6.06.04 on the ifarm when roofit is turned on properly.

Here is the error:

cd "/u/group/halld/Software/builds/Linux_CentOS6-x86_64-gcc4.9.2/root/root-6.06.04^roofit/build_dir/tutorials" && "LD_LIBRARY_PATH=/u/group/halld/Software/builds/Linux_CentOS6-x86_64-gcc4.9.2/root/root-6.06.04^roofit/build_dir/lib:/apps/python/PRO/lib:/apps/gcc/4.9.2/lib64:/apps/gcc/4.9.2/lib" /u/group/halld/Software/builds/Linux_CentOS6-x86_64-gcc4.9.2/root/root-6.06.04^roofit/build_dir/bin/hsimple.exe
/bin/sh: LD_LIBRARY_PATH=/u/group/halld/Software/builds/Linux_CentOS6-x86_64-gcc4.9.2/root/root-6.06.04^roofit/build_dir/lib:/apps/python/PRO/lib:/apps/gcc/4.9.2/lib64:/apps/gcc/4.9.2/lib: No such file or directory
gmake[3]: *** [tutorials/hsimple.root] Error 127
gmake[3]: Leaving directory `/u/group/halld/Software/builds/Linux_CentOS6-x86_64-gcc4.9.2/root/root-6.06.04^roofit/build_dir'
gmake[2]: *** [CMakeFiles/hsimple.dir/all] Error 2
gmake[2]: Leaving directory `/u/group/halld/Software/builds/Linux_CentOS6-x86_64-gcc4.9.2/root/root-6.06.04^roofit/build_dir'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/u/group/halld/Software/builds/Linux_CentOS6-x86_64-gcc4.9.2/root/root-6.06.04^roofit/build_dir'
make: *** [root-6.06.04^roofit/.build_done] Error 2
  • missing a crucial “&&”
  • 6.06.08 builds without a problem
  • 6.06.06 works too

Build problem, conflict in bash between rcdb and rootcling

Error:

In file included from input_line_11:6:
In file included from /u/scratch/marki/launch_build/sim-recon-aa_test/src/programs/Analysis/hdview2/hdv_optionsframe.h:10:
In file included from /u/apps/gcc/4.9.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/iostream:39:
In file included from /u/apps/gcc/4.9.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/ostream:609:
/u/apps/gcc/4.9.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/bits/ostream.tcc:39:10: error: 
      'bits/cxxabi_forced.h' file not found with  include; use "quotes"
      instead
#include <bits/cxxabi_forced.h>
         ^

Only in bash.

unset CPLUS_INCLUDE_PATH

fixes it. Found the solution here.