[97657] trunk/dports/lang
Michael Dickens
michaelld at macports.org
Thu Sep 13 18:53:46 PDT 2012
Certainly fixing that sort of issue seems wise. Folks trying to build
octave-devel with gcc45 continue to have that issue. I'm using gcc47,
and octave-devel builds but does not execute because, I think, of
improper dyld linking -- a symbol is not where it is expected. See
ticket #36103 for more discussion. I truly do not know what the issue
is with octave-devel, but, IMHO, everything thus far points to it being
something with the latest gcc changes: octave-devel worked just fine
before these changes, and no longer does. - MLD
On Sep 13, 2012, at 5:09 PM, Dan Ports <dports at macports.org> wrote:
On Tue, Sep 11, 2012 at 01:37:08PM -0700, Dan Ports wrote:
I haven't run into that, but what I'm seeing is that my octave that
was
linked against gcc45's libstdc++ now fails at runtime:
octave(24531) malloc: *** error for object 0x7fff76cc2860: pointer
being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
zsh: abort (core dumped) octave
I assume this is because gcc45 is (regrettably) built with
--enable-fully-dynamic-string, which makes its libstdc++
binary-incompatible with the system's, at least for C++ programs
that
use the standard string class.
I'm still seeing this with the latest libstdcxx changes.
That's not surprising since gcc45 (and gcc44, but not 46 and later)
was built with --enable-fully-dynamic-string, so it'll try to
deallocate an empty string, which is a static object in the "normal"
libstdc++ built by libstdcxx.
See https://trac.macports.org/ticket/31171 for some history on this,
in
particular my comments #35 and #42.
It seems clear now that enabling fully dynamic strings was a
mistake,
but I didn't fix it for gcc4[45] before because that would break
compatibility with existing C++ binaries.
It looks like with this change any C++ code built with gcc44 or
gcc45
that uses strings needs to be rebuilt -- both ports and anything
user-compiled. It might be worth biting the bullet and doing that to
get all of the long-standing libstdc++ incompatiblities out of the
way,
but it's still a pain.
(Maybe this would also be a good time to consider changing the
default
variant for most ports from gcc45 to gcc47...)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-dev/attachments/20120913/a89dce39/attachment.html>
More information about the macports-dev
mailing list