Permalink
Browse files

Known errors with Ubuntu 18.04, Debian stretch, and g++ 7. Instructio…

…ns for quick fix.
  • Loading branch information...
apsabelhaus committed Dec 19, 2018
1 parent 9080105 commit 92a55a4a40766f1d82d179571c6f8b121e0a83a6
Showing with 32 additions and 0 deletions.
  1. +23 −0 INSTALL
  2. +9 −0 README.md
23 INSTALL
@@ -59,6 +59,29 @@ anything.
libboost-1.53.0-dev, as counterintuitive as that seems. See a known
issue below about this compilation under Ubuntu 14.04.

** Known Issue with GCC/G++ 7 and Ubuntu 18.04 / Debian Stretch **

- NTRTsim is broken with the newer versions of GNU's C/C++ compilers. A change occurred somewhere
between gcc and g++ 4.8 and version 7 that changed functionality that NTRTsim and/or Bullet 2.82
relied upon. A symptom of this error occurs when trying to build (e.g.) the NeuroEvo classes.
No known fix allows NTRTsim to be built with these compilers.
However, it is possible to install version 4.8 alongside 7 and switch between them.
For Ubuntu, as motivated by http://charette.no-ip.com:81/programming/2011-12-24_GCCv47/,
the fix is as follows. Please read that link carefully before attempting the fix, to understand what's happening.

sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo upate-alternatives --config gcc

...and select the 4.8 compiler. You can check which is being used by
ls -lah /usr/bin/g++*
ls -lah /etc/alternatives/g++*

If you had previously run setup.sh using the 7 series compilers,
you must delete all files in env/ and build/ and re-run setup.sh to recompile all
libraries with the 4.8 compilers before running bin/build.sh.

** Running the setup script **

- Ensure that all of the dependencies above are installed before running setup.sh. If
@@ -1,6 +1,15 @@
NASA Tensegrity Robotics Toolkit
===============

12/19/18 - Warning: G++ > 7 Build Failures (Ubuntu 18.04 / Bionic)
---------

Currently, the simulator depends on functionality that has changed somewhere between gcc/g++ 4.8 and gcc/g++ 7. This problem arises when installing NTRTsim on Ubuntu 18.04 and Debian Stretch, as well as upgrading from Ubuntu 16.04 to 18.04. Errors will arise with (for example) the NeuroEvo classes. No fix that uses g++ 7 is available at this time.

However, it is possible to install gcc 4.8 anf g++ 4.8 on Ubuntu 18.04, and switch between 4.8 and 7. Instructions in the INSTALL file.

This problem may be related to NTRTsim's/Bullet 2.x's reliance on C++98.

3/19/15 - Warning: OS X Setup/Build Failures
---------
Currently the simulator is not compiling under OS X. We hope to have this resolved soon. In the meantime if you wish to use the simulator your best bet is to install a Linux VM and install NTRT there. In the near future we hope to include a .vmdk which contains Ubuntu pre-installed with NTRT and supporting tools/libraries -- the INSTALL file will be updated onec that is complete (currently aiming for ~3/22/15).

0 comments on commit 92a55a4

Please sign in to comment.