2014-10-08 100 views
1

我想編譯g4py。我已經使用「的./configure」現在我試圖運行‘make’,但在編譯時有出現一些錯誤,這都與此類似第一種:g4py建築錯誤與TLS參考

Building a module G4event.so ... 
/usr/bin/ld: anEventAllocator: TLS reference in /home/marcin/geant4/geant4.10.0-install/lib64/libG4persistency.so mismatches non-TLS reference in pyG4Event.o 
/home/marcin/geant4/geant4.10.0-install/lib64/libG4persistency.so: error adding symbols: bad value 
collect2: error: ld returned 1 exit status 

不是之後「使安裝「我得到同樣的錯誤,之後,我不能導入g4py,因爲錯誤:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/marcin/geant4/geant4.10.0-install/g4py/lib/Geant4/__init__.py", line 17, in <module> 
    from G4intercoms import * 
ImportError: /home/marcin/geant4/geant4.10.0-install/g4py/lib/Geant4/G4intercoms.so: undefined symbol: G4cout 

有誰知道它是怎麼回事?

回答

1

確保鏈接到Geant 4.10的非多線程構建,因爲g4py還沒有多線程支持。您可以通過在使用cmake配置GEANT4安裝時指定-DGEANT4_BUILD_MULTITHREADED = OFF來構建非多線程版本。