Inkscape 0.46-r2 fails to compile on my amd64 box. Here's how I build it: media-gfx/inkscape-0.46-r2 USE="gnome perl spell -debug -dia -doc -inkjar -jabber -lcms (-mmx) -postscript -wmf" I also tried to unmask the lastest version, but it gives the same error as the stable one. Here's the build output: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/lib/perl5/5.10.0/x86_64-linux/CORE -I/usr/include/freetype2 -pthread -DORBIT2=1 -I/usr/include/gnome-vfs-2.0 -I/usr/lib64/gnome-vfs-2.0/include -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/poppler -I/usr/include/poppler/glib -I/usr/include/poppler -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 -DPOTRACE=\"potrace\" -pthread -I/usr/include/gdkmm-2.4 -I/usr/lib64/gdkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/cairomm-1.0 -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/gtkmm-2.4 -I/usr/lib64/gtkmm-2.4/include -I/usr/include/atk-1.0 -I/usr/include/libxml2 -I/usr/include/gtkspell-2.0 -I../cxxtest -Wall -Wformat-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -D_FORTIFY_SOURCE=2 -Wno-unused-parameter -march=athlon64 -O2 -pipe -MT extension/script/inkscape_perl_wrap.o -MD -MP -MF $depbase.Tpo -c -o extension/script/inkscape_perl_wrap.o extension/script/inkscape_perl_wrap.cpp &&\ mv -f $depbase.Tpo $depbase.Po extension/script/inkscape_perl_wrap.cpp:727: error: expected unqualified-id before string constant extension/script/inkscape_perl_wrap.cpp:728: error: expected initializer before ‘*’ token extension/script/inkscape_perl_wrap.cpp:733: error: ‘SwigPerlWrapperPtr’ does not name a type extension/script/inkscape_perl_wrap.cpp: In function ‘void _wrap_delete_Inkscape(CV*)’: extension/script/inkscape_perl_wrap.cpp:1005: warning: dereferencing type-punned pointer will break strict-aliasing rules extension/script/inkscape_perl_wrap.cpp: In function ‘void _wrap_Inkscape_getDesktop(CV*)’: extension/script/inkscape_perl_wrap.cpp:1031: warning: dereferencing type-punned pointer will break strict-aliasing rules extension/script/inkscape_perl_wrap.cpp: In function ‘void _wrap_Inkscape_getDialogManager(CV*)’: extension/script/inkscape_perl_wrap.cpp:1058: warning: dereferencing type-punned pointer will break strict-aliasing rules extension/script/inkscape_perl_wrap.cpp: In function ‘void _wrap_delete_DialogManager(CV*)’: extension/script/inkscape_perl_wrap.cpp:1084: warning: dereferencing type-punned pointer will break strict-aliasing rules extension/script/inkscape_perl_wrap.cpp: In function ‘void _wrap_DialogManager_showAbout(CV*)’: extension/script/inkscape_perl_wrap.cpp:1109: warning: dereferencing type-punned pointer will break strict-aliasing rules extension/script/inkscape_perl_wrap.cpp: In function ‘void _wrap_delete_Desktop(CV*)’: extension/script/inkscape_perl_wrap.cpp:1134: warning: dereferencing type-punned pointer will break strict-aliasing rules extension/script/inkscape_perl_wrap.cpp: In function ‘void _wrap_Desktop_getDocument(CV*)’: extension/script/inkscape_perl_wrap.cpp:1160: warning: dereferencing type-punned pointer will break strict-aliasing rules extension/script/inkscape_perl_wrap.cpp: In function ‘void _wrap_delete_Document(CV*)’: extension/script/inkscape_perl_wrap.cpp:1186: warning: dereferencing type-punned pointer will break strict-aliasing rules extension/script/inkscape_perl_wrap.cpp: In function ‘void _wrap_Document_hello(CV*)’: extension/script/inkscape_perl_wrap.cpp:1211: warning: dereferencing type-punned pointer will break strict-aliasing rules extension/script/inkscape_perl_wrap.cpp: At global scope: extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp:1266: error: too many initializers for ‘swig_command_info’ extension/script/inkscape_perl_wrap.cpp: In function ‘void boot_inkscape_perl(CV*)’: extension/script/inkscape_perl_wrap.cpp:1286: error: ‘struct swig_command_info’ has no member named ‘wrapper’ extension/script/inkscape_perl_wrap.cpp:1273: warning: unused variable ‘items’ extension/script/inkscape_perl_wrap.cpp: At global scope: extension/script/inkscape_perl_wrap.cpp:229: warning: ‘swig_type_info* SWIG_TypeDynamicCast(swig_type_info*, void**)’ defined but not used extension/script/inkscape_perl_wrap.cpp:249: warning: ‘const char* SWIG_TypePrettyName(const swig_type_info*)’ defined but not used extension/script/inkscape_perl_wrap.cpp:267: warning: ‘swig_type_info* SWIG_TypeQuery(const char*)’ defined but not used extension/script/inkscape_perl_wrap.cpp:342: warning: ‘void SWIG_PropagateClientData(swig_type_info*)’ defined but not used extension/script/inkscape_perl_wrap.cpp:547: warning: ‘swig_type_info* SWIG_Perl_TypeCheckRV(SV*, swig_type_info*)’ defined but not used extension/script/inkscape_perl_wrap.cpp:684: warning: ‘int SWIG_Perl_ConvertPacked(SV*, void*, int, swig_type_info*, int)’ defined but not used extension/script/inkscape_perl_wrap.cpp:712: warning: ‘void SWIG_Perl_SetErrorf(const char*, ...)’ defined but not used extension/script/inkscape_perl_wrap.cpp:959: warning: ‘int swig_magic_readonly(SV*, MAGIC*)’ defined but not used make[2]: *** [extension/script/inkscape_perl_wrap.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/media-gfx/inkscape-0.46-r2/work/inkscape-0.46/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-gfx/inkscape-0.46-r2/work/inkscape-0.46' make: *** [all] Error 2 * * ERROR: media-gfx/inkscape-0.46-r2 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2681: Called gnome2_src_compile * environment, line 2041: Called die * The specific snippet of code: * emake || die "compile failure" * The die message: * compile failure Here's "emerge --info" output as well: Portage 2.1.4.4 (default/linux/amd64/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r7 x86_64) ================================================================= System uname: 2.6.25-gentoo-r7 x86_64 AMD Athlon(tm) 64 Processor 3000+ Timestamp of tree: Mon, 29 Sep 2008 06:15:01 +0000 app-shells/bash: 3.2_p33 dev-lang/python: 2.5.2-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/X11/xkb /usr/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/" LANG="en_GB.UTF-8" LC_ALL="en_GB.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="en_US en_GB en it" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/perl/perl-experimental" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X acl acpi alsa amd64 apache2 berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus divx dri dvd dvdr dvdread emboss encode esd evo fam firefox fortran gdbm gif glitz gnome gnome-print gpm gstreamer gtk gtk2 hal iconv ipv6 isdnlog jpeg kerberos ldap libnotify lighttpd mad midi mikmod mmx mono mozdevelop mp3 mpeg mudflap multilib mysql ncurses nls nptl nptlonly ogg opengl openmp pam par pcre pdf perl png postfix postgres ppds pppd python qt3 qt3support qt4 quicktime readline reflection samba sdl session spell spl sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype unicode usb utf8 vorbis xml xorg xulrunner xv xvid zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US en_GB en it" USERLAND="GNU" VIDEO_CARDS="nvidia fbdev radeon" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
please attach full build.log and paste the output of emerge -pv swig.
Created attachment 166754 [details] build.log The build.log is now attached. Here's the output of emerge -pv swig: -------------------------------------------------- These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-lang/swig-1.3.36 USE="mono perl python -R -chicken -clisp -doc -guile -java -lua -mzscheme -ocaml -octave -php -pike -ruby -tcl -tk" 4,498 kB Total: 1 package (1 reinstall), Size of downloads: 4,498 kB --------------------------------------------------
(In reply to comment #0) > PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/perl/perl-experimental" it looks like the perl-experimental is somehow breaking the installation. will look for a fix when this hits the tree.
OK, this could well be related with Perl 5.10. I tried building with USE="-perl" to compile without Perl support and this leads me a bit farther but not that much as I get: -------------------------------------------------------------------------- make[2]: Entering directory `/var/tmp/portage/media-gfx/inkscape-0.46-r5/work/inkscape-0.46' set -e; \ d=`sed -n 's,/,-,g;s,.*\$[D]ate: \(..........\).*,\1,p' inkscape.pod`; \ pod2man inkscape.pod \ | sed 's/^\.TH .*/.TH INKSCAPE 1 "'"$d"'" "Inkscape-0.46" "Inkscape"/' \ | perl -pe 'if (/^\[\% .*INCLUDE.*AUTHORS.* \%\]/) { open(FOO, "./AUTHORS");$_ = join(",\n", map { chomp; $_ } <FOO>) . "\n"; }' \ | perl ./fix-roff-punct \ | perl -CI ./utf8-to-roff \ > tmp.$$ \ && mv -f tmp.$$ inkscape.1 LC_ALL=C ./intltool-merge -d -u -c ./po/.intltool-merge-cache ./po inkscape.desktop.in inkscape.desktop Too late for "-CI" option at ./utf8-to-roff line 1. Generating and caching the translation database make[2]: *** [inkscape.1] Error 9 make[2]: *** Waiting for unfinished jobs.... Merging translations into inkscape.desktop. make[2]: Leaving directory `/var/tmp/portage/media-gfx/inkscape-0.46-r5/work/inkscape-0.46' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-gfx/inkscape-0.46-r5/work/inkscape-0.46' make: *** [all] Error 2 -------------------------------------------------------------------------- I'm unsure if this problem is related to the previous, though.
(In reply to comment #4) > OK, this could well be related with Perl 5.10. http://bugs.gentoo.org/show_bug.cgi?id=251340 ;-)
(In reply to comment #5) > (In reply to comment #4) Also, the problem here: > make[2]: *** [extension/script/inkscape_perl_wrap.o] Error 1 > make[2]: *** Waiting for unfinished jobs.... I guess the option to enable perl (and python) bindings with '--with-perl' is marked EXPERIMENTAL, so possibly shouldn't be enabled without spitting a warning. https://bugs.launchpad.net/inkscape/+bug/167645 However, having the option there and failing to compile is a bug, so... http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=blob;f=source/xapps-extra/inkscape/perl5.10.patch Works. I'll upload the patches and an ebuild, I guess, as it worked for me. Anyway, that's three files need minor patching, and inkscape works with 5.10.0. '-)
Created attachment 175678 [details, diff] one patch (what do I know about patches? nothing) for --with-perl and perl5.10
Created attachment 175680 [details, diff] a second patch (what do I know about patches? nothing) for --with-perl and perl5.10
Created attachment 175681 [details] and the ebuild I used Hope this helps.
Created attachment 175683 [details, diff] I described this on another bug, but this finishes the patches
*** Bug 251340 has been marked as a duplicate of this bug. ***
Michael's patches worked for me, running perl-5.10.0. Can we get these patches added in portage soon (as long as they also work with perl-5.8.8)? It's been more than a month.
I agree that this should be added to portage. fix bugs relating to perl-5.10 before perl-5.10 is pushed... otherwise things will break after it's pushed.
Created attachment 182461 [details] build.log not sure if it's related... but I still have build issues. if it's not I'll open a new bug.
(In reply to comment #14) > Created an attachment (id=182461) [edit] > build.log > > not sure if it's related... but I still have build issues. if it's not I'll > open a new bug. > I *think* you missed this one: http://bugs.gentoo.org/attachment.cgi?id=175683&action=view My first attempt at an ebuild here, so really was hoping it would be fixed up correctly by a dev with a few spare minutes. '-)
what bug is that from?
you need to use x11-libs/libXft in the ebuild. the virtual was removed.
I'd like to report this patches work GREAT and inkscape builds (I have perl 5.10.0_r1 from the overlay)
(In reply to comment #18) > I'd like to report this patches work GREAT and inkscape builds (I have perl > 5.10.0_r1 from the overlay) > And I just applied them again to the latest ebuild inkscape-0.46-r5.ebuild. Tested under view...scripts... and file... execute perl in the resulting console. Pretty cool. As for having to apply patches again, apparently, I don't understand the process... I'm not just whining that it doesn't work, here are things that, apparently, work. So why are these patches, or similar, still not used in the ebuilds in the tree? Can we help... plenty of folks (will, soon, hopefully) need this with perl-5.10, no? ;-)
the patches don't work with current perl, so this has to wait until perl-5.10 hits the tree.
and what are you going to do then? it won't be stable. 5.8 and 5.10 will be in the tree, and you'll have the same problem.
(In reply to comment #21) > and what are you going to do then? it won't be stable. 5.8 and 5.10 will be in > the tree, and you'll have the same problem. depend on >=dev-lang/perl-5.10.0...
Bumping this for some activity: Note that I think Michael higgins patch for the "-C" problem is overkill for 5.10, I found utf8-to-roff ran perfectly fine after I removed all parameters from the hashbang. Reason being if you look in the makefile the makefile is calling perl with the -C parameters anyway, circumventing the need for the inner file to call it itself. grep 'utf8-to-roff' -R . ./Makefile: | perl -CI $(srcdir)/utf8-to-roff ./Makefile.in: | perl -CI $(srcdir)/utf8-to-roff ./Makefile.am: | perl -CI $(srcdir)/utf8-to-roff -#! /usr/bin/perl -w -CI +#! /usr/bin/perl should be adequate. Test it, prove me wrong, please, see if it works like that on 5.8.8. Its the only thing thats blocking for me at present with 'USE -perl' for inkscape. If these fixes can't be applied on main-branch yet, for whatever reasons, here's a vote for seeing it fixed in the overlay.
How about this? - drop the perl useflag Does anyone "use Perl for embedded scripting (EXPERIMENTAL)"? It looks like the code was removed in the upstream repo. (I searched for WITH_PERL.) - apply http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/utf8-to-roff?r1=14343&r2=18573&view=patch
(In reply to comment #24) > How about this? > > - drop the perl useflag > Does anyone "use Perl for embedded scripting (EXPERIMENTAL)"? > It looks like the code was removed in the upstream repo. > (I searched for WITH_PERL.) > > - apply > http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/utf8-to-roff?r1=14343&r2=18573&view=patch > I say go for it, if people complain, then what argument have we, its gone upstream anyway. Its not as if /we're/ taking away functionality.
0.47_pre0 in tree masked, works for me.
(In reply to comment #26) > 0.47_pre0 in tree masked, works for me. thanks for the info, I'll leave this bug open, until we have a stable (or at least unmasked) version of inkscape in the tree.
Hi! 0.47_pre0 failed for me with: ----- checking for INKSCAPE... configure: error: Package requirements (gdkmm-2.4 glibmm-2.4 giomm-2.4 gtkmm-2.4 >= 2.10.0 gtk+-2.0 libxml-2.0 >= 2.6.11 libxslt >= 1.0.15 cairo sigc++-2.0 >= 2.0.12 gtkspell-2.0 gthread-2.0 >= 2.0 libpng >= 1.2 gsl) were not met: ----- (I lost the paste for the next line, but it said that "gsl" was missing) So I had to emerge: sci-libs/gsl This ebuild should probaly be pushed into the DEPENDs of inkscape.
(In reply to comment #28) > Hi! > > 0.47_pre0 failed for me with: please open a separate bug report for that. thanks
inkscape-0.47_pre2 works here with v5.10.0
(In reply to comment #30) > inkscape-0.47_pre2 works here with v5.10.0 > Same here :)
media-gfx/inkscape-0.47_pre3 and media-gfx/inkscape-0.47_pre4 works fine with perl 5.10.1
media-gfx/inkscape-0.47 is in the tree with perl disable, so we can finally close this bug.