CURRENT: buildworld fails

山谷崇史 yamayan at casio.co.jp
Tue May 29 12:08:05 UTC 2012


some log and file is overwritten.
sort is already BSD sort. (WITH_BSD_SORT= yes in /etc/src.conf)
cc is clang and c++ is clang++.(WITH_CLANG_IS_CC in /etc/src.conf)

script
make -j24 buildworld
(or)
make buildworld

buildworld log:
(snip)
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_ifstream<wchar_t, std::char_traits<wchar_t>
>::is_open() const'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >::_Rep::_M_set_length_and_sharable(unsigned
long)'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >::_M_check_length(unsigned long, unsigned
long, char c
onst*) const'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_fstream<char, std::char_traits<char>
>::is_open() const'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_istream<wchar_t, std::char_traits<wchar_t>
>::ignore()'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >::_M_copy(wchar_t*, wchar_t const*, unsigned
long)'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::string::_M_assign(char*, unsigned long, char)'
/usr/obj/usr/src/tmp/usr/bin/ld: Warning: size of symbol
`_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv at GLIBCXX_3.4'
changed from 243 in /usr/obj/usr/src/tmp/usr/lib/libstdc++.so to 211
in /usr/obj/usr/src/t
mp/usr/lib/libstdc++.so
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_fstream<wchar_t, std::char_traits<wchar_t>
>::is_open() const'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >::_M_move(wchar_t*, wchar_t const*, unsigned
long)'
/usr/obj/usr/src/tmp/usr/bin/ld: Warning: size of symbol
`_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm at GLIBCXX_3.4'
changed from 19 in /usr/obj/usr/src/tmp/usr/lib/libstdc++.so to 24 in
/usr
/obj/usr/src/tmp/usr/lib/libstdc++.so
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::string::_M_move(char*, char const*, unsigned
long)'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::istream::ignore()'
/usr/obj/usr/src/tmp/usr/bin/ld: Warning: size of symbol
`_ZNKSs15_M_check_lengthEmmPKc at GLIBCXX_3.4' changed from 39 in
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so to 36 in
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so

/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_ofstream<char, std::char_traits<char>
>::is_open() const'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >::_M_assign(wchar_t*, unsigned long,
wchar_t)'
/usr/obj/usr/src/tmp/usr/bin/ld: Warning: size of symbol
`_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc at GLIBCXX_3.4'
changed from 39 in /usr/obj/usr/src/tmp/usr/lib/libstdc++.so to 36 in
/usr/obj/usr/sr
c/tmp/usr/lib/libstdc++.so
/usr/obj/usr/src/tmp/usr/bin/ld: Warning: size of symbol
`_ZNSi6ignoreEv at GLIBCXX_3.4' changed from 243 in
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so to 211 in
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_ifstream<char, std::char_traits<char>
>::is_open() const'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::string::_M_copy(char*, char const*, unsigned
long)'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::basic_ofstream<wchar_t, std::char_traits<wchar_t>
>::is_open() const'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::string::_M_check_length(unsigned long, unsigned
long, char const*) const'
/usr/obj/usr/src/tmp/usr/lib/libstdc++.so:(*IND*+0x0): multiple
definition of `std::string::_Rep::_M_set_length_and_sharable(unsigned
long)'
(snip)
c++: error: linker command failed with exit code 1 (use -v to see invocation)
(snip)
(end)

cd /usr/obj/usr/src/tmp/usr/lib
nm libstdc++.so.6 | lv
(file is overwritten)
Same symbols are found!!!

cd /usr/lib
nm libstdc++.a | lv
(file is overwritten)
Same symbols are not found.
Each symbols are unique.

recheck the buildworld log:
building static * library
sort: No such file or directory
sort: No such file or directory
ranlib *.a
(or)
building shared library *.so.#
sort: No such file or directory
sort: No such file or directory

I found many many error message above.
I think sort is broken.
I think sort is used to merge same symbols into unique.
but, because sort is broken, libraries have same(multiple) symbols.
So, linker command failed with multiple definition error.

/usr/bin/sort's timestamp was May 15.
svn log -v | lv
(search sort change log)
r235987 | gabor | 2012-05-25 18:30:16 +0900 (Fri, 25 May 2012) | 7 lines
r235546 | gabor | 2012-05-17 22:08:30 +0900 (Thu, 17 May 2012) | 4 lines
r235435 | gabor | 2012-05-14 19:06:49 +0900 (Mon, 14 May 2012) | 5 lines
r235434 | gabor | 2012-05-14 18:55:23 +0900 (Mon, 14 May 2012) | 2 lines
r235432 | gabor | 2012-05-14 18:53:54 +0900 (Mon, 14 May 2012) | 2 lines

I don't know when sort is broken and repaired.
but, I think r235435 is maybe broken.

Then, Update /usr/bin/sort latest version.
and run "make -j24 buildworld kernel".
It was done without error.
(overwrite some log)
so, reboot and installworld.
(overwrite files)


2012/5/29 Gabor Kovesdan <gabor at freebsd.org>:
> On 2012.05.29. 5:44, 山谷崇史 wrote:
>>
>> I had same problem, but I resolved it.
>>
>> Maybe, your sort (/usr/bin/sort) is broken.
>>
>> cd /usr/src
>> make update
>> cd usr.bin/sort
>> make obj depend all install
>>
>> Then, sort is changed.
>>
>> make cleandir cleandir
>> make buildworld
>
>
> Could you please elaborate it a bit? From your mail it is not clear where
> did things break and what kind of error did you see and how you actually
> solved it.
>
> Thanks,
> Gabor


More information about the freebsd-current mailing list