fflas-ffpack `master`: Build fails on macOS
Opened this issue · 2 comments
mkoeppe commented
On homebrew-macos-usrlocal-minimal, tested using
/bin/bash ../../../libtool --tag=CXX --mode=link g++ -std=gnu++11 -std=gnu++11 -O2 -march=native -Wall -DNDEBUG -UDEBUG -g -O2 -version-info 1:0:0 -no-undefined -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -Wl,-rpath,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -Wl,-rpath,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -o libfflas.la -rpath /Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib fflas_L1_inst.lo fflas_L2_inst.lo fflas_L3_inst.lo -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -lgivaro -lgmpxx -lgmp -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -lopenblas -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -lopenblas
libtool: link: g++ -std=gnu++11 -std=gnu++11 -dynamiclib -o .libs/libfflas.1.dylib .libs/fflas_L1_inst.o .libs/fflas_L2_inst.o .libs/fflas_L3_inst.o -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -lgivaro -lgmpxx -lgmp -lopenblas -O2 -march=native -g -O2 -Wl,-rpath -Wl,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -Wl,-rpath -Wl,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -install_name /Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib/libfflas.1.dylib -compatibility_version 2 -current_version 2.0 -Wl,-single_module
libtool: link: (cd ".libs" && rm -f "libfflas.dylib" && ln -s "libfflas.1.dylib" "libfflas.dylib")
libtool: link: ( cd ".libs" && rm -f "libfflas.la" && ln -s "../libfflas.la" "libfflas.la" )
/bin/bash ../../../libtool --tag=CXX --mode=link g++ -std=gnu++11 -std=gnu++11 -O2 -march=native -Wall -DNDEBUG -UDEBUG -g -O2 -version-info 1:0:0 -no-undefined -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -Wl,-rpath,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -Wl,-rpath,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -o libfflas_c.la -rpath /Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib fflas_lvl1.lo fflas_lvl2.lo fflas_lvl3.lo fflas_sparse.lo libfflas.la -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -lopenblas
libtool: link: g++ -std=gnu++11 -std=gnu++11 -dynamiclib -o .libs/libfflas_c.1.dylib .libs/fflas_lvl1.o .libs/fflas_lvl2.o .libs/fflas_lvl3.o .libs/fflas_sparse.o -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib ./.libs/libfflas.dylib -lopenblas -O2 -march=native -g -O2 -Wl,-rpath -Wl,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -Wl,-rpath -Wl,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -install_name /Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib/libfflas_c.1.dylib -compatibility_version 2 -current_version 2.0 -Wl,-single_module
Undefined symbols for architecture x86_64:
"Givaro::Integer::operator%(unsigned long long) const", referenced from:
Givaro::Modular<double, double, void>::init(double&, Givaro::Integer const&) const in fflas_lvl1.o
Givaro::Modular<double, double, void>::init(double&, Givaro::Integer const&) const in fflas_lvl2.o
Givaro::Modular<double, double, void>::init(double&, Givaro::Integer const&) const in fflas_lvl3.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[7]: *** [libfflas_c.la] Error 1
2 warnings generated.
2 warnings generated.
/bin/bash ../../../libtool --tag=CXX --mode=link g++ -std=gnu++11 -std=gnu++11 -O2 -march=native -Wall -DNDEBUG -UDEBUG -g -O2 -version-info 1:0:0 -no-undefined -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -Wl,-rpath,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -Wl,-rpath,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -o libffpack.la -rpath /Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib ffpack_inst.lo libfflas.la -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -lopenblas
libtool: link: g++ -std=gnu++11 -std=gnu++11 -dynamiclib -o .libs/libffpack.1.dylib .libs/ffpack_inst.o -L/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib ./.libs/libfflas.dylib -lopenblas -O2 -march=native -g -O2 -Wl,-rpath -Wl,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -Wl,-rpath -Wl,/Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib -install_name /Users/runner/work/fflas-ffpack/fflas-ffpack/.tox/local-homebrew-macos-usrlocal-minimal/local/lib/libffpack.1.dylib -compatibility_version 2 -current_version 2.0 -Wl,-single_module
Undefined symbols for architecture x86_64:
"Givaro::Degree::deginfty", referenced from:
Givaro::Poly1Dom<Givaro::ModularBalanced<double>, Givaro::Dense>::assign(std::__1::vector<double, std::__1::allocator<double> >&, std::__1::vector<double, std::__1::allocator<double> > const&) const in ffpack_inst.o
Givaro::Poly1Dom<Givaro::ModularBalanced<float>, Givaro::Dense>::assign(std::__1::vector<float, std::__1::allocator<float> >&, std::__1::vector<float, std::__1::allocator<float> > const&) const in ffpack_inst.o
Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::assign(std::__1::vector<long long, std::__1::allocator<long long> >&, std::__1::vector<long long, std::__1::allocator<long long> > const&) const in ffpack_inst.o
Givaro::Poly1Dom<Givaro::Modular<double, double, void>, Givaro::Dense>::assign(std::__1::vector<double, std::__1::allocator<double> >&, std::__1::vector<double, std::__1::allocator<double> > const&) const in ffpack_inst.o
Givaro::Poly1Dom<Givaro::Modular<float, float, void>, Givaro::Dense>::assign(std::__1::vector<float, std::__1::allocator<float> >&, std::__1::vector<float, std::__1::allocator<float> > const&) const in ffpack_inst.o
Givaro::Poly1Dom<Givaro::Modular<long long, long long, void>, Givaro::Dense>::assign(std::__1::vector<long long, std::__1::allocator<long long> >&, std::__1::vector<long long, std::__1::allocator<long long> > const&) const in ffpack_inst.o
"Givaro::Integer::Integer(double)", referenced from:
void FFPACK::RandomNullSpaceVector<Givaro::ModularBalanced<float> >(Givaro::ModularBalanced<float> const&, FFLAS::FFLAS_SIDE, unsigned long, unsigned long, Givaro::ModularBalanced<float>::Element_ptr, unsigned long, Givaro::ModularBalanced<float>::Element_ptr, unsigned long) in ffpack_inst.o
Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::Element& FFPACK::CharPoly<Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense> >(Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense> const&, Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::Element&, unsigned long, Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::Domain_t::Element_ptr, unsigned long, FFPACK::FFPACK_CHARPOLY_TAG, unsigned long) in ffpack_inst.o
...
"Givaro::Integer::operator double() const", referenced from:
double FFLAS::Protected::computeFactorClassic<Givaro::ModularBalanced<double> >(Givaro::ModularBalanced<double> const&) in ffpack_inst.o
double FFLAS::Protected::computeFactorClassic<Givaro::ModularBalanced<float> >(Givaro::ModularBalanced<float> const&) in ffpack_inst.o
double FFLAS::Protected::computeFactorClassic<Givaro::Modular<double, double, void> >(Givaro::Modular<double, double, void> const&) in ffpack_inst.o
double FFLAS::Protected::computeFactorClassic<Givaro::Modular<float, float, void> >(Givaro::Modular<float, float, void> const&) in ffpack_inst.o
"Givaro::Integer::operator==(int) const", referenced from:
unsigned long FFLAS::Protected::DotProdBoundClassic<Givaro::ModularBalanced<double> >(Givaro::ModularBalanced<double> const&, Givaro::ModularBalanced<double>::Element const&) in ffpack_inst.o
unsigned long FFLAS::Protected::DotProdBoundClassic<Givaro::ModularBalanced<float> >(Givaro::ModularBalanced<float> const&, Givaro::ModularBalanced<float>::Element const&) in ffpack_inst.o
unsigned long FFLAS::Protected::DotProdBoundClassic<Givaro::Modular<double, double, void> >(Givaro::Modular<double, double, void> const&, Givaro::Modular<double, double, void>::Element const&) in ffpack_inst.o
unsigned long FFLAS::Protected::DotProdBoundClassic<Givaro::Modular<float, float, void> >(Givaro::Modular<float, float, void> const&, Givaro::Modular<float, float, void>::Element const&) in ffpack_inst.o
"Givaro::Integer::operator<(unsigned long long) const", referenced from:
std::__1::list<Givaro::Poly1Dom<Givaro::ModularBalanced<double>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::ModularBalanced<double>, Givaro::Dense>::Element> >& FFPACK::CharPoly<Givaro::Poly1Dom<Givaro::ModularBalanced<double>, Givaro::Dense> >(Givaro::Poly1Dom<Givaro::ModularBalanced<double>, Givaro::Dense> const&, std::__1::list<Givaro::Poly1Dom<Givaro::ModularBalanced<double>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::ModularBalanced<double>, Givaro::Dense>::Element> >&, unsigned long, Givaro::Poly1Dom<Givaro::ModularBalanced<double>, Givaro::Dense>::Domain_t::Element_ptr, unsigned long, Givaro::Poly1Dom<Givaro::ModularBalanced<double>, Givaro::Dense>::Domain_t::RandIter&, FFPACK::FFPACK_CHARPOLY_TAG, unsigned long) in ffpack_inst.o
std::__1::list<Givaro::Poly1Dom<Givaro::ModularBalanced<float>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::ModularBalanced<float>, Givaro::Dense>::Element> >& FFPACK::CharPoly<Givaro::Poly1Dom<Givaro::ModularBalanced<float>, Givaro::Dense> >(Givaro::Poly1Dom<Givaro::ModularBalanced<float>, Givaro::Dense> const&, std::__1::list<Givaro::Poly1Dom<Givaro::ModularBalanced<float>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::ModularBalanced<float>, Givaro::Dense>::Element> >&, unsigned long, Givaro::Poly1Dom<Givaro::ModularBalanced<float>, Givaro::Dense>::Domain_t::Element_ptr, unsigned long, Givaro::Poly1Dom<Givaro::ModularBalanced<float>, Givaro::Dense>::Domain_t::RandIter&, FFPACK::FFPACK_CHARPOLY_TAG, unsigned long) in ffpack_inst.o
std::__1::list<Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::Element> >& FFPACK::CharPoly<Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense> >(Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense> const&, std::__1::list<Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::Element> >&, unsigned long, Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::Domain_t::Element_ptr, unsigned long, Givaro::Poly1Dom<Givaro::ModularBalanced<long long>, Givaro::Dense>::Domain_t::RandIter&, FFPACK::FFPACK_CHARPOLY_TAG, unsigned long) in ffpack_inst.o
std::__1::list<Givaro::Poly1Dom<Givaro::Modular<double, double, void>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::Modular<double, double, void>, Givaro::Dense>::Element> >& FFPACK::CharPoly<Givaro::Poly1Dom<Givaro::Modular<double, double, void>, Givaro::Dense> >(Givaro::Poly1Dom<Givaro::Modular<double, double, void>, Givaro::Dense> const&, std::__1::list<Givaro::Poly1Dom<Givaro::Modular<double, double, void>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::Modular<double, double, void>, Givaro::Dense>::Element> >&, unsigned long, Givaro::Poly1Dom<Givaro::Modular<double, double, void>, Givaro::Dense>::Domain_t::Element_ptr, unsigned long, Givaro::Poly1Dom<Givaro::Modular<double, double, void>, Givaro::Dense>::Domain_t::RandIter&, FFPACK::FFPACK_CHARPOLY_TAG, unsigned long) in ffpack_inst.o
std::__1::list<Givaro::Poly1Dom<Givaro::Modular<float, float, void>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::Modular<float, float, void>, Givaro::Dense>::Element> >& FFPACK::CharPoly<Givaro::Poly1Dom<Givaro::Modular<float, float, void>, Givaro::Dense> >(Givaro::Poly1Dom<Givaro::Modular<float, float, void>, Givaro::Dense> const&, std::__1::list<Givaro::Poly1Dom<Givaro::Modular<float, float, void>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::Modular<float, float, void>, Givaro::Dense>::Element> >&, unsigned long, Givaro::Poly1Dom<Givaro::Modular<float, float, void>, Givaro::Dense>::Domain_t::Element_ptr, unsigned long, Givaro::Poly1Dom<Givaro::Modular<float, float, void>, Givaro::Dense>::Domain_t::RandIter&, FFPACK::FFPACK_CHARPOLY_TAG, unsigned long) in ffpack_inst.o
std::__1::list<Givaro::Poly1Dom<Givaro::Modular<long long, long long, void>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::Modular<long long, long long, void>, Givaro::Dense>::Element> >& FFPACK::CharPoly<Givaro::Poly1Dom<Givaro::Modular<long long, long long, void>, Givaro::Dense> >(Givaro::Poly1Dom<Givaro::Modular<long long, long long, void>, Givaro::Dense> const&, std::__1::list<Givaro::Poly1Dom<Givaro::Modular<long long, long long, void>, Givaro::Dense>::Element, std::__1::allocator<Givaro::Poly1Dom<Givaro::Modular<long long, long long, void>, Givaro::Dense>::Element> >&, unsigned long, Givaro::Poly1Dom<Givaro::Modular<long long, long long, void>, Givaro::Dense>::Domain_t::Element_ptr, unsigned long, Givaro::Poly1Dom<Givaro::Modular<long long, long long, void>, Givaro::Dense>::Domain_t::RandIter&, FFPACK::FFPACK_CHARPOLY_TAG, unsigned long) in ffpack_inst.o
"Givaro::Integer::operator-(long long) const", referenced from:
double FFLAS::Protected::computeFactorClassic<Givaro::ModularBalanced<double> >(Givaro::ModularBalanced<double> const&) in ffpack_inst.o
double FFLAS::Protected::computeFactorClassic<Givaro::ModularBalanced<float> >(Givaro::ModularBalanced<float> const&) in ffpack_inst.o
double FFLAS::Protected::computeFactorClassic<Givaro::Modular<double, double, void> >(Givaro::Modular<double, double, void> const&) in ffpack_inst.o
double FFLAS::Protected::computeFactorClassic<Givaro::Modular<float, float, void> >(Givaro::Modular<float, float, void> const&) in ffpack_inst.o
"Givaro::Integer::operator>>(int) const", referenced from:
double FFLAS::Protected::computeFactorClassic<Givaro::ModularBalanced<double> >(Givaro::ModularBalanced<double> const&) in ffpack_inst.o
double FFLAS::Protected::computeFactorClassic<Givaro::ModularBalanced<float> >(Givaro::ModularBalanced<float> const&) in ffpack_inst.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
kwankyu commented
Can we hope this to be fixed soon?
kwankyu commented
fflas-ffpack v2.5.0, with system givaro and openblas, installs fine on my mac following the standard install guide here.
I suspect that the reported build failure is caused by peculiar sage build configurations and environment.
Hence I think it is unlikely that the reported issue (at least as presented here) may be fixed by developers here...