Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 849101 - sci-libs/tensorflow-2.8.0: fails to compile with gcc-11.3.0
Summary: sci-libs/tensorflow-2.8.0: fails to compile with gcc-11.3.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Jason Zaman
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-01 23:13 UTC by Frederik Pfautsch
Modified: 2022-06-26 02:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge_info.txt,22.63 KB, text/plain)
2022-06-01 23:13 UTC, Frederik Pfautsch
Details
tensorflow build.log (build.log.xz,65.45 KB, application/x-xz)
2022-06-01 23:14 UTC, Frederik Pfautsch
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Frederik Pfautsch 2022-06-01 23:13:22 UTC
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/include/g++-v11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:
  435 |         function(_Functor&& __f)
      |                                                                                                                                                 ^ 
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/include/g++-v11/bits/std_function.h:435:145: note:         ‘_ArgTypes’
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/include/g++-v11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’:
  530 |         operator=(_Functor&& __f)
      |                                                                                                                                                  ^ 
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/include/g++-v11/bits/std_function.h:530:146: note:         ‘_ArgTypes’

Apparently this specific problem was fixed with >=dev-util/nvidia-cuda-toolkit-1.6.0 however tensorflow-2.8.0 needs cuda 1.5. Changing CC and CXX via package.env results in nvcc not finding compiler (e.g. setting it to gcc-10.3.0 simply appends that to /usr/x86_64-pc-linux-gnu/gcc-bin/11.3.0/). Tensorflow also ignores eselect gcc.

Reproducible: Always




A workaround so far seems to be to leave eselect gcc as it is, set CC/CXX in package.env for tensorflow to g{cc,++}-10.3.0, soft link g{cc,++}-10.3.0 into the 11.3.0 folder (yes, I know)  and recompile dev-libs/protobuf, dev-cpp/abseil-cpp and dev-libs/jsoncpp with gcc10 to avoid linker errors.
Comment 1 Frederik Pfautsch 2022-06-01 23:13:49 UTC
Created attachment 782117 [details]
emerge --info
Comment 2 Frederik Pfautsch 2022-06-01 23:14:47 UTC
Created attachment 782120 [details]
tensorflow build.log
Comment 3 otrocorreoinutil 2022-06-17 09:09:03 UTC
Same problem
Comment 4 Larry the Git Cow gentoo-dev 2022-06-26 02:45:48 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcba40cc37f24b723915d1c0492aabbdb3bb597f

commit dcba40cc37f24b723915d1c0492aabbdb3bb597f
Author:     Jason Zaman <perfinion@gentoo.org>
AuthorDate: 2022-06-25 19:18:04 +0000
Commit:     Jason Zaman <perfinion@gentoo.org>
CommitDate: 2022-06-26 02:37:38 +0000

    sci-libs/tensorflow: add 2.9.0
    
    Closes: https://bugs.gentoo.org/849101
    Signed-off-by: Jason Zaman <perfinion@gentoo.org>

 sci-libs/tensorflow/Manifest                |  14 +
 sci-libs/tensorflow/tensorflow-2.9.0.ebuild | 418 ++++++++++++++++++++++++++++
 2 files changed, 432 insertions(+)