Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 645062

Summary: app-editors/vim-8.0.1428 - respect EPREFIX
Product: Gentoo Linux Reporter: Martin Mokrejš <mmokrejs>
Component: Current packagesAssignee: Vim Maintainers <vim>
Status: UNCONFIRMED ---    
Severity: normal CC: jstein
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description Martin Mokrejš 2018-01-19 22:00:40 UTC
There must be some regression in the ebuild of configure.* or Makefile.* files. I cannot install vim on Gentoo::RAP installations. It seems the problem is with "-L/usr/lib64" being injected into the linker commandline.

x86_64-pc-linux-gnu-gcc   -Wl,-E  -Wl,-O1 -Wl,--as-needed 	-o vim objects/arabic.o objects/beval.o objects/buffer.o objects/blowfish.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/pty.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/terminal.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o     objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o    objects/netbeans.o objects/channel.o  objects/charset.o objects/json.o objects/main.o objects/memfile.o objects/message.o    -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -lncurses -lelf -lnsl   -ldl   -Wl,-E -Wl,-O1 -Wl,--as-needed  -L/apps/gentoo/usr/lib64/perl5/5.26.1/x86_64-linux-thread-multi/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc  -L/apps/gentoo/usr/lib64/python3.5/config-3.5m -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib64 -ltcl8.5 -ldl -lieee -lm     
objects/term.o: In function `tgetent_error':
term.c:(.text+0x21a): undefined reference to `tgetent'
term.c:(.text+0x22d): undefined reference to `tgetent'
objects/term.o: In function `getlinecol':
term.c:(.text+0x43b): undefined reference to `tgetnum'
term.c:(.text+0x456): undefined reference to `tgetnum'
objects/term.o: In function `out_str_cf':
term.c:(.text+0x640): undefined reference to `tputs'
term.c:(.text+0x67e): undefined reference to `tputs'
objects/term.o: In function `out_str':
term.c:(.text+0x74e): undefined reference to `tputs'
objects/term.o: In function `term_color':
term.c:(.text+0x7a8): undefined reference to `tgoto'
term.c:(.text+0x842): undefined reference to `tgoto'
objects/term.o: In function `term_windgoto':
term.c:(.text+0x9ce): undefined reference to `tgoto'
objects/term.o: In function `term_cursor_right':
term.c:(.text+0x9f0): undefined reference to `tgoto'
objects/term.o: In function `term_append_lines':
term.c:(.text+0xa10): undefined reference to `tgoto'
objects/term.o:term.c:(.text+0xa30): more undefined references to `tgoto' follow
objects/term.o: In function `clear_termcodes':
term.c:(.text+0x1e45): undefined reference to `BC'
term.c:(.text+0x1e4c): undefined reference to `UP'
term.c:(.text+0x1e54): undefined reference to `PC'
term.c:(.text+0x1e5c): undefined reference to `ospeed'
objects/term.o: In function `set_termname':
term.c:(.text+0x2ce1): undefined reference to `tgetstr'
term.c:(.text+0x2d2d): undefined reference to `tgetnum'
term.c:(.text+0x2d45): undefined reference to `tgetnum'
term.c:(.text+0x2d75): undefined reference to `tgetstr'
term.c:(.text+0x2d93): undefined reference to `BC'
term.c:(.text+0x2d98): undefined reference to `tgetstr'
term.c:(.text+0x2db1): undefined reference to `UP'
term.c:(.text+0x2db6): undefined reference to `tgetstr'
term.c:(.text+0x2dcd): undefined reference to `PC'
term.c:(.text+0x2ddc): undefined reference to `tgetstr'
term.c:(.text+0x2dfb): undefined reference to `tgetflag'
term.c:(.text+0x2e1d): undefined reference to `tgetflag'
term.c:(.text+0x2e3f): undefined reference to `tgetflag'
term.c:(.text+0x2e72): undefined reference to `tgetflag'
term.c:(.text+0x2e94): undefined reference to `tgetflag'
objects/term.o:term.c:(.text+0x2eb6): more undefined references to `tgetflag' follow
objects/term.o: In function `set_termname':
term.c:(.text+0x2ed8): undefined reference to `tgetnum'
objects/term.o: In function `add_termcap_entry':
term.c:(.text+0x31e4): undefined reference to `tgetstr'
objects/if_xcmdsrv.o: In function `ServerWait':
if_xcmdsrv.c:(.text+0x1956): undefined reference to `__fdelt_chk'
objects/os_unix.o: In function `RealWaitForChar.isra.20':
os_unix.c:(.text+0x560e): undefined reference to `__fdelt_chk'
os_unix.c:(.text+0x561b): undefined reference to `__fdelt_chk'
os_unix.c:(.text+0x568f): undefined reference to `__fdelt_chk'
os_unix.c:(.text+0x56d7): undefined reference to `__fdelt_chk'
objects/os_unix.o:os_unix.c:(.text+0x5707): more undefined references to `__fdelt_chk' follow
/usr/lib64/libcrypt.so: undefined reference to `NSSLOWHASH_End@NSSRAWHASH_3.12.3'
/usr/lib64/libcrypt.so: undefined reference to `NSSLOWHASH_NewContext@NSSRAWHASH_3.12.3'
/apps/gentoo/usr/lib64/perl5/5.26.1/x86_64-linux-thread-multi/CORE/libperl.so: undefined reference to `memcpy@GLIBC_2.14'
/usr/lib64/libcrypt.so: undefined reference to `NSSLOWHASH_Update@NSSRAWHASH_3.12.3'
/usr/lib64/libcrypt.so: undefined reference to `NSSLOW_Init@NSSRAWHASH_3.12.3'
/apps/gentoo/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../lib64/libpython3.5m.so: undefined reference to `clock_gettime@GLIBC_2.17'
/usr/lib64/libcrypt.so: undefined reference to `NSSLOWHASH_Destroy@NSSRAWHASH_3.12.3'
/apps/gentoo/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../lib64/libpython3.5m.so: undefined reference to `clock_getres@GLIBC_2.17'
/apps/gentoo/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../lib64/libpython3.5m.so: undefined reference to `getrandom@GLIBC_2.25'
/usr/lib64/libcrypt.so: undefined reference to `NSSLOW_Shutdown@NSSRAWHASH_3.12.3'
/usr/lib64/libcrypt.so: undefined reference to `NSSLOWHASH_Begin@NSSRAWHASH_3.12.3'
/apps/gentoo/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../lib64/libpython3.5m.so: undefined reference to `clock_settime@GLIBC_2.17'
collect2: error: ld returned 1 exit status
link.sh: Linking failed
make[1]: *** [Makefile:1942: vim] Error 1
make[1]: Leaving directory '/apps/gentoo/var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src'
make: *** [Makefile:29: first] Error 2
 * ERROR: app-editors/vim-8.0.1428::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=app-editors/vim-8.0.1428::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=app-editors/vim-8.0.1428::gentoo'`.
 * The complete build log is located at '/apps/gentoo/var/tmp/portage/app-editors/vim-8.0.1428/temp/build.log'.
 * The ebuild environment file is located at '/apps/gentoo/var/tmp/portage/app-editors/vim-8.0.1428/temp/environment'.
 * Working directory: '/apps/gentoo/var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428'
 * S: '/apps/gentoo/var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428'
