Bug #23852

Problem with compiling dunetpc with larsoft v08_39_00 c7:debug

Added by Tingjun Yang 9 months ago. Updated 4 months ago.

Start date:
Due date:
% Done:


Estimated time:
Spent time:


We got the following error when compiling dunetpc with larsoft v08_39_00 c7:debug:

[1004/2192] Linking CXX executable dunetpc/bin/test_ExponentialChannelNoiseService
FAILED: dunetpc/bin/test_ExponentialChannelNoiseService 
: && /cvmfs/  -g -gdwarf-4 -O0 -std=c++98 -Werror -pedantic -Wno-unused-local-typedefs -std=c++17 -Wall -Werror=return-type  -rdynamic dunetpc/dune/DetSim/Service/test/CMakeFiles/test_ExponentialChannelNoiseService.dir/test_ExponentialChannelNoiseService.cxx.o  -o dunetpc/bin/test_ExponentialChannelNoiseService  -Wl,-rpath,/dune/app/users/tjyang/larsoft_mydev/build_slf7.x86_64/dunetpc/lib:/cvmfs/ dunetpc/lib/ dunetpc/lib/ /cvmfs/ dunetpc/lib/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ dunetpc/lib/ -lwda /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ /cvmfs/ && :
/cvmfs/ undefined reference to `rndm::SeedMasterHelper::EngineId::global'
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
[1021/2192] Building CXX object dunetpc/dune/HitAnalysis/CMakeFiles/SignalToNoise_module.dir/
ninja: build stopped: subcommand failed.

ERROR: Stage install / package failed.


#1 Updated by Thomas Junk 9 months ago

Maybe just adding noise but my build of dunetpc stopped at a different place:

[ 55%] Linking CXX executable ../../bin/test_LArSeedService
/cvmfs/ undefined reference to `rndm::SeedMasterHelper::EngineId::global'
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [dunetpc/bin/test_LArSeedService] Error 1
make[1]: *** [dunetpc/test/ArtServices/CMakeFiles/test_LArSeedService.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

It links to this library which has similar-looking (sorry, mangled) names.  The Undefined name and the Weak name
appear to differ in mangle-added characters.

<> nm /cvmfs/ | grep -i seedmaster | grep -i global
                 U _ZN4rndm16SeedMasterHelper8EngineId6globalE
00000000000348c0 W _ZN4rndm16SeedMasterHelper8EngineIdC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS1_8Global_tE
0000000000039380 W _ZNK4rndm16SeedMasterHelper8EngineId8isGlobalEv

#2 Updated by Lynn Garren 9 months ago

We have confirmed that there is a problem with the c7 debug build of nurandom. Kyle is working on a fix to nurandom, but we do not anticipate making a new larsoft build and distribution until the regular release next week.

#3 Updated by Kyle Knoepfel 9 months ago

  • Assignee set to Kyle Knoepfel
  • Status changed from New to Assigned

The problem is understood. This appears to be a symptom of code that links against nurandom_RandomUtils_NuRandomService_service but does not actually include the "nurandom/RandomUtils/NuRandomUtils.h" header.

Although this type of problem should not occur and will be fixed, a short-term workaround may be to remove the nurandom_RandomUtils_NuRandomService_service library dependency from the location where the error occurs. Unfortunately, this may be difficult to do in cases where plugin/module globbing is done with the art_make CMake function.

#4 Updated by Kyle Knoepfel 9 months ago

  • % Done changed from 0 to 100
  • Status changed from Assigned to Resolved
  • Project changed from LArSoft to NuRandom
  • Experiment deleted (-)

Implemented with commit nurandom:3fa3fb8. New nurandom release forthcoming.

#5 Updated by Lynn Garren 4 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF