This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: undefined versioned symbol name std::time_put_w@@GLIBCPP_3.2
Anticipating someone will ask:
booboo temp # gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/specs
Thread model: posix
gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2,
pie-8.7.6)
booboo temp # more /proc/version
Linux version 2.6.8.1 (root@booboo) (gcc version 3.3.4 20040623 (Gentoo
Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)) #1 Sun Oct 17 10:37:13 EDT 2004
Regards,
Nick G.
On Fri, 2004-10-22 at 02:37, Nick NoSpam wrote:
> [Note to self: 3 proofreads isn't enough at 2:30 AM]
>
> Forgot to mention, the error is puzzling me because my code doesn't call
> any time functions. That being the case, why is this
> symbol--std::time_put_w--singled out? I don't receive any other errors.
>
> Regards,
> Nick G.
>
>
> On Fri, 2004-10-22 at 02:32, Nick NoSpam wrote:
> > Apologies if this is the wrong list.
> >
> > I'm trying to generate a shared object that statically links libc,
> > libstdc++, and libgcc, but I'm receiving the error: undefined versioned
> > symbol name std::time_put_w@@GLIBCPP_3.2.
> >
> > The reason I'm bringing this up on this list is because:
> > nm `gcc -print-file-name=libstdc++.a` | grep
> > "time_put_w@@GLIBCPP_3\.2"
> > finds a match.
> >
> > The source is very simple:
> > test2.h:
> > #include <string>
> >
> > class exception_two
> > {
> > public:
> > exception_two(std::string s) : m_sMsg(s)
> > { }
> >
> > virtual ~exception_two() { }
> >
> > virtual const char* what() const
> > {
> > return(m_sMsg.c_str() );
> > }
> >
> > protected:
> > std::string m_sMsg;
> > };
> >
> > class test_two
> > {
> > public:
> > test_two();
> > virtual ~test_two();
> >
> > void print(std::string s);
> > };
> >
> >
> > test2.cpp:
> > #include "test2.h"
> > #include <iostream>
> >
> > using namespace std;
> >
> > test_two::test_two()
> > {
> > }
> >
> > test_two::~test_two()
> > {
> > }
> >
> > void test_two::print(std::string s)
> > {
> > cout << "This is the test_two class: '" << s << "'" << endl;
> > throw(exception_two(s) );
> > }
> >
> >
> > Compiled with:
> > g++ -c -g -fexceptions -fPIC test2.cpp -o test2.o
> >
> > And tried to create a shared object with:
> > g++ -g -fexceptions -fPIC -nodefaultlibs -shared -o libtest2.so
> > test2.o \
> > `gcc -print-file-name=libstdc++.a` \
> > -lm \
> > /usr/lib/libc.a \
> > `gcc -print-file-name=libgcc_eh.a` \
> > `gcc -print-libgcc-file-name`
> >
> >
> > I searched for this problem, but didn't find anything helpful.
> >
> > I appreciate any and all suggestions.
> >
> > Regards,
> > Nick G.
> >
>