Bug#327509: [Pkg-octave-devel] Bug#327509: octave2.1-headers: mkoctfile generates broken binaries ("undefined symbol: _ZNSs4_Rep20_S_empty_rep_storageE")

Graeme Smecher graeme at smecher.bc.ca
Wed Sep 14 16:13:28 UTC 2005


John,

You're correct on all counts:

    $ octave -q
    octave:1> octave_config_info("CXX_VERSION")
    ans = 3.3.6

If I run "mkoctfile -v hello.cc" and manually repeat the commands, using
"g++-3.3" instead of "g++", running the generated .oct file succeeds.

Along with the rest of the herd, I must have apt-get update'd to gcc version
4.0.2:

    $ g++ -v
    Using built-in specs.
    Target: i486-linux-gnu
    Configured with: ../src/configure -v 
    --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr
    --enable-shared --with-system-zlib --libexecdir=/usr/lib --enable-nls
    --without-included-gettext --enable-threads=posix --program-suffix=-4.0
    --enable-__cxa_atexit --enable-libstdcxx-allocator=mt --enable-clocale=gnu
    --enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk
    --enable-gtk-cairo
    --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr
    --disable-werror --enable-checking=release i486-linux-gnu
    Thread model: posix
    gcc version 4.0.2 20050821 (prerelease) (Debian 4.0.1-6)

I see that you're holding off on recompiling Octave with gcc4.0.2 (#327027 -
octave2.1: not installable in sid). Feel free to close/attach/whatever this
bug report, since it looks like it'll shake out once 327027 is resolved. 

Thanks again,

Graeme

"John W. Eaton" <jwe at bevo.che.wisc.edu> said:

> On 10-Sep-2005, Graeme Smecher wrote:
> 
> | Package: octave2.1-headers
> | Version: 2.1.71-2
> | Severity: important
> | 
> | mkoctfile no longer produces working .oct files. I've tried compiling
> | the hello.cc example:
> | 
> |     mkoctfile hello.cc
> | 
> | The mkoctfile command appears to succed. Then:
> | 
> |     $ octave -q
> |     octave:1> hello
> |     error: /home/gsmecher/click/halfband/hello.oct: undefined symbol:
> |     _ZNSs4_Rep20_S_empty_rep_storageE
> |     octave:1>
> 
> Running
> 
>   echo _ZNSs4_Rep20_S_empty_rep_storageE | c++filt
> 
> shows
> 
>   std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_S_empty_rep_storage
> 
> so I suspect a compiler issue or packaging problem, not a bug in
> Octave itself.
> 
> What version of g++ was used to build your copy of Octave?  You can
> get this information by typing octave_config_info ("CXX_VERSION") at
> the octave prompt.
> 
> What version of g++ is currently being used on your system by
> mkoctfile?
> 
> Assuming the versions are not the same, then do you avoid the problem
> if you force mkoctfile to use the same compiler version as was used to
> compile Octave?
> 
> jwe
> 
> 



-- 







More information about the Pkg-octave-devel mailing list