Project

General

Profile

Bug #1959

SLF5 issues

Added by Robert Hatcher about 8 years ago. Updated about 8 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
10/04/2011
Due date:
% Done:

90%

Estimated time:
Duration:

Description

Anna Holin reports that there are some problems moving to SLF5 with older releases for two cases:

/minos/app/annah1/dogwood1daikon07_final
base release: S09-07-10-R2-00
test release pkgs: BeamMegaFit, Conventions, MCReweight, NugentInterface

/minos/app/annah1/Griffin_Production_v00 (used for official nue file production)
base release: R2.0.1
test release pkgs: Conventions, DataUtil, Mad MCCNNAnalysis, NueAna

An initial look at these seems to indicate two issues:
  • using the gcc 3.4.3 compiler w/ the native linker
  • problems with an installation of "boost"

History

#1 Updated by Robert Hatcher about 8 years ago

  • % Done changed from 10 to 20

Re: "boost"

on minos-slf4 one has /usr/include/boost/version.hpp ( 103200 == 1_32_0 )

minos-slf4$ rpm -a -q | grep boost
boost-devel-1.32.0-1.rhel4
boost-1.32.0-1.rhel4

minos27$ rpm -a -q | grep boost
boost-1.32.0-7.rhel4.x86_64
boost-devel-1.32.0-7.rhel4.x86_64

minos50$ rpm -a -q | grep boost # SLF5 node
<nada>

possible solution:
install boost in relevant externals v0x?? (INSTALLATION)
same version, vs. what RPM can supply on SLF5

/grid/fermiapp/minos/products/prd/MINOS_EXTERN/Linux2.4-GCC_3_4/v03
seems to have have boost-1_34_1 installed ... why isn't this good enough?

does a MINOS package using boost need -I added somewhere in GNUmakefile?
works on minos-slf4 due to system area?

#2 Updated by Robert Hatcher about 8 years ago

  • % Done changed from 20 to 30

Re: compiler/linker mismatch

errors look like:

<**building library**> libNeugenInterface
`.L1798' referenced in section `.rodata' of 
$testrel/tmp/Linux2.6-GCC_3_4/NeugenInterface/libNeugenInterface-shared/NeugenInterfaceCint.o: 
defined in discarded section `.gnu.linkonce.t._ZN10init_state9as_stringE15init_state_enum' of 
$testrel/tmp/Linux2.6-GCC_3_4/NeugenInterface/libNeugenInterface-shared/NeugenInterfaceCint.o

Numerous changes were made to CVS circa 2011-03-23 w/ log messages of the form:

Changes for gcc 3.4.3 used w/ ld 2.17 (vs 2.14) as found on SLF5.
For this combination large-ish switch statements in inline methods
(usually involving character constants) cause errors of the form:
  referenced in section `.rodata' myfile.o defined in discarded section
during library linking stage.  Moving these methods to the implementation
side (i.e. non-inline) resolves the issue; any degradation due to
the loss of inlining should be very minimal.

#3 Updated by Robert Hatcher about 8 years ago

Re: dogwood1daikon07_final

  setup_minos -r S09-07-10-R2-00
  cd /path/to/test/release/dogwood1daikon07_final
  srt_setup -a

fix "boost" issue by:

   cd $SRT_PRIVATE_CONTEXT/BeamMegaFit
   cvs update -dPA GNUmakefile

this picks up "boost" installed in $INSTALLATION (MINOS_EXTERN v03) for include + lib

fix "compiler/linker" issue by:

   cd $SRT_PRIVATE_CONTEXT/NeugenInterface
   cvs update -dPA init_state.h init_state.cxx

will move the offending switch statement from the .h to the .cxx with no other changes. There are a number of other changes to this package that should probably be taken (and probably don't change behaviour) in: GNUmakefile LinkDef.h deduce_fate.F inuke_reweight.F neugen_config.h neugen_wrapper.h neugen_wrapper.cxx. Users should review these changes in consultation with experts.

With these

  cd $SRT_PRIVATE_CONTEXT
  gmake

builds without errors (though a few minimal warnings). As a reminder, users should ignore all messages of the form:
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib64/libc.a when searching for -lc

#4 Updated by Robert Hatcher about 8 years ago

Re: Griffin_Production_v00

  setup_minos -r R2.0.1
  cd /path/to/test/release/Griffin_Production_v00
  srt_setup -a

all the problems are of the compiler/linker mismatch issue and can be resolved using the prescription:

   cd $SRT_PRIVATE_CONTEXT

   addpkg CandSubShowerSR
   cd $SRT_PRIVATE_CONTEXT/CandSubShowerSR
   cvs update -dPA ClusterType.h ClusterType.cxx

   cd $SRT_PRIVATE_CONTEXT/NueAna/Reweight
   cvs update -dPA NueRW.h NueRW.cxx

One needs to add the CandSubShowerSR package in order to pick up the change to ClusterType used by CVS HEAD.

#5 Updated by Robert Hatcher about 8 years ago

  • % Done changed from 30 to 90

The above fixes should be sufficient to get these releases working again under SLF5. If Anna could try them out and sign off then we can close out this report.



Also available in: Atom PDF