octave-maintainers
[Top][All Lists]
Advanced

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

Re: Mountain Lion build


From: Daniel J Sebald
Subject: Re: Mountain Lion build
Date: Fri, 21 Sep 2012 17:50:27 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.24) Gecko/20111108 Fedora/3.1.16-1.fc14 Thunderbird/3.1.16

On 09/21/2012 04:46 PM, Robinson, Melvin D wrote:
Hello,

I get errors building Octave from sources on Mountain Lion. The
compilation ultimately craters with this error:
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[3]: *** [liboctinterp.la] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Well, that's a link error.


Earlier in the build I see the following error:

Undefined symbols for architecture x86_64:
"std::_List_node_base::_M_transfer(std::_List_node_base*,
std::_List_node_base*)", referenced from:
std::list<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >
 >::_M_transfer(std::_List_iterator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::_List_iterator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::_List_iterator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >) in
liboctave-value.a(octave_value_liboctave_value_la-ov-class.o)

Is this a compile error, or linker error? I'm guessing link error. (?) I agree, many of these are standard C++ library members associated with "string" header. The error says several routines are referencing

"std::_List_node_base::_M_transfer(std::_List_node_base*,
 std::_List_node_base*)"

Something went wrong deep within the headers/compiler, or something is missing from linking. I doubt it is the latter, i.e., that just a single obscure function is missing from linking.

Perhaps there is some subtle error in the way Octave is calling one of the standard library routines or (more likely) templates. (Or g++ hasn't accounted for something within its library templates.) Are there any very subtle compiler warnings that you can find during compilation of the code within the liboctave directory? (You'll need to clear out the code and recompile liboctave to watch for this, redirecting output would be nice.)

Dan



I don't really know what the problem could be.
g++ -v gives:
butterfly:octave melrobin$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin12/4.5.4/lto-wrapper
Target: x86_64-apple-darwin12
Configured with: ../gcc-4.5.4/configure --prefix=/opt/local
--build=x86_64-apple-darwin12
--enable-languages=c,c++,objc,obj-c++,fortran,java
--libdir=/opt/local/lib/gcc45 --includedir=/opt/local/include/gcc45
--infodir=/opt/local/share/info --mandir=/opt/local/share/man
--datarootdir=/opt/local/share/gcc-4.5 --with-local-prefix=/opt/local
--with-libiconv-prefix=/opt/local --with-system-zlib --disable-nls
--program-suffix=-mp-4.5
--with-gxx-include-dir=/opt/local/include/gcc45/c++/
--with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local
--with-ppl=/opt/local --enable-stage1-checking --disable-multilib
--with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld
--with-ar=/opt/local/bin/ar
--with-bugurl=https://trac.macports.org/newticket --enable-lto
--with-pkgversion='MacPorts gcc45 4.5.4_5'
Thread model: posix
gcc version 4.5.4 (MacPorts gcc45 4.5.4_5)

Any ideas? The error seems to come from standard C++ containers.


reply via email to

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