-CURRENT/RELENG_5 library issues

Jon Noack noackjr at alumni.rice.edu
Fri Aug 20 11:42:13 PDT 2004


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



More information about the freebsd-current mailing list