Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 123279 - graphviz-2.6-r1 fails to build (gv_perl.cpp)
Summary: graphviz-2.6-r1 fails to build (gv_perl.cpp)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Graphics Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-18 07:42 UTC by Lukasz Goralczyk
Modified: 2006-05-27 19:36 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lukasz Goralczyk 2006-02-18 07:42:01 UTC
Application: graphviz-2.6-r1 . The build process stops like this (I cut out most of the lines):
[...]
 i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../lib/gvc -I../../lib/common -I../../lib/graph -I../../lib/cdt -I../../lib/pathplan -I/usr/lib/perl5/5.8.8/i686-linux/CORE -I/usr/include/python2.4 -mcpu=athlon-xp -O3 -pipe -c gv_perl.cpp  -fPIC -DPIC -o .libs/gv_perl.o
gv_perl.cpp:879: error: syntax error before `__attribute__'
gv_perl.cpp:879: error: syntax error before `)' token
gv_perl.cpp:880: error: syntax error before `*' token
gv_perl.cpp:885: error: 'SwigPerlWrapperPtr' is used as a type, but is not
   defined as a type.
gv_perl.cpp:1145: error: syntax error before `__attribute__'
gv_perl.cpp: In function `void _wrap_graph__SWIG_0(...)':
gv_perl.cpp:1152: error: syntax error before `if'
gv_perl.cpp:1154: error: syntax error before `}' token
gv_perl.cpp:1157: error: ISO C++ forbids declaration of `result' with no type
[...]

I tried with empty CFLAGS - the result is the same. The full output of emerge: http://liku.sdfpau.org/emerge.7z (use http://www.7-zip.org/ to unpack, 35k archive, 650k after unpacking). Maybe something's wrong with my system's settings???

emerge --info:
--- start ---
Portage 2.1_pre4-r1 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.6-r2, 2.6.15-gentoo-r5 i686)
=================================================================
System uname: 2.6.15-gentoo-r5 i686 AMD Athlon(tm) XP 2000+
Gentoo Base System version 1.12.0_pre15
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2-r1
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-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-mcpu=athlon-xp -O3 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-mcpu=athlon-xp -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks keepwork sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl http://gentoo.zie.pg.gda.pl"
LC_ALL="pl_PL.utf8"
LINGUAS="pl en"
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 3dnow X a52 aac aalib acl acpi adabas aim alsa apache2 apm arts audiofile avahi avi bash-completion berkdb bitmap-fonts bluetooth bonobo browserplugin bzip2 calendar caps cdb cdda cdparanoia cdr cpdflib crypt css ctype cups curl curlwrappers daap db2 dba dbase dbm dbmaker dbus dbx dga dio directfb divx4linux dlloader doc dri dts dv dvd dvdr dvdread dynagraph eds emboss encode esd ethereal exif expat extras fam fbcon ffmpeg fftw flac flash foomaticdb fortran freetype ftp gb gcj gd gdbm ggi gif gimpprint glut gmp gnome gnutls gphoto2 gpm gps gstreamer gtk gtk2 gtkhtml hal httpd iconv icq ieee1394 imagemagick imlib ipv6 jabber jack java javascript jikes joystick jpeg kde kdeenablefinal kdexdeltas kerberos kqemu lesstif libcaca libg++ libwww linguas_en linguas_pl lirc live lm_sensors mad maildir matroska matrox mbox mcal mikmod mime ming mmx mmxext mng mod mono motif mp3 mpeg mpi msn musepack musicbrainz mysql nas ncurses nls nptl nsplugin nvidia offensive ogg oggvorbis openal opengl osc oscar oss pam pam_console pcntl pcre pda pdf pdflib perl php plotutils png portaudio posix postgres ppds python qdbm qt quicktime readline real rtc samba scanner screen sdl session shorten shout skey skins slang slp sndfile snmp sockets socks5 sox speex spell sse ssl stream svg svga symlink sysvipc tcltk tcpd tetex tga theora threads tidy tiff truetype truetype-fonts type1-fonts unicode usb userlocales utf8 v4l v4l2 vcd vlm vorbis wifi win32codecs wmf wxwindows x264 xine xinerama xml xml2 xosd xpm xprint xv xvid yahoo zip zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LDFLAGS, MAKEOPTS
--- end ---
Comment 1 Michael Cummings (RETIRED) gentoo-dev 2006-02-20 07:02:23 UTC
This looks related to memory fixes in perl 5.8.8 as far as unsafe calls to the SV memory space.
Comment 2 Michael Cummings (RETIRED) gentoo-dev 2006-02-20 10:45:44 UTC
Not much of a fix, but locally if I run configure with --disable-swig against 2.8 (didn't try with what's in the tree) the perl bindings build properly.
Comment 3 nEO 2006-02-23 04:40:33 UTC
I met the same problem:

