digego / extempore

A cyber-physical programming environment
1.41k stars 127 forks source link

build error on ubuntu 14.04 #290

Closed MInner closed 7 years ago

MInner commented 7 years ago

Hi, thank you for a great piece of software. I've been trying to build it on Ubuntu 14.04 following your docs and I keep getting

... a bunch of warnings here...
[ 91%] Building CXX object CMakeFiles/extempore.dir/src/EXTMonitor.cpp.o
[ 92%] Building CXX object CMakeFiles/extempore.dir/src/EXTMutex.cpp.o
[ 93%] Building CXX object CMakeFiles/extempore.dir/src/EXTThread.cpp.o
[ 94%] Building CXX object CMakeFiles/extempore.dir/src/OSC.cpp.o
[ 95%] Building CXX object CMakeFiles/extempore.dir/src/Scheme.cpp.o
[ 96%] Building CXX object CMakeFiles/extempore.dir/src/SchemeFFI.cpp.o
[ 96%] Building CXX object CMakeFiles/extempore.dir/src/SchemeProcess.cpp.o
[ 97%] Building CXX object CMakeFiles/extempore.dir/src/SchemeREPL.cpp.o
[ 98%] Building CXX object CMakeFiles/extempore.dir/src/TaskScheduler.cpp.o
[100%] Building CXX object CMakeFiles/extempore.dir/src/UNIV.cpp.o
Linking CXX executable extempore
/usr/bin/ld: cannot open output file extempore: Is a directory
collect2: error: ld returned 1 exit status
make[2]: *** [extempore] Error 1
make[1]: *** [CMakeFiles/extempore.dir/all] Error 2
make: *** [all] Error 2

that must be something very simple, but I'm just not very experienced with reading through makefiles :)

Thank you.

UPD:

now it is

CMakeFiles/extempore.dir/src/SchemeFFI.cpp.o: In function `std::insert_iterator<std::unordered_set<std::string, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> > > std::copy<std::regex_token_iterator<__gnu_cxx::__normal_iterator<char const*, std::string>, char, std::regex_traits<char> >, std::insert_iterator<std::unordered_set<std::string, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> > > >(std::regex_token_iterator<__gnu_cxx::__normal_iterator<char const*, std::string>, char, std::regex_traits<char> >, std::regex_token_iterator<__gnu_cxx::__normal_iterator<char const*, std::string>, char, std::regex_traits<char> >, std::insert_iterator<std::unordered_set<std::string, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> > >)':
SchemeFFI.cpp:(.text._ZSt4copyISt20regex_token_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEcSt12regex_traitsIcEESt15insert_iteratorISt13unordered_setISsSt4hashISsESt8equal_toISsESaISsEEEET0_T_SJ_SI_[_ZSt4copyISt20regex_token_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEcSt12regex_traitsIcEESt15insert_iteratorISt13unordered_setISsSt4hashISsESt8equal_toISsESaISsEEEET0_T_SJ_SI_]+0x216): undefined reference to `std::regex_token_iterator<__gnu_cxx::__normal_iterator<char const*, std::string>, char, std::regex_traits<char> >::operator++()'
SchemeFFI.cpp:(.text._ZSt4copyISt20regex_token_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEcSt12regex_traitsIcEESt15insert_iteratorISt13unordered_setISsSt4hashISsESt8equal_toISsESaISsEEEET0_T_SJ_SI_[_ZSt4copyISt20regex_token_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEcSt12regex_traitsIcEESt15insert_iteratorISt13unordered_setISsSt4hashISsESt8equal_toISsESaISsEEEET0_T_SJ_SI_]+0x223): undefined reference to `std::regex_token_iterator<__gnu_cxx::__normal_iterator<char const*, std::string>, char, std::regex_traits<char> >::operator!=(std::regex_token_iterator<__gnu_cxx::__normal_iterator<char const*, std::string>, char, std::regex_traits<char> > const&)'
SchemeFFI.cpp:(.text._ZSt4copyISt20regex_token_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEcSt12regex_traitsIcEESt15insert_iteratorISt13unordered_setISsSt4hashISsESt8equal_toISsESaISsEEEET0_T_SJ_SI_[_ZSt4copyISt20regex_token_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEcSt12regex_traitsIcEESt15insert_iteratorISt13unordered_setISsSt4hashISsESt8equal_toISsESaISsEEEET0_T_SJ_SI_]+0x233): undefined reference to `std::regex_token_iterator<__gnu_cxx::__normal_iterator<char const*, std::string>, char, std::regex_traits<char> >::operator*()'
collect2: error: ld returned 1 exit status
make[2]: *** [extempore] Error 1
make[1]: *** [CMakeFiles/extempore.dir/all] Error 2
make: *** [all] Error 2

$ gcc --version
gcc (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I think, I succeeded with gcc 4.9. Could you please add this requirement to the "Build from source" section of main github page? :) here's how to set up gcc 4.9 for ubuntu 14.04

benswift commented 7 years ago

Hey Ben, thanks for the feedback - I'll update the build instructions.

MInner commented 7 years ago

@benswift could you please also add a line about that or a link to a docs page here? https://github.com/digego/extempore#build-from-source

benswift commented 7 years ago

Sorry - I changed it in the readthedocs, but not in the README.md. It's done now.