Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FTBFS when LTO is used #8

Closed
sergiodj opened this issue Feb 9, 2023 · 2 comments
Closed

FTBFS when LTO is used #8

sergiodj opened this issue Feb 9, 2023 · 2 comments

Comments

@sergiodj
Copy link

sergiodj commented Feb 9, 2023

quorum FTBFS in Debian when LTO is used. You can see the bug report here:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030954

/bin/bash ./libtool  --tag=CXX   --mode=link g++ -Wall -g -O2 -std=c++0x -Werror -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/quorum-1.1.1-7 -DHAVE_NUMERIC_LIMITS128  -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -o quorum_error_correct_reads src/error_correct_reads.o src/err_log.o -ljellyfish-2.0 -lpthread  -lrt -lpthread 
libtool: link: g++ -Wall -g -O2 -std=c++0x -Werror -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/quorum-1.1.1-7 -DHAVE_NUMERIC_LIMITS128 -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -Wl,-z -Wl,relro -Wl,-z -Wl,now -o quorum_error_correct_reads src/error_correct_reads.o src/err_log.o  /usr/lib/x86_64-linux-gnu/libjellyfish-2.0.so -lrt -lpthread
In member function '__ct ',
    inlined from '__ct_base .constprop' at ./include/jflib/multiplexed_io.hpp:82:18:
./include/jflib/pool.hpp:36:26: error: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=]
   36 |       size_(size), elts_(new T[size]), B2A(size, elts_), A2B(size, elts_)
      |                          ^
/usr/include/c++/12/new: In member function '__ct_base .constprop':
/usr/include/c++/12/new:128:26: note: in a call to allocation function 'operator new []' declared here
  128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                          ^
lto1: all warnings being treated as errors
make[3]: *** [/tmp/ccDYJbhe.mk:5: /tmp/cclUyevp.ltrans1.ltrans.o] Error 1
make[3]: *** Waiting for unfinished jobs....
lto-wrapper: fatal error: make returned 2 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:897: quorum_error_correct_reads] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:707: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j1 returned exit code 2
make: *** [debian/rules:12: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
@gmarcais
Copy link
Owner

Thank you for reporting that error. I created a draft release 1.1.2. Can you confirm that it fixes that compilation problem? If so, I'll make it the official release.

@sergiodj
Copy link
Author

Thanks for the quick reply and fix! I patched the package locally and confirmed that it fixes the problem. Thanks again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants