AchilleTalon Guru


Joined: 11 Apr 2004 Posts: 368 Location: Montreal, Quebec, Canada
|
Posted: Mon Dec 12, 2016 2:29 pm Post subject: sci-electronics/spice-3.5.5-r1 doesn't ebuild with +tinfo |
|
|
When you have the use flag +tinfo (this one is required by nvidia-cuda) spice is failing to ebuild due to a problem locating some ncurses functions which are splitted in libtinfow instead of libncurses.
Here is the message you get from the emerge command:
| Code: |
(...)
cc -O1 -pipe -DWANT_X11 -I/usr/include -I/usr/include/X11 -I/usr/include/X11/Xmu -I/usr/include/X11/Xaw \
-c -I/var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/src/include -I/var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/src//lib/dev/ /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/src/bin//help.c
cc -o help help.o /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/obj/lib/hlp.a /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/obj/lib/cp.a /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/obj/lib/misc.a -L/usr/lib -lXaw -lXt -lXext -lXmu -lSM -lICE -lX11 -lncurses -lm -Wl,-O1 -Wl,--as-needed tune.o
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/obj/lib/cp.a(output.o): undefined reference to symbol 'tgoto'
/lib64/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
/var/tmp/portage/sci-electronics/spice-3.5.5-r1/temp/GmFMzZxw:1079: recipe for target 'help' failed
make[3]: *** [help] Error 1
cc -O1 -pipe -I/var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/src/include -I/var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/src//lib/dev/ -c /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/src/bin//makeidx.c
cc -o makeidx makeidx.o /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/obj/lib/misc.a
cc -O1 -pipe -c -I/var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/src/include -I/var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/src//lib/dev/ /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/src/bin//multidec.c
cc -o multidec multidec.o /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/obj/lib/sparse.a /var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/obj/lib/misc.a -lncurses -lm -Wl,-O1 -Wl,--as-needed
make[3]: Target 'recursive' not remade because of errors.
make[3]: Leaving directory '/var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/obj/bin'
Done with spice3f5sfix/src
make[2]: Leaving directory '/var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix/obj'
Done with spice3f5sfix
make[1]: Leaving directory '/var/tmp/portage/sci-electronics/spice-3.5.5-r1/work/spice3f5sfix'
Done with build at lun déc 12 09:17:51 EST 2016
>>> Source compiled.
>>> Test phase [not enabled]: sci-electronics/spice-3.5.5-r1
>>> Install spice-3.5.5-r1 into /var/tmp/portage/sci-electronics/spice-3.5.5-r1/image/ category sci-electronics
!!! dobin: obj/bin/spice3 does not exist
!!! dobin: obj/bin/nutmeg does not exist
dobin failed
(...)
|
To fix this, you need to apply the following patch:
| Code: | --- spice3f5sfix_ori/conf/linux 2016-12-12 09:03:45.286129390 -0500
+++ spice3f5sfix/conf/linux 2016-12-12 09:05:58.878315601 -0500
@@ -10,7 +10,7 @@
-I$(X_DIR)/include/X11/Xaw
LIBX = -L$(X_DIR)/lib -lXaw -lXt -lXext -lXmu -lSM -lICE -lX11
-LDFLAGS = -lncurses -lm -Wl,-O1 -Wl,--as-needed
+LDFLAGS = -ltinfow -lncurses -lm -Wl,-O1 -Wl,--as-needed
CC_OPT = -O1 -pipe
|
To do so, create an overlay for sci-electronics/spice. Put the above patch in a file in the files directory under the name spice-3.5.5-ncurses_tinfo.patch. Patch the file spice-3.5.5-r1.ebuild with the following patch:
| Code: | --- /usr/portage/sci-electronics/spice/spice-3.5.5-r1.ebuild 2015-08-08 20:38:18.000000000 -0400
+++ spice-3.5.5-r1.ebuild 2016-12-12 09:13:32.780093860 -0500
@@ -43,6 +43,7 @@
conf/linux || die
sed -i -e "s:head -1:head -n 1:" util/build || die
epatch "${FILESDIR}"/${P}-gcc-4.1.patch
+ epatch "${FILESDIR}"/${P}-ncurses_tinfo.patch
# fix possible buffer overflow (bug #339539)
sed -i -e "s:fgets(buf, BSIZE_SP:fgets(buf, sizeof(buf):g" \
|
Do an ebuild spice-3.5.5-r1.ebuild digest, then emerge (check it actually use your overlay instead of the default)
[Moderator edit: changed [quote] tags to [code] tags to preserve output layout. -Hu] _________________ Achille Talon Hop! |
|