|
|
Line 517: |
Line 517: |
| |- | | |- |
| | ddd gives you a front end. I need to use it more, compare to other options | | | ddd gives you a front end. I need to use it more, compare to other options |
| |}
| |
|
| |
| {| class="mw-collapsible mw-collapsed wikitable"
| |
| ! gcc install multiple versions in ubuntu (4 and 5 in wily, eg)
| |
| |-
| |
| | My code will not compile with gcc 5, the version provided with Ubuntu wily.
| |
| It gives warnings like this:
| |
| /home/m/development/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:547:34: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
| |
| and outright errors like this:
| |
| depbase=`echo AtServer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
| |
| g++ -DPACKAGE_NAME=\"at_server\" -DPACKAGE_TARNAME=\"at_server\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"at_server\ 1.0\" -DPACKAGE_BUGREPORT=\"m@abettersoftware.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"at_server\" -DVERSION=\"1.0\" -I. -I../../src -I/home/m/development/Reusable/c++ -I/home/m/development/Reusable/c++/sqlite -std=c++11 -I/home/m/development/boost_1_59_0 -ggdb3 -O0 -std=c++11 -MT AtServer.o -MD -MP -MF $depbase.Tpo -c -o AtServer.o ../../src/AtServer.cpp &&\
| |
| mv -f $depbase.Tpo $depbase.Po
| |
| In file included from /usr/include/c++/5/bits/stl_algo.h:60:0,
| |
| from /usr/include/c++/5/algorithm:62,
| |
| from /usr/include/c++/5/ext/slist:47,
| |
| from /home/m/development/boost_1_59_0/boost/algorithm/string/std/slist_traits.hpp:16,
| |
| from /home/m/development/boost_1_59_0/boost/algorithm/string/std_containers_traits.hpp:23,
| |
| from /home/m/development/boost_1_59_0/boost/algorithm/string.hpp:18,
| |
| from /home/m/development/Reusable/c++/utilities.hpp:4,
| |
| from ../../src/MemoryModel.hpp:11,
| |
| from ../../src/SqliteLocalModel.hpp:13,
| |
| from ../../src/AtServer.cpp:70:
| |
| /usr/include/c++/5/bits/algorithmfwd.h:573:13: error: initializer provided for function
| |
| noexcept(__and_<is_nothrow_move_constructible<_Tp>,
| |
| ^
| |
| /usr/include/c++/5/bits/algorithmfwd.h:582:13: error: initializer provided for function
| |
| noexcept(noexcept(swap(*__a, *__b)))
| |
|
| |
| You can set up the update-alternatives tool to switch out the symlinks:
| |
| sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
| |
| sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20 --slave /usr/bin/g++ g++ /usr/bin/g++-5
| |
| BUT that seems BAD to me to switch out the compiler used by the SYSTEM. Instead, we should specify the compiler required by the PROJECT. This is supposed to do it, but it still uses /usr/include/c++/5, which seems wrong, and gives me errors:
| |
| CC=gcc-4.9
| |
| |} | | |} |
| |} | | |} |
Line 583: |
Line 550: |
| |- | | |- |
| | | | | |
| | {| class="mw-collapsible mw-collapsed wikitable" |
| | ! gcc makefile pain |
| | |- |
| | | |
| * I went through a LOT of pain to determine that gcc requires libraries to be listed AFTER the source and output parameters | | * I went through a LOT of pain to determine that gcc requires libraries to be listed AFTER the source and output parameters |
| * set LD_LIBRARY_PATH to point to your libs if they are not in system location | | * set LD_LIBRARY_PATH to point to your libs if they are not in system location |
| * Make sure Makefile uses TABS NOT SPACES. it's a FACT OF LIFE. hate it if you want. plenty more things to hate about linux/C as well. | | * Make sure Makefile uses TABS NOT SPACES. it's a FACT OF LIFE. hate it if you want. plenty more things to hate about linux/C as well. |
| | |} |
| | {| class="mw-collapsible mw-collapsed wikitable" |
| | ! gcc install multiple versions in ubuntu (4 and 5 in wily, eg) |
| | |- |
| | | My code will not compile with gcc 5, the version provided with Ubuntu wily. |
| | It gives warnings like this: |
| | /home/m/development/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:547:34: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] |
| | and outright errors like this: |
| | depbase=`echo AtServer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ |
| | g++ -DPACKAGE_NAME=\"at_server\" -DPACKAGE_TARNAME=\"at_server\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"at_server\ 1.0\" -DPACKAGE_BUGREPORT=\"m@abettersoftware.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"at_server\" -DVERSION=\"1.0\" -I. -I../../src -I/home/m/development/Reusable/c++ -I/home/m/development/Reusable/c++/sqlite -std=c++11 -I/home/m/development/boost_1_59_0 -ggdb3 -O0 -std=c++11 -MT AtServer.o -MD -MP -MF $depbase.Tpo -c -o AtServer.o ../../src/AtServer.cpp &&\ |
| | mv -f $depbase.Tpo $depbase.Po |
| | In file included from /usr/include/c++/5/bits/stl_algo.h:60:0, |
| | from /usr/include/c++/5/algorithm:62, |
| | from /usr/include/c++/5/ext/slist:47, |
| | from /home/m/development/boost_1_59_0/boost/algorithm/string/std/slist_traits.hpp:16, |
| | from /home/m/development/boost_1_59_0/boost/algorithm/string/std_containers_traits.hpp:23, |
| | from /home/m/development/boost_1_59_0/boost/algorithm/string.hpp:18, |
| | from /home/m/development/Reusable/c++/utilities.hpp:4, |
| | from ../../src/MemoryModel.hpp:11, |
| | from ../../src/SqliteLocalModel.hpp:13, |
| | from ../../src/AtServer.cpp:70: |
| | /usr/include/c++/5/bits/algorithmfwd.h:573:13: error: initializer provided for function |
| | noexcept(__and_<is_nothrow_move_constructible<_Tp>, |
| | ^ |
| | /usr/include/c++/5/bits/algorithmfwd.h:582:13: error: initializer provided for function |
| | noexcept(noexcept(swap(*__a, *__b))) |
| | |
| | You can set up the update-alternatives tool to switch out the symlinks: |
| | sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 |
| | sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20 --slave /usr/bin/g++ g++ /usr/bin/g++-5 |
| | BUT that seems BAD to me to switch out the compiler used by the SYSTEM. Instead, we should specify the compiler required by the PROJECT. This is supposed to do it, but it still uses /usr/include/c++/5, which seems wrong, and gives me errors: |
| | CC=gcc-4.9 |
| | |} |
| |} | | |} |
| <!-- | | <!-- |