octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #48601] 4.0.3 has build packages mismatch with


From: Mike Miller
Subject: [Octave-bug-tracker] [bug #48601] 4.0.3 has build packages mismatch with 4.0.1
Date: Fri, 4 Nov 2016 02:26:56 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0

Follow-up Comment #12, bug #48601 (project octave):

Marco - I still have no insight into this problem and no way to test this,
other than still confirm that I can load oct files that are built with 4.0.1
in Octave 4.0.3 on my system.

This is a stab in the dark guess, but is it possible that Octave 4.0.1 was
built for cygwin with either GCC 4.x or with GCC 5 but using the old
std::string / std::list ABI? And Octave 4.0.3 is being built with GCC using
the new std::string / std::list ABI? I would be more sure about this if the
error message were something like "foo.oct: failed to load: foo.oct: undefined
symbol: <mangled symbol string>".

You can check whether the symbol ABIs match up using nm or objdump on the
Octave shared libraries or on the oct files themselves. For example, the
octave_mkdir public function takes a std::string parameter, so it's a good
candidate to search for


$ objdump -T /opt/gnu/octave/lib/octave/4.0.1/liboctinterp.so | grep
octave_mkdir
0000000000000000       F *UND*  0000000000000000             
_Z12octave_mkdirRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjRS4_


Do the same functions in the 4.0.1 and 4.0.3 shared libraries match up? Does
an oct file compiled with a call to octave_mkdir use the cxx11 or non-cxx11
ABI variant?

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?48601>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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