Comment 1 Martin Mokrejš 2018-01-19 22:00:59 UTC
Created attachment 515322 [details]
build.log
Comment 2 Martin Mokrejš 2018-01-19 22:05:01 UTC
$ emerge -pv vim

[ebuild   R    ] app-editors/vim-8.0.1428::gentoo  USE="X nls perl* python* tcl -acl -cscope -debug (-gpm) -lua -luajit -minimal* -racket -ruby (-selinux) -terminal -vim-pager" PYTHON_SINGLE_TARGET="python3_5 -python2_7 -python3_4 -python3_6" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 0 KiB

Hmm, so is that because of some eclass being wrong now?

Here is when I managed to install it:

1515595475: Started emerge on: Jan 10, 2018 15:44:34
1515595475:  *** emerge --oneshot vim
1515595489:  >>> emerge (1 of 1) app-editors/vim-8.0.1428 to /apps/gentoo/
1515595489:  === (1 of 1) Cleaning (app-editors/vim-8.0.1428::/apps/gentoo/usr/portage/app-editors/vim/vim-8.0.1428.ebuild)
1515595489:  === (1 of 1) Compiling/Merging (app-editors/vim-8.0.1428::/apps/gentoo/usr/portage/app-editors/vim/vim-8.0.1428.ebuild)
1515595569:  === (1 of 1) Merging (app-editors/vim-8.0.1428::/apps/gentoo/usr/portage/app-editors/vim/vim-8.0.1428.ebuild)
1515595571:  >>> AUTOCLEAN: app-editors/vim:0
1515595571:  === Unmerging... (app-editors/vim-8.0.0386)
1515595576:  >>> unmerge success: app-editors/vim-8.0.0386
1515595580:  === (1 of 1) Post-Build Cleaning (app-editors/vim-8.0.1428::/apps/gentoo/usr/portage/app-editors/vim/vim-8.0.1428.ebuild)
1515595580:  ::: completed emerge (1 of 1) app-editors/vim-8.0.1428 to /apps/gentoo/
1515595580:  *** Finished. Cleaning up...
1515595584:  *** exiting successfully.
1515595584:  *** terminating.
Comment 3 Martin Mokrejš 2018-01-19 22:18:24 UTC
And the ebuild should require =dev-lang/tcl-8.5, as the link commandline shows:

