Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Aug 2004 13:42:10 -0500 (CDT)
From:      "Jon Noack" <noackjr@alumni.rice.edu>
To:        "Eric Anderson" <anderson@centtech.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: -CURRENT/RELENG_5 library issues
Message-ID:  <53695.69.53.57.66.1093027330.squirrel@69.53.57.66>
In-Reply-To: <41263FEB.8090901@centtech.com>
References:  <41263FEB.8090901@centtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Eric Anderson wrote:
> One - net/gaim no longer runs.  It gives me this error:
> /libexec/ld-elf.so.1: /usr/local/lib/libaspell.so.15: Undefined symbol
> "_ZNSs20_S_empty_rep_storageE"
>
> When trying to recompile it, I get:
> /X11R6/lib -lpthread
> /usr/local/lib/libaspell.so: undefined reference to
> `std::__default_alloc_template<true, 0>::allocate(unsigned int)'
> /usr/local/lib/libaspell.so: undefined reference to
> `std::string::_S_empty_rep_storage'
> /usr/local/lib/libaspell.so: undefined reference to
> `std::__default_alloc_template<true, 0>::deallocate(void*, unsigned int)'
> gmake[3]: *** [gaim] Error 1
> gmake[3]: Leaving directory `/usr/ports/net/gaim/work/gaim-0.81/src'
> gmake[2]: *** [all-recursive] Error 1
> gmake[2]: Leaving directory `/usr/ports/net/gaim/work/gaim-0.81/src'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory `/usr/ports/net/gaim/work/gaim-0.81'
> gmake: *** [all] Error 2
> *** Error code 2
>
> Stop in /usr/ports/net/gaim.

Thisn looks like ABI breakage leftover from the update of gcc (from
UPDATING):
20040728:
    System compiler has been upgraded to GCC 3.4.2-pre. As with any major
    compiler upgrade, there are several issues to be aware of. GCC 3.4.x
    has broken C++ ABI compatibility with previous releases yet again
    and users will have to rebuild all their C++ programs with the new
    compiler.

Unless you know every port that uses C++, the sure way to avoid issues
like this is to recompile everything:
portupgrade -af

You could try just forcing the update of gaim and all of it's
dependencies.  This saves you a lot of time but you may run into similar
problems with other applications later (some of the issues may manifest
themselves in very obscure ways; for example, the kde calculator returns
crazy answers to simple calculations and when you hit clear it resets to
-0).  To try this:
portupgrade -Rf gaim

Heck, you might get away with just updating aspell and gaim.  Still, the
party line is rebuild everything.

Jon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53695.69.53.57.66.1093027330.squirrel>