zoglauer / megalib

MEGAlib - the Medium-Energy Gamma-ray Astronomy library
http://megalibtoolkit.com
Other
42 stars 34 forks source link

Error Compiling Root for MEGAlib #31

Closed ArtistMonkey83 closed 6 years ago

ArtistMonkey83 commented 6 years ago

Hello,

I'm new to coding and trying to install MEGAlib and I have run into issues with ROOT setup. I've been using information online to debug errors but I cannot find informations to help solve this particular error. The bash terminal on my Mac is returning this error message:

10 errors generated. make[2]: ** [core/textinput/CMakeFiles/TextInput.dir/src/Getline_color.cxx.o] Error 1 make[1]: [core/textinput/CMakeFiles/TextInput.dir/all] Error 2 1 warning generated. [ 6%] Linking CXX static library ../../libLLVMBitWriter.a [ 6%] Built target LLVMBitWriter [ 6%] Generating ../../lib/libpcre.a /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/lib/libpcre.a(libpcre_la-pcre_string_utils.o) has no symbols [ 6%] Built target PCRE make: *** [all] Error 2 ERROR: Something went wrong while compiling ROOT!

ERROR: Something went wrong during the ROOT setup.**

Any advice or assistance is greatly appreciated. Thanks.

zoglauer commented 6 years ago

I need a few more lines, the real error messages appeared before what you have posted.

ArtistMonkey83 commented 6 years ago

Absolutely, this came prior to the part I sent you.

[ 6%] Building CXX object core/textinput/CMakeFiles/TextInput.dir/src/Getline_color.cxx.o 10 errors generated. make[2]: [core/textinput/CMakeFiles/TextInput.dir/src/Getline.cxx.o] Error 1 make[2]: Waiting for unfinished jobs.... In file included from /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-source/core/textinput/src/Getline_color.cxx:17: In file included from /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/TClass.h:25: In file included from /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/TDictionary.h:45: In file included from /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/TNamed.h:29: In file included from /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/TString.h:41: /Users/Yolanda/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/RStringView.h:35:12: error: unknown type name 'basic_string_view' typedef basic_string_view string_view; ^ /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/RStringView.h:35:29: error: expected unqualified-id typedef basic_string_view string_view; ^ /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/RStringView.h:36:12: error: unknown type name 'basic_string_view' typedef basic_string_view u16string_view; ^ /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/RStringView.h:36:29: error: expected unqualified-id typedef basic_string_view u16string_view; ^ /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/RStringView.h:37:12: error: unknown type name 'basic_string_view' typedef basic_string_view u32string_view; ^ /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/RStringView.h:37:29: error: expected unqualified-id typedef basic_string_view u32string_view; ^ /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/RStringView.h:38:12: error: unknown type name 'basic_string_view' typedef basic_string_view wstring_view; ^ /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/RStringView.h:38:29: error: expected unqualified-id typedef basic_string_view wstring_view; ^ /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/RStringView.h:50:28: error: no member named 'to_string' in 'std::1::basic_string_view<char, std::1::char_traits >' return std::stod(str.to_string(),pos);


In file included from /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-source/core/textinput/src/Getline_color.cxx:17:
In file included from /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/TClass.h:25:
In file included from /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/TDictionary.h:45:
In file included from /Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/TNamed.h:29:
/Users/'User Name'/MEGAlib/external/root_v6.06.08/root_v6.06.08-build/include/TString.h:117:75: error: 
      no member named 'to_string' in 'std::__1::basic_string_view<char,
      std::__1::char_traits<char> >'
   operator std::string() const { return std::string_view(Data(),fExtent).to_string(); }
                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
zoglauer commented 6 years ago

Ok. After a bit of googling: This is a problem between ROOT and the latest Xcode 9.

Could you switch to the master branch and check if it appears there too?

Try: bash setup.sh --rel=dev

zoglauer commented 6 years ago

Did this solve the problem?

ArtistMonkey83 commented 6 years ago

Thank you for the advice. I'm not too familiar with branches but I did try 'bash setup..sh --rel-dev' which did not return an error for ROOT. This is what I got back:

**Getting ROOT... Looking for ROOT version 6.10 with latest patch on the ROOT website --- sometimes this takes a few minutes... Trying to find root_v6.10.00.source.tar.gz... Trying to find root_v6.10.02.source.tar.gz... Trying to find root_v6.10.04.source.tar.gz... Trying to find root_v6.10.06.source.tar.gz... Trying to find root_v6.10.08.source.tar.gz... Trying to find root_v6.10.10.source.tar.gz... Using ROOT tar ball root_v6.10.08.source.tar.gz File is already present and has same size, thus no download required! Version of ROOT is: 6.10.08 Checking for old installation... Your already have a usable ROOT version installed! Storing the ROOT directory in the MEGAlib source script...

SUCCESS: We have a usable ROOT version!**

When Geant4 tried to set up, though, I got this:

**-- Configuring incomplete, errors occurred! See also "/Users/'User Name/MEGAlib/external/geant4_v10.02.p03/geant4_v10.02.p03-build/CMakeFiles/CMakeOutput.log". ERROR: Something went wrong configuring (cmake'ing) Geant4!

ERROR: Something went wrong during the Geant4 setup.**

But I figured that part is not installed so I didn't think it would work.

ArtistMonkey83 commented 6 years ago

Hi Zoglauer,

The code you sent did lead to a solution after I read through the return information carefully. There was feature missing from my computer that was stalling the setup of MEGAlib. I needed to download XQuartz because my Mac was recently updated to 10.13.1 - High Sierra and this version doesn't come with X11 as previous versions used to.

I now have MEGAlib installed and functional. Thank you very much for all your patience and assistance.

zoglauer commented 6 years ago

You are welcome!

jccurtis commented 6 years ago

@zoglauer, FYI to get around this on macOS 10.13.4 you need ROOT>6.10 (reference) which means you need to specifically build off of experimental since the max ROOT version in master is 6.06:

https://github.com/zoglauer/megalib/blob/master/config/AllowedROOTVersions.txt#L1

I made a PR for this change: #35

I also noticed that your master branch doesn't have some commits that I see on my fork's master branch:

https://github.com/jccurtis/megalib/commits/master

Did you roll back commits on master?

zoglauer commented 6 years ago

No, I did not roll back commits. They are still all on my laptop, but several are gone on github! I'll investigate...