/apps/gentoo/var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428/src $ x86_64-pc-linux-gnu-gcc   -Wl,-E  -Wl,-O1 -Wl,--as-needed -o vim objects/arabic.o objects/beval.o objects/buffer.o objects/blowfish.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/pty.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/terminal.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o     objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o    objects/netbeans.o objects/channel.o  objects/charset.o objects/json.o objects/main.o objects/memfile.o objects/message.o    -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -lncurses -lelf -lnsl   -ldl   -Wl,-E -Wl,-O1 -Wl,--as-needed  -L/apps/gentoo/usr/lib64/perl5/5.26.1/x86_64-linux-thread-multi/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc  -L/apps/gentoo/usr/lib64/python3.5/config-3.5m -lpython3.5m -lpthread -ldl -lutil -lm -L/apps/gentoo/usr/lib64 -ltcl8.5 -ldl -lieee -lm 
/apps/gentoo/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -ltcl8.5
collect2: error: ld returned 1 exit status



In reality, I have only version 8.6 installed:

$ emerge -pv tcl

[ebuild   R    ] dev-lang/tcl-8.6.7:0/8.6::gentoo  USE="threads -debug" 0 KiB

Well, it does link against -ltcl8.6 so I will leave it up to you what went wrong with configure checks for tcl version.
Comment 4 Martin Mokrejš 2018-01-24 21:43:34 UTC
/apps/gentoo/var/tmp/portage/app-editors/vim-8.0.1428/work/vim-8.0.1428 $ find . -type f | xargs grep tcl8.5
./runtime/syntax/tcl.vim:" Sequences which are backslash-escaped: http://www.tcl.tk/man/tcl8.5/TclCmd/Tcl.htm#M16
./src/auto/config.log:TCL_LIBS='-L/usr/lib64 -ltcl8.5 -ldl -lieee -lm'
./src/auto/config.status:S["TCL_LIBS"]="-L/usr/lib64 -ltcl8.5 -ldl -lieee -lm"
./src/auto/config.mk:TCL_LIBS	= -L/usr/lib64 -ltcl8.5 -ldl -lieee -lm
./src/auto/pathdef.c:char_u *all_lflags = (char_u *)"x86_64-pc-linux-gnu-gcc  -L/apps/gentoo/usr/lib64   -Wl,-E  -Wl,-O1 -Wl,--as-needed -o vim    -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -lncurses -lelf -lnsl   -ldl   -Wl,-E -Wl,-O1 -Wl,--as-needed  -L/apps/gentoo/usr/lib64/perl5/5.26.1/x86_64-linux-thread-multi/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc -L/apps/gentoo/usr/lib64/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic  -L/usr/lib64 -ltcl8.5 -ldl -lieee -lm     ";

So something rouhghly like sed -e 's#tcl8.5#tcl8.6#g;s#/usr/lib64#${EPREFIX}/usr/(get-libdir)#g' ?