First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 112820
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Games <games@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Denis Dupeyron <calchan@gentoo.org>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
gnubg-0.14.3.ebuild gnubg-0.14.3.ebuild text/plain Denis Dupeyron 2005-11-17 07:12 0000 2.53 KB Details
gnubg-0.14.3-font3d.diff gnubg-0.14.3-font3d.diff patch Denis Dupeyron 2005-11-17 07:14 0000 972 bytes Details | Diff
gnubg-0.14.3.ebuild.diff gnubg-0.14.3.ebuild.diff patch Denis Dupeyron 2006-07-19 12:25 0000 403 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 112820 depends on: Show dependency tree
Show dependency graph
Bug 112820 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-11-17 07:09 0000
Emerging gnubg-0.14.3 returns the following error :
./board3d/libboard3d.a(font3d.o):(.gnu.linkonce.r._ZTV13MyOutlineFont+0x20):
undefined reference to `FTGLOutlineFont::MakeGlyph(unsigned int)'
collect2: ld returned 1 exit status

The fix was found in the gnubg mailing-list archive at
http://lists.gnu.org/archive/html/bug-gnubg/2005-09/msg00009.html

I have created a small patch for it and added the corresponding epatch statement
to the ebuild.

Reproducible: Always
Steps to Reproduce:
1. emerge =games-board/gnubg-0.14.3
Actual Results:  
./board3d/libboard3d.a(font3d.o):(.gnu.linkonce.r._ZTV13MyOutlineFont+0x20):
undefined reference to `FTGLOutlineFont::MakeGlyph(unsigned int)'
collect2: ld returned 1 exit status

Expected Results:  
Should emerge without producing an error.

emerge info :

Portage 2.0.53_rc7 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r3,
2.6.14-ck4 i686)
=================================================================
System uname: 2.6.14-ck4 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz
Gentoo Base System version 1.12.0_pre10
dev-lang/python:     2.3.5, 2.4.2
sys-apps/sandbox:    1.2.13
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -pipe -Os -fomit-frame-pointer -fno-ident -fforce-addr
-ftracer -fweb -falign-functions=4 -ffast-math"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -pipe -Os -fomit-frame-pointer -fno-ident -fforce-addr
-ftracer -fweb -falign-functions=4 -ffast-math -fvisibility-inlines-hidden
-D_FILE_OFFSET_BITS=64"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1 -Wl,--sort-common"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aac acpi alsa audiofile avi bash-completion berkdb bitmap-fonts bzip2
cdparanoia cjk crypt cups dts dv dvd dvdread edl emboss encode exif expat fam
firefox foomaticdb fortran gdbm gif glibc-omitfp glitz glut gmp gnome gtk gtk2
hal howl i8x0 imlib ipv6 java jpeg lcms libg++ libwww live logrotate lzo mad
matroska mikmod mmx mmxext mng motif moznocompose moznoirc moznomail mozsvg mp3
mpeg ncurses nls nptl nptlonly nsplugin ogg oggvorbis opengl oss pam pdflib perl
pic plotutils png python quicktime readline rle rtc samba sdl spell sse sse2 ssl
svg tcpd theora tiff truetype truetype-fonts type1-fonts udev unicode usb
userlocales vorbis win32codecs xanim xml2 xv xvid xvmc zlib userland_GNU
kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LINGUAS, MAKEOPTS

------- Comment #1 From Denis Dupeyron 2005-11-17 07:12:05 0000 -------
Created an attachment (id=73090) [edit]
gnubg-0.14.3.ebuild

------- Comment #2 From Denis Dupeyron 2005-11-17 07:14:01 0000 -------
Created an attachment (id=73091) [edit]
gnubg-0.14.3-font3d.diff

------- Comment #3 From Denis Dupeyron 2006-07-19 12:25:51 0000 -------
Created an attachment (id=92228) [edit]
gnubg-0.14.3.ebuild.diff

Here's a diff against the current version of gnubg-0.14.3 as discussed
yesterday on irc with SpanKY and Mr. Bones. In our discussion there was an
allusion to removing the gnuconfig_update statement, as the games eclass was
doing this. It looks to me that this used to be the case but not anymore, or am
I just being shortsighted as usual ?

Please tell me if you'd like me to commit this myself. This bug is getting old,
so I'm even ready to add my name to the metadata if that's the price to pay to
get it in portage... ;o)

Denis.

------- Comment #4 From Mr. Bones. 2006-07-19 14:41:43 0000 -------
The reason the bug has been open for so long is because it doesn't fail for me
and I haven't heard an explaination why it fails.  I don't have a problem with
the patch per se, I just don't like patching stuff when it's not obvious why
the patch is needed.  If you can explain what exactly is broken so I can
reproduce the problem here, that'd be great.

