Summary: | =dev-lang/tk-8.6.6 fails to build with LTO -- libtk8.6.so: error: undefined reference to 'tclStubsPtr' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Petross404(Petros S) <petross404> |
Component: | Current packages | Assignee: | TCL/TK Project <tcltk> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | chaoscrawler, gentoo, paolo.pedroni |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 618550 | ||
Attachments: |
build.log
emerge --info |
Created attachment 470462 [details]
emerge --info
i do confirm this problem exist also with gcc-5.4.0 to resolve you have to rebuild tcl without lto , then emerge tk again. (In reply to curious from comment #2) > i do confirm this problem exist also with gcc-5.4.0 > to resolve you have to rebuild tcl without lto , then emerge tk again. I can confirm both the bug (with both gcc-5.4.0 and gcc-6.3.0) and the workaround. As previously stated, when trying to emerge dev-lang/tk-8.6.6 with LTO, it was necessary to first emerge dev-lang/tcl-8.6.6 without LTO, and then emerge dev-lang/tk-8.6.6 with LTO, to avoid this error and emerge failure. However, with the update to dev-lang/tcl-8.6.7 and dev-lang/tk-8.6.7, this no longer worked. It was actually necessary to emerge both without LTO to avoid this error emerging dev-lang/tk-8.6.7. Adding those to make.conf: AR="gcc-ar" NM="gcc-nm" RANLIB="gcc-ranlib" make me build it succesfully |
Created attachment 470460 [details] build.log dev-lang/tk can't play nice with GCC6.3 and LTO : /tmp/portage/dev-lang/tk-8.6.6/temp/cc8sLhEC.lto.o /tmp/portage/dev-lang/tk-8.6.6/work/tk8.6.6/unix-abi_x86_64.amd64/libtk8.6.so: error: undefined reference to 'tclStubsPtr' /tmp/portage/dev-lang/tk-8.6.6/work/tk8.6.6/unix-abi_x86_64.amd64/libtk8.6.so: error: undefined reference to 'Tcl_InitStubs' /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: initial tasks run time: (user: 0.010000 sys: 0.010000 wall: 0.160000) /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: middle tasks run time: (user: 0.000000 sys: 0.000000 wall: 0.000000) /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: final tasks run time: (user: 0.000000 sys: 0.000000 wall: 0.000000) /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: total run time: (user: 0.010000 sys: 0.010000 wall: 0.170000) /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: total space allocated by malloc: 6406144 bytes /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: total bytes mapped for read: 22246866 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: maximum bytes mapped for read at one time: 22246866 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: archive libraries: 12 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: total archive members: 1128 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: loaded archive members: 1 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: lib groups: 0 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: total lib groups members: 0 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: loaded lib groups members: 0 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: output file size: 11896 bytes /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: symbol table entries: 9284; buckets: 28411 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: symbol table stringpool entries: 6325; buckets: 28411 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: symbol table stringpool Stringdata structures: 97 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: section name pool entries: 30; buckets: 47 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: section name pool Stringdata structures: 1 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: output symbol name pool entries: 35; buckets: 59 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: output symbol name pool Stringdata structures: 1 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: dynamic name pool entries: 31; buckets: 59 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: dynamic name pool Stringdata structures: 1 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .rodata merged constants size: 4; input: 1; output: 1 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .rodata merged strings input bytes: 28 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .rodata merged strings input strings: 3 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .rodata merged strings entries: 3; buckets: 5 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .rodata merged strings Stringdata structures: 1 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .comment merged strings input bytes: 192 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .comment merged strings input strings: 6 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .comment merged strings entries: 2; buckets: 5 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .comment merged strings Stringdata structures: 1 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: total free lists: 0 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: total free list nodes: 0 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: calls to Free_list::remove: 0 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: nodes visited: 0 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: calls to Free_list::allocate: 0 /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: nodes visited: 0 collect2: error: ld returned 1 exit status make: *** [Makefile:618: wish] Error 1