Ik ben octave van source aan het compileren en heb een probleem met het linken:
plus nog een lijst ongedefinieerde referenties.
Met google vond ik dat dit veroorzaakt kan worden door het gebruiken van een mix van gcc versie, maar er staat maar een gcc versie op het systeem.
Software:
Fedora Core 4
gcc/g++: 4.0.2
ld: 2.15.94.0.2.2
glibc: 2.3.6
Van libstdc++ heb ik wel verschillende versies:
Vermoedelijk ligt hier het probleem. Welke versie zou ik moeten gebruiken en hoe laat ik dat aan ld weten?
code:
1
2
3
4
| ../src/liboctinterp.so: undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)' ../src/liboctinterp.so: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)' ../src/liboctinterp.so: undefined reference to `__cxa_get_exception_ptr' ../src/liboctinterp.so: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)' |
plus nog een lijst ongedefinieerde referenties.
Met google vond ik dat dit veroorzaakt kan worden door het gebruiken van een mix van gcc versie, maar er staat maar een gcc versie op het systeem.
Software:
Fedora Core 4
gcc/g++: 4.0.2
ld: 2.15.94.0.2.2
glibc: 2.3.6
Van libstdc++ heb ik wel verschillende versies:
code:
1
2
3
4
5
6
7
8
| -rwxr-xr-x 1 root root 258288 Mar 8 2005 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so -rwxr-xr-x 1 root root 269388 Mar 8 2005 /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 root root 30 Dec 2 2005 /usr/lib/libstdc++-libc6.1-1.so.2 -> libstdc++-2-libc6.1-1-2.9.0.so lrwxrwxrwx 1 root root 31 Dec 2 2005 /usr/lib/libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 root root 18 Dec 2 2005 /usr/lib/libstdc++.so.5 -> libstdc++.so.5.0.7 -rwxr-xr-x 1 root root 744168 Mar 9 2005 /usr/lib/libstdc++.so.5.0.7 lrwxrwxrwx 1 root root 18 Dec 2 2005 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.7 -rwxr-xr-x 1 root root 892148 Nov 26 2005 /usr/lib/libstdc++.so.6.0.7 |
Vermoedelijk ligt hier het probleem. Welke versie zou ik moeten gebruiken en hoe laat ik dat aan ld weten?