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

gcc 4.8.2 compile failure #223

Closed
nelgin opened this issue Jul 20, 2014 · 3 comments
Closed

gcc 4.8.2 compile failure #223

nelgin opened this issue Jul 20, 2014 · 3 comments

Comments

@nelgin
Copy link

nelgin commented Jul 20, 2014

I have no idea if this is a gcc bug or an rtorrent bug.

/usr/include/c++/4.8.2/functional:1391:40: required by substitution of ‘template<class _CVArg, class ... _Args, long unsigned int ..._Indexes> decltype (__arg((declval<_Args>)()...)) std::_Mu<_Arg, true, false>::__call(_CVArg&, std::tuple<_Args2 ...>&, const std::_Index_tuple<_Indexes ...>&) const volatile [with _CVArg = _CVArg; _Args = {_Args ...}; long unsigned int ..._Indexes = {_Indexes ...}; _Arg = std::_Bind<std::_Mem_fn<const torrent::HashString& (torrent::DownloadInfo::)()const>(std::_Bind<std::_Mem_fn<const torrent::DownloadInfo (core::Download::)()const>(std::_Placeholder<1>)>)>] [with _CVArg = std::_Bind<std::_Mem_fn<const torrent::HashString& (torrent::DownloadInfo::)()const>(std::_Bind<std::_Mem_fn<const torrent::DownloadInfo* (core::Download::*)()const>(std::_Placeholder<1>)>)>; Args = {core::Download&&, const torrent::Object&}; long unsigned int ..._Indexes = {0ul, 1ul}]’
/usr/include/c++/4.8.2/functional:1143:50: template instantiation depth exceeds maximum of 900 (use -ftemplate-depth= to increase the maximum) substituting ‘template typename std::add_rvalue_reference< >::type std::declval() [with Tp = core::Download&&]’
g++: internal compiler error: Segmentation fault (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See http://bugzilla.redhat.com/bugzilla for instructions.
make[3]: *** [command_download.o] Error 4
make[3]: Leaving directory /root/rtorrent/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory/root/rtorrent/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/rtorrent'
make: *** [all] Error 2

@rakshasa
Copy link
Owner

If it doesn't show up on other compilers, considering it a compiler bug.

@mikefaille
Copy link

I have this problem compiling with gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16) from CentOS7 with libtorrent branch IPV6

@TCSFrank
Copy link

same issue on gcc 4.8.2 with latest rtorrent. Causes an indefinite loop.
edit: fixed by compiling with gcc-5.1.0

buildroot-auto-update pushed a commit to buildroot/buildroot that referenced this issue Sep 16, 2018
Upstream considers the build error as compiler bug:
rakshasa/rtorrent#223

Building with gcc 4.9 works, tested with this defconfig:

BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_GCC_VERSION_4_9_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_RTORRENT=y

Fixes
http://autobuild.buildroot.net/results/990/990c9d62f3d275bd4e2ffad41bdb6d68c483cbb1/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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

4 participants