Re: Build failed in Hudson: 3.HEAD-i386-OpenBSD #553

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Sat, 11 Sep 2010 14:07:50 -0600

On 09/11/2010 03:17 AM, Kinkie wrote:
> On Fri, Sep 10, 2010 at 8:42 PM, Alex Rousskov
> <rousskov_at_measurement-factory.com> wrote:
>> On 09/10/2010 11:57 AM, Amos Jeffries wrote:
>>>
>>> On 11/09/10 05:43, Alex Rousskov wrote:
>>>>
>>>> On 09/09/2010 09:56 AM, Kinkie wrote:
>>>>>>
>>>>>> /bin/sh ../libtool --tag=CXX --mode=link ccache g++ -Wall
>>>>>> -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT
>>>>>> -g -O2 -g -o testPreCompiler testPreCompiler.o testMain.o
>>>>>> -L/usr/local/lib -lcppunit
>>>>>> libtool: link: ccache g++ -Wall -Wpointer-arith -Wwrite-strings
>>>>>> -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -g -o testPreCompiler
>>>>>> testPreCompiler.o testMain.o -L/usr/local/lib -lcppunit -lm
>>>>>> -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/local/lib
>>>>>> /usr/local/lib/libestdc++.so.11.0: warning: vsprintf() is often
>>>>>> misused, please use vsnprintf()
>>>>>> /usr/local/lib/libcppunit.so.3.0: warning: strcpy() is almost always
>>>>>> misused, please use strlcpy()
>>>>>> /usr/local/lib/libcppunit.so.3.0: warning: strcat() is almost always
>>>>>> misused, please use strlcat()
>>>>>> /usr/local/lib/libcppunit.so.3.0: warning: sprintf() is often
>>>>>> misused, please use snprintf()
>>>>>> /usr/local/lib/libcppunit.so.3.0: undefined reference to
>>>>>> `std::basic_streambuf<char, std::char_traits<char>
>>>>>>> ::_M_out_cur_move(long)'
>>>>>> /usr/local/lib/libcppunit.so.3.0: undefined reference to
>>>>>> `std::basic_string<char, std::char_traits<char>, std::allocator<char>
>>>>>>> ::_Rep::_S_create(unsigned long, std::allocator<char> const&)'
>>>>>> /usr/local/lib/libcppunit.so.3.0: undefined reference to
>>>>>> `std::basic_string<char, std::char_traits<char>, std::allocator<char>
>>>>>>> ::_S_empty_rep_storage'
>>>>>> /usr/local/lib/libcppunit.so.3.0: undefined reference to
>>>>>> `std::__default_alloc_template<true, 0>::deallocate(void*, unsigned
>>>>>> long)'
>>>>>> /usr/local/lib/libcppunit.so.3.0: undefined reference to
>>>>>> `std::__default_alloc_template<true, 0>::allocate(unsigned long)'
>>>>>> collect2: ld returned 1 exit status
>>>>>> *** Error code 1

>
> The segfault should have been fixed by upgrading gcc.
> The current one is about allocators, Amos mentioned it may be due to
> cppunit issues, but cppunit is already the lastest release... :(

Googling suggests that you may be mixing internal(?) GCC libraries from
different GCC versions. The undefined references that the linker
complains about above seem unrelated to our code. Did you build cppunit
from sources, using the same GCC version you use for building Squid? If
not, perhaps cppunit depends on [internal GCC] libraries that are
different than those you link with?

Locating the library where one of the undefined or similar references
are defined may be a good start.

Alex.
Received on Sat Sep 11 2010 - 20:08:12 MDT

This archive was generated by hypermail 2.2.0 : Sun Sep 12 2010 - 12:00:05 MDT