Page 1 of 1

Compile on Gnu/Linux

Posted: 25 Apr 2019, 12:25
by bci2020
Cannot compile. Issue found previously last ~1.5 years with other distros (although likely/maybe other root issues.). This is now a critical impediment to continuing research with BCI2000. Is there a tutorial on how to proceed?


OS:

Code: Select all

Ubuntu 18.04 LTS (4.15.0-47-generic)
GCC:

Code: Select all

gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
SVN says:

Code: Select all

...
Checked out external at revision 4230.

Checked out revision 5912.

Build command (from Make Unix Makefiles.sh):

Code: Select all

cmake -DCMAKE_BUILD_TYPE=RELEASE -DUSE_SSE2:BOOL=TRUE -DBUILD_CONTRIB:BOOL=TRUE -DBUILD_BCPY2000:BOOL=TRUE -DBUILD_TOOLS:BOOL=TRUE $* -G "Unix Makefiles"


cmake output (BCI2000 forum says it is too many characters so using pastebin):

Code: Select all

https://pastebin.com/F96VXZBM

Error:

Code: Select all

$ make 2>&1 | tee make_201904251157.log
Scanning dependencies of target BCI2000FrameworkCore
[  0%] Building CXX object frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/home/username/opt/bci2000/source/20190425/current/BCI2000/src/shared/utils/LogFile.cpp.o
[  0%] Building CXX object frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/home/username/opt/bci2000/source/20190425/current/BCI2000/src/shared/utils/RandomGenerator.cpp.o
[  0%] Building CXX object frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/home/username/opt/bci2000/source/20190425/current/BCI2000/src/shared/utils/ClassName.cpp.o
[  1%] Building CXX object frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/home/username/opt/bci2000/source/20190425/current/BCI2000/src/shared/utils/EventQueue.cpp.o
[  1%] Building CXX object frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/home/username/opt/bci2000/source/20190425/current/BCI2000/src/shared/utils/MeasurementUnits.cpp.o
[  1%] Building CXX object frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/home/username/opt/bci2000/source/20190425/current/BCI2000/src/shared/utils/PrecisionTime.cpp.o
[  1%] Building CXX object frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/home/username/opt/bci2000/source/20190425/current/BCI2000/src/shared/utils/SockStream.cpp.o
In member function ‘sockstream::operator void*()’:
cc1plus: error: ‘operator void*’ is not a member of ‘std::iostream {aka std::basic_iostream<char>}’
frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/build.make:206: recipe for target 'frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/home/username/opt/bci2000/source/20190425/current/BCI2000/src/shared/utils/SockStream.cpp.o' failed
make[2]: *** [frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/home/username/opt/bci2000/source/20190425/current/BCI2000/src/shared/utils/SockStream.cpp.o] Error 1
CMakeFiles/Makefile2:112: recipe for target 'frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/all' failed
make[1]: *** [frameworks/CoreLib/CMakeFiles/BCI2000FrameworkCore.dir/all] Error 2
Makefile:105: recipe for target 'all' failed
make: *** [all] Error 2


Please note for readers with similar issues, make sure that the build tools are installed and if QT4_WRAP_CPP related error is encountered, make sure qt4 (not the current generation, qt5) is installed correctly.