<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Adrian Bunk <<a href="mailto:bunk@debian.org">bunk@debian.org</a>> 于 2020年6月9日周二 下午11:18写道:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Source: mlpack<br>
Version: 3.3.1-1<br>
Severity: serious<br>
Tags: ftbfs<br>
<br>
It seems Boost 1.67 -> 1.71 increased something:<br>
<br>
<a href="https://buildd.debian.org/status/fetch.php?pkg=mlpack&arch=mips64el&ver=3.3.1-1%2Bb1&stamp=1591444281&raw=0" rel="noreferrer noreferrer" target="_blank">https://buildd.debian.org/status/fetch.php?pkg=mlpack&arch=mips64el&ver=3.3.1-1%2Bb1&stamp=1591444281&raw=0</a><br>
<br>
...<br>
/usr/bin/c++  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -ftemplate-depth=1000 -Wno-unused-function -O3 -fopenmp  -Wl,-z,relro -Wl,-z,now -rdynamic CMakeFiles/mlpack_cf.dir/cf_main.cpp.o  -o ../../../../bin/mlpack_cf  -Wl,-rpath,/<<PKGBUILDDIR>>/obj-mips64el-linux-gnuabi64/lib: ../../../../lib/libmlpack.so.3.3 /usr/lib/libarmadillo.so /usr/lib/mips64el-linux-gnuabi64/libboost_program_options.so /usr/lib/mips64el-linux-gnuabi64/libboost_unit_test_framework.so /usr/lib/mips64el-linux-gnuabi64/libboost_serialization.so -lpthread<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':<br>
/usr/include/c++/9/bits/basic_string.h:6421:(.text+0x300): relocation truncated to fit: R_MIPS_CALL16 against `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)@@GLIBCXX_3.4.9'<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag)':<br>
/usr/include/c++/9/bits/basic_string.tcc:219:(.text+0x760): relocation truncated to fit: R_MIPS_CALL16 against `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long)@@GLIBCXX_3.4.21'<br>
/usr/include/c++/9/bits/basic_string.tcc:233:(.text+0x7c0): relocation truncated to fit: R_MIPS_CALL16 against `__stack_chk_fail@@GLIBC_2.4'<br>
/usr/include/c++/9/bits/basic_string.tcc:212:(.text+0x7d0): relocation truncated to fit: R_MIPS_CALL16 against `std::__throw_logic_error(char const*)@@GLIBCXX_3.4'<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `__gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::allocate(unsigned long, void const*)':<br>
/usr/include/c++/9/ext/new_allocator.h:114:(.text+0xb34): relocation truncated to fit: R_MIPS_CALL16 against `operator new(unsigned long)@@GLIBCXX_3.4'<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_S_check_init_len(unsigned long, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)':<br>
/usr/include/c++/9/bits/stl_vector.h:1767:(.text+0xbc4): relocation truncated to fit: R_MIPS_CALL16 against `std::__throw_length_error(char const*)@@GLIBCXX_3.4'<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >* std::__uninitialized_copy<false>::__uninit_copy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':<br>
/usr/include/c++/9/bits/stl_uninitialized.h:86:(.text+0xbd0): relocation truncated to fit: R_MIPS_CALL16 against `__cxa_begin_catch@@CXXABI_1.3'<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `void std::_Destroy_aux<false>::__destroy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':<br>
/usr/include/c++/9/bits/stl_construct.h:107:(.text+0xbe0): relocation truncated to fit: R_MIPS_CALL16 against `__cxa_rethrow@@CXXABI_1.3'<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `std::_Vector_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_deallocate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, unsigned long)':<br>
/usr/include/c++/9/bits/stl_vector.h:350:(.text+0xbf8): relocation truncated to fit: R_MIPS_CALL16 against `operator delete(void*)@@GLIBCXX_3.4'<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `__gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~new_allocator()':<br>
/usr/include/c++/9/ext/new_allocator.h:89:(.text+0xc04): relocation truncated to fit: R_MIPS_CALL16 against `_Unwind_Resume@@GCC_3.0'<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()':<br>
/usr/include/c++/9/bits/basic_string.h:231:(.text+0xc1c): additional relocation overflows omitted from the output<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">just add -mxgot to cxxflags.</div><div dir="auto">there are 2 type of GOT in mips: one use fewer insn while has a length limitaion; another uses more insns while has a big address space support.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
collect2: error: ld returned 1 exit status<br>
make[4]: *** [src/mlpack/methods/cf/CMakeFiles/mlpack_cf.dir/build.make:92: bin/mlpack_cf] Error 1<br>
<br>
<br>
I tried "export DEB_CXXFLAGS_MAINT_APPEND += -mxgot" which gave me:<br>
<br>
...<br>
/usr/bin/c++  -g -O2 -fdebug-prefix-map=/home/bunk/build/mlpack-3.3.1=. -fstack-protector-strong -Wformat -Werror=format-security -mxgot -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -ftemplate-depth=1000 -Wno-unused-function -O3 -fopenmp  -Wl,-z,relro -Wl,-z,now -rdynamic CMakeFiles/mlpack_cf.dir/cf_main.cpp.o  -o ../../../../bin/mlpack_cf  -Wl,-rpath,/home/bunk/build/mlpack-3.3.1/obj-mips64el-linux-gnuabi64/lib: ../../../../lib/libmlpack.so.3.3 /usr/lib/libarmadillo.so /usr/lib/mips64el-linux-gnuabi64/libboost_program_options.so /usr/lib/mips64el-linux-gnuabi64/libboost_unit_test_framework.so /usr/lib/mips64el-linux-gnuabi64/libboost_serialization.so -lpthread<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `std::mersenne_twister_engine<unsigned long, 64ul, 312ul, 156ul, 31ul, 13043109905998158313ul, 29ul, 6148914691236517205ul, 17ul, 8202884508482404352ul, 37ul, 18444473444759240704ul, 43ul, 6364136223846793005ul>::seed(unsigned long)':<br>
/usr/include/c++/9/bits/random.tcc:329:(.text._ZN6mlpack4math10RandomSeedEm[_ZN6mlpack4math10RandomSeedEm]+0xb8): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `arma::arma_rng_cxx11_instance'<br>
CMakeFiles/mlpack_cf.dir/cf_main.cpp.o: in function `std::mersenne_twister_engine<unsigned long, 64ul, 312ul, 156ul, 31ul, 13043109905998158313ul, 29ul, 6148914691236517205ul, 17ul, 8202884508482404352ul, 37ul, 18444473444759240704ul, 43ul, 6364136223846793005ul>::operator()()':<br>
/usr/include/c++/9/bits/random.tcc:458:(.text._ZN4arma8arma_rng5randuIdE4fillEPdy[_ZN4arma8arma_rng5randuIdE4fillEPdy]+0x70): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `arma::arma_rng_cxx11_instance'<br>
/usr/include/c++/9/bits/random.tcc:457:(.text._ZN4arma8arma_rng5randuIdE4fillEPdy[_ZN4arma8arma_rng5randuIdE4fillEPdy]+0x354): relocation truncated to fit: R_MIPS_TLS_GOTTPREL against `arma::arma_rng_cxx11_instance'<br>
collect2: error: ld returned 1 exit status<br>
<br>
<br>
debian-mips is Cc'ed, can a mips porter please have a look?<br>
<br>
</blockquote></div></div></div>