------- Comment #5 From Denis Dupeyron 2006-07-20 12:09:52 0000 -------
(In reply to comment #4)
> The reason the bug has been open for so long is because it doesn't fail for me
> and I haven't heard an explaination why it fails.  I don't have a problem with
> the patch per se, I just don't like patching stuff when it's not obvious why
> the patch is needed.  If you can explain what exactly is broken so I can
> reproduce the problem here, that'd be great.

Do you build gnubg with gtk and opengl USE flags ? If you don't, you can't have
the issue, as you need both these USE flags enabled to make use of FTGL.

I'm really not good at C++, but here's what I understand. A 'MyOutlineFont'
class is defined, based on FTGLOutlineFont, in order to avoid using
FTGLOutlineFont::Render and speed-up rendering. This fails at link time because
the new class can't obviously access FTGLOutlineFont::MakeGlyph which is a
private virtual. I suppose this used to work with older versions of FTGL.

gnubg-0.14.3 is an old thing, and 3D rendering has certainly made a lot of
progress since it was released. Even my not so recent Athlon XP 1600+ with 256
MB of RAM and a Geforce 3 Ti 200 has no issue rendering gnubg in 3D with the
proposed patch (not that I like gnubg in 3D, though). This makes the trick of
shunting FTGLOutlineFont::Render less necessary nowadays. And for those who
still have machines old enough to suffer from rendering slowdowns in 3D, they
can either build without opengl and/or simply not use the 3D boards since they
are, thank Zeus, not mandatory.

Denis.

------- Comment #6 From Mr. Bones. 2006-07-20 12:27:18 0000 -------
It builds fine for me with:

USE="X args esd gdbm gtk opengl python readline nls" ebuild
./gnubg-0.14.3.ebuild clean install

for both versions of ftgl in portage.

Here's my emerge --info:

Portage 2.1.1_pre3-r1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4,
2.6.17-rc4 i686)
=================================================================
System uname: 2.6.17-rc4 i686 AMD Athlon(tm) Processor
Gentoo Base System version 1.6.15
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[enabled]
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.3.5, 1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-mtune=athlon -O3 -pipe -Wall"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config
/usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind"
CONFIG_PROTECT_MASK="/etc/X11/app-defaults /etc/X11/rstart
/etc/X11/serverconfig /etc/X11/starthere /etc/X11/xdm /etc/bash_completion
/etc/env.d /etc/gconf /etc/init.d /etc/pango /etc/revdep-rebuild
/etc/sound/events /etc/ssmtp /etc/terminfo /usr/lib/X11/xkb"
CXXFLAGS="-mtune=athlon -O3 -Wall -Wno-deprecated"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache cvs distcc distlocks metadata-transfer
parallel-fetch sandbox sfperms"
GENTOO_MIRRORS="http://mirrors.acm.cs.rpi.edu/gentoo/ http://gentoo.osuosl.org
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="C"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/home/msterret/gentoo-x86"
PORTDIR_OVERLAY="/home/msterret/src/portage-overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowex 3dnowext X aac alsa apache2 apm arts artworkextra avi
bash-completion berkdb bitmap-fonts browserplugin bzip2 cli crypt cscope cups
divx4linux dlloader dri dvd eds encode esd firefox flac foomaticdb gdbm gif
gimpprint gnome gpm gstreamer gtk gtk2 isdnlog java joystick jpeg libg++ libwww
live lzo mad matroska mikmod mmx mmx2 mmxext moznocompose moznoirc moznomail
mp3 mpeg musepack ncurses network nomotif noreiserfs nptl nsplugin nvidia ogg
opengl oss pam pcre pdflib perl png ppds pppd python quicktime readline real
reflection sdl session spell spl ssl svg tcpd theora tiff truetype
truetype-fonts type1-fonts udev userlocales vorbis win32codecs xml xmms xorg xv
zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux
userland_GNU video_cards_vesa video_cards_vga video_cards_dummy
video_cards_nvidia video_cards_nv"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, LINGUAS,
PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #7 From Denis Dupeyron 2006-07-25 11:29:10 0000 -------
I can confirm the whole thing is due to FTGL being compiled with
-fvisibility-inline-hidden. Note that gnubg doesn't care being built with it or
not (which seems logical).

Now the question is, since -fvisibility-inline-hidden is on the "you're on your
own" flag list (at least for some devs), is it worth opening a new bug for FTGL
or not ?

Denis.

------- Comment #8 From Mr. Bones. 2006-07-25 12:34:32 0000 -------
I added strip-flags to the latest ftgl ebuild.  Can you verify that it fixes
things up for you please?

------- Comment #9 From Denis Dupeyron 2006-07-26 10:05:30 0000 -------
(In reply to comment #8)
> I added strip-flags to the latest ftgl ebuild.  Can you verify that it fixes
> things up for you please?

It does, thanks a lot.
Denis.

------- Comment #10 From Mr. Bones. 2006-07-26 11:04:58 0000 -------
great, thanks for tracking this down.

------- Comment #11 From Jozsef Daniel 2006-08-28 02:42:33 0000 -------
This update also fixes the amd64 arch "recompile with -fPIC" error when
building anything that depends on FTGL.

First Last Prev Next    No search results available      Search page      Enter new bug