...... cut off......

gv_perl.cpp:5491: error: register name not specified for `SV**mark'
{standard input}: Assembler messages:
{standard input}:8236: Error: symbol `_ZZ7boot_gvE5_init' is already defined
make[3]: *** [gv_perl.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
 i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../lib/gvc -
I../../lib/common -I../../lib/graph -I../../lib/cdt -I../../lib/pathplan -I/usr/
lib/perl5/5.8.8/i686-linux/CORE -I/usr/include/python2.4 -O2 -march=athlon -pipe
 -fomit-frame-pointer -O2 -march=athlon -pipe -fomit-frame-pointer -c gv_python.
cpp  -fPIC -DPIC -o .libs/gv_python.o
make[3]: Leaving directory `/var/tmp/portage/graphviz-2.6-r1/work/graphviz-2.6/t
clpkg/gv'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/graphviz-2.6-r1/work/graphviz-2.6/t
clpkg'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/graphviz-2.6-r1/work/graphviz-2.6'
make: *** [all] Error 2

!!! ERROR: media-gfx/graphviz-2.6-r1 failed.
Call stack:
  ebuild.sh, line 1894:   Called dyn_compile
  ebuild.sh, line 941:   Called src_compile

!!! Compile Failed!
!!! If you need support, post the topmost build error, and the call stack if rel
evant.
Comment 4 John Borkowski 2006-02-23 06:54:25 UTC
I have the same issue as well...
Comment 5 Lukasz Goralczyk 2006-02-23 09:01:35 UTC
This error is caused by XS definition in XSUB.h (/usr/lib/perl5/5.8.8/i686-linux/CORE/XSUB.h) line 95, difference between Perl version 5.8.7 and 5.8.8:
5.8.7:
#    define XS(name) void name(pTHX_ CV* cv)
5.8.8:
#    define XS(name) void name(pTHX_ CV* cv __attribute__unused__)

Removing __attribute__unsed__ seems to fix the problem (just checked if the gv_perl.cpp compiles without errors). I'm trying to track down this change in Perl.
Comment 6 Lukasz Goralczyk 2006-02-23 09:42:40 UTC
Similar problem is described here: http://tiny.pl/mf7k (perl newsgroup, if link doesn't work search for message id: 20060215125148.GA12535[at]brugman.iloquent.nl on GoogleGroups). New versions of Perl *should* fix the problem.typedef void SwigPerlWrapper( CV* cv __attribute__((unused)))
Comment 7 Michael Cummings (RETIRED) gentoo-dev 2006-02-28 02:22:12 UTC
fixed in blead, i'll backport a patch for 5.8.8 and post.
Comment 8 Benedicto Sérgio de Almeida Santiago 2006-03-02 07:25:40 UTC
(In reply to comment #7)
> fixed in blead, i'll backport a patch for 5.8.8 and post.

... same ...
make[3]: Leaving directory `/var/tmp/portage/graphviz-2.6-r1/work/graphviz-2.6/tclpkg/gv'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/graphviz-2.6-r1/work/graphviz-2.6/tclpkg'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/graphviz-2.6-r1/work/graphviz-2.6'
make: *** [all] Error 2

!!! ERROR: media-gfx/graphviz-2.6-r1 failed.
Call stack:
  ebuild.sh, line 1928:   Called dyn_compile
  ebuild.sh, line 966:   Called src_compile

!!! Compile Failed
Comment 9 Michael Cummings (RETIRED) gentoo-dev 2006-03-03 14:08:51 UTC
(In reply to comment #8)
> ... same ...

yep :/ 
Comment 10 Michael Cummings (RETIRED) gentoo-dev 2006-04-01 05:24:04 UTC
This particular bug is fixed with perl-5.8.8-r1 (fixes for c++ and xs interaction).

However, I now get:

mkdir -p test_perl; cd test_perl; \
        ln -fs ../.libs/libgv_perl.so gv.so; \
        ln -fs ../*.dot ../*.p[lm] .; \
        perl ./test.pl)
Can't open perl script "./test.pl": No such file or directory
make[3]: [test_perl] Error 2 (ignored)
(mkdir -p test_python; cd test_python; \
        ln -fs ../.libs/libgv_python.so _gv.so; \
        ln -fs ../*.dot ../*.py .; \
        PYTHONPATH=. python test.py)
python: can't open file 'test.py': [Errno 2] No such file or directory
make[3]: [test_python] Error 2 (ignored)
(mkdir -p test_tcl; cd test_tcl; \
        ln -fs ../.libs/libgv_tcl.so libgv_tcl.so; \
        ln -fs ../*.dot ../*.tcl .; \
        /usr/bin/tclsh8.4 ./test.tcl)
couldn't read file "./test.tcl": no such file or directory
make[3]: [test_tcl] Error 1 (ignored)
/bin/sh: ./test_perl: is a directory
FAIL: test_perl
/bin/sh: ./test_python: is a directory
FAIL: test_python
/bin/sh: ./test_tcl: is a directory
FAIL: test_tcl
===================
3 of 3 tests failed
===================


So tests fail, but hey, we compile :)
Comment 11 Michael Cummings (RETIRED) gentoo-dev 2006-04-01 09:11:17 UTC
The test work fine in 2.8 (not in the tree). media-gfx, i believe this is all yours now.
Comment 12 Michael Cummings (RETIRED) gentoo-dev 2006-04-04 10:23:32 UTC
Removing perl herd since the problem is in graphviz's tests at this point, not the perl support.
Comment 13 Matthias Langer 2006-05-10 19:15:36 UTC
i got even more failures (media-gfx/graphviz-2.6-r1 [ +X +cairo* -dynagraph -static +tcltk ]):

===================
5 of 5 tests failed
===================

If you want me to attach the output of the whole test-section let me know.

Portage 2.0.54-r2 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.16-gentoo-r6 i686)
=================================================================
System uname: 2.6.16-gentoo-r6 i686 AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.6.14
dev-lang/python:     2.3.5-r2, 2.4.2
dev-python/pycrypto: [Not Present]
dev-util/ccache:     [Not Present]
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-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig collision-protect distlocks sandbox sfperms strict test"
GENTOO_MIRRORS="http://gentoo.inode.at/ "
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LINGUAS="en de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://192.168.0.1/gentoo-portage"
USE="x86 3dnow 3dnowext X a52 aac aalib acpi alsa apm audiofile avi berkdb bitmap-fonts bonobo bzip2 cairo cdr cli crypt css cups curl dbus dri dts dvd dvdr dvdread eds emboss encode exif expat fam fbcon ffmpeg firefox flac foomaticdb fortran gd gdbm gif ginac glut gmp gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal icq idn imagemagick imlib ipv6 isdnlog java javascript jpeg jpeg2k junit lcms libg++ libwww mad matroska mikmod mime mmx mmxext mng motif mozsvg mp3 mpeg msn nautilus ncurses nls nptl nsplugin nvidia offensive ogg oggvorbis openal opengl pam pcre pdflib perl plotutils png posix pppd python quicktime readline real reflection ruby sdl session slang sockets speex spell spl sqlite sqlite3 sse ssl subtitles svg svga tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts udev unicode usb vcd vorbis win32codecs wma xine xml xml2 xmms xorg xv xvid zlib video_cards_nvidia linguas_en linguas_de userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTAGE_RSYNC_OPTS
Comment 14 Steve Arnold archtester gentoo-dev 2006-05-27 17:27:56 UTC
Graphviz 2.8 works as advertised and is now in the tree (don't use FEATURES=test with older versions).