fiedl / hole-ice-install

This repository provides reproducible install instructions for the hole-ice code and the icecube-simulation framework related to https://github.com/fiedl/hole-ice-study and https://github.com/fiedl/hole-ice-scripts.
0 stars 0 forks source link

Polyplopia: Undefined symbols for architecture x86_64 #4

Closed fiedl closed 5 years ago

fiedl commented 5 years ago

https://travis-ci.org/fiedl/hole-ice-install/builds/517778856

[ 77%] Linking CXX shared library ../lib/libpolyplopia.dylib
Undefined symbols for architecture x86_64:
  "MergeMCPEs(boost::shared_ptr<I3Map<OMKey, std::__1::vector<I3MCPE, std::__1::allocator<I3MCPE> > > >, boost::shared_ptr<I3Map<OMKey, std::__1::vector<I3MCPE, std::__1::allocator<I3MCPE> > > const>, float, boost::shared_ptr<I3Map<OMKey, std::__1::map<I3ParticleID, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >, std::__1::less<I3ParticleID>, std::__1::allocator<std::__1::pair<I3ParticleID const, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> > > > > > >, boost::shared_ptr<I3Map<OMKey, std::__1::map<I3ParticleID, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >, std::__1::less<I3ParticleID>, std::__1::allocator<std::__1::pair<I3ParticleID const, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> > > > > > const>)", referenced from:
      PolyplopiaUtils::MergeFrames(boost::shared_ptr<I3Frame>, boost::shared_ptr<I3Frame>, I3Map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, float) in PolyplopiaUtils.cxx.o
      PoissonPEMerger::DAQ(boost::shared_ptr<I3Frame>) in PoissonPEMerger.cxx.o
  "I3GeneratorService::I3GeneratorService(I3Context const&)", referenced from:
      CoincidentI3ReaderService::CoincidentI3ReaderService(I3Context const&) in CoincidentI3ReaderService.cxx.o
  "I3GeneratorService::I3GeneratorService()", referenced from:
      MuonGunBackgroundService::MuonGunBackgroundService(boost::shared_ptr<I3MuonGun::Generator>, boost::shared_ptr<I3RandomService>) in MuonGunBackgroundService.cxx.o
      CoincidentI3ReaderService::CoincidentI3ReaderService(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in CoincidentI3ReaderService.cxx.o
  "I3GeneratorService::~I3GeneratorService()", referenced from:
      MuonGunBackgroundService::MuonGunBackgroundService(boost::shared_ptr<I3MuonGun::Generator>, boost::shared_ptr<I3RandomService>) in MuonGunBackgroundService.cxx.o
      MuonGunBackgroundService::~MuonGunBackgroundService() in MuonGunBackgroundService.cxx.o
      CoincidentI3ReaderService::~CoincidentI3ReaderService() in CoincidentI3ReaderService.cxx.o
      CoincidentI3ReaderService::CoincidentI3ReaderService(I3Context const&) in CoincidentI3ReaderService.cxx.o
      CoincidentI3ReaderService::CoincidentI3ReaderService(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in CoincidentI3ReaderService.cxx.o
  "typeinfo for I3GeneratorService", referenced from:
      typeinfo for MuonGunBackgroundService in MuonGunBackgroundService.cxx.o
      typeinfo for CoincidentI3ReaderService in CoincidentI3ReaderService.cxx.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libpolyplopia.dylib] Error 1
make[1]: *** [polyplopia/CMakeFiles/polyplopia.dir/all] Error 2
fiedl commented 5 years ago

This issue does not occur on Vagrant (https://github.com/fiedl/hole-ice-install#automated-build-using-vagrant).

fiedl commented 5 years ago

This issue does not occur when both, polyplopia and PROPOSAL are compiled together. It also does not occur when excluding both, polyplopia and PROPOSAL.