help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building Octave on Fedora


From: Quentin Spencer
Subject: Re: Building Octave on Fedora
Date: Thu, 11 May 2006 08:34:09 -0500
User-agent: Thunderbird 1.5.0.2 (X11/20060501)

Stephen Webb wrote:
,
On attempting to build Octave 2.9.5 on a RedHat/Fedora Core 4 Linux system I encountered the following errors. <makeOutput> g++ -I. -I.. -I../liboctave -I../src -I../libcruft/misc -DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -g -O2 -rdynamic \
-L..  -fPIC  -o octave \
main.o  \
-L../liboctave -L../libcruft -L../src -Wl,-rpath -Wl,/usr/local/lib/octave-2.9.5 \
-loctinterp -loctave  -lcruft    \
    \
    \
-lreadline -lncurses -ldl -lz -lm -L/usr/lib/gcc-lib/i386-redhat-linux/3.2.3 -L/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/../../.. -lz -lfrtbegin -lg2c -lm -lgcc_s ../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*)' ../src/liboctinterp.so: undefined reference to `std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)' ../src/liboctinterp.so: undefined reference to `std::_List_node_base::unhook()' ../src/liboctinterp.so: undefined reference to `std::_List_node_base::hook(std::_List_node_base*)' ../src/liboctinterp.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' ../src/liboctinterp.so: undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)' ../src/liboctinterp.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >::seekg(long long, std::_Ios_Seekdir)' ../src/liboctinterp.so: undefined reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
../src/liboctinterp.so: undefined reference to `__cxa_guard_release'
../src/liboctinterp.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_aux(unsigned int, unsigned int, unsigned int, char)'
../src/liboctinterp.so: undefined reference to `__cxa_guard_abort'
../src/liboctinterp.so: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)' ../src/liboctinterp.so: undefined reference to `std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::showmanyc()' ../src/liboctinterp.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&)'
../src/liboctinterp.so: undefined reference to `__cxa_guard_acquire'
collect2: ld returned 1 exit status
make[2]: *** [octave] Error 1
</makeOutput>
My web search indicates __cxa_guard_* is a compiler generated call related to sequencing static construction, but I was not able to find out much about it. uname -a reports: Linux cmr8.cmr.mech.unsw.edu.au 2.6.11-1.1369_FC4smp #1 SMP Thu Jun 2 23:08:39 EDT 2005 i686 i686 i386 GNU/Linux
I tried gcc 4.0.0 and 4.1.0 with the same result.
Building Octave 2.1.73 resulted in even more errors, mostly referring to __cxa_guard_*.

If you need octave 2.1.73, it's in Fedora Extras, so there's no need to build it yourself. On the other hand, you do need to compile 2.9.5 yourself. I did recently receive a request for 2.9.x on FC4 (I'm the Fedora Extras packager), but I haven't decided whether to do that or not. Anyway, I've never seen these errors myself. The one thing that looks suspicious to me is that the compiler is compiling with path flags -L/usr/lib/gcc-lib/i386-redhat-linux/3.2.3. That means to me that it's compiling with gcc 4.x and trying to link to libraries with 3.x, which would definitely cause problems. I would check to see what compilers you have installed on your system and look at what the configure script thinks it's finding on the system. If you have g77 installed, remove it.

I hope this helps. If you're just trying to get octave running and you don't care what version, run "yum install octave-forge" as root.


-Quentin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]