Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 91589 - dev-perl/gtk-perl-0.7009: compilation fails (regarding non-existent gtk/gtktypeutils.h)
Summary: dev-perl/gtk-perl-0.7009: compilation fails (regarding non-existent gtk/gtkty...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal major (vote)
Assignee: Michael Cummings (RETIRED)
URL:
Whiteboard:
Keywords:
: 75953 91600 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-05-05 10:11 UTC by Lorenzo Hernández García-Hierro
Modified: 2005-05-20 09:36 UTC (History)
6 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 Lorenzo Hernández García-Hierro 2005-05-05 10:11:47 UTC
Hi,

gtk-perl update of today fails to compile:

Manifying ../blib/man3/Gtk.3pm
Manifying ../blib/man3/Gtk::CListModel.3pm
Manifying ../blib/man3/Gtk::objects.3pm
Manifying ../blib/man3/Gtk::reference.3pm
build/perl-gtk-ref.pod:9: Unmatched =back
Manifying ../blib/man3/Gtk::cookbook.3pm
make[1]: Leaving directory `/var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.7009/Gtk'
cd GtkGLArea && /usr/bin/perl5.8.6 Makefile.PL LIB="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" PREFIX="/var/tmp/portage/gtk-perl-0.7009/image//usr" OPTIMIZE="" PASTHRU_DEFINE="" PASTHRU_INC="" INSTALLDIRS=vendor
Found Gtk::Install::Files in /var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.7009/GtkGLArea/../Gtk/../blib/arch/Gtk/Install/Loading pkg.defs
Dir ||
gtktypexp.c:1:30: gtk/gtktypeutils.h: No such file or directory
gtktypexp.c: In function `main':
gtktypexp.c:9: error: `GSList' undeclared (first use in this function)
gtktypexp.c:9: error: (Each undeclared identifier is reported only once
gtktypexp.c:9: error: for each function it appears in.)
gtktypexp.c:9: error: `names' undeclared (first use in this function)
/bin/sh: line 1: 22941 Broken pipe             /usr/bin/perl5.8.6 Makefile.PL LIB="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" PREFIX="/var/tmp/portage/gtk-perl-0.7009/image//usr" OPTIMIZE="" PASTHRU_DEFINE="" PASTHRU_INC="" INSTALLDIRS=vendor
make: *** [GtkGLArea/Makefile] Error 141

System information:
Portage 2.0.51.21-r1 (selinux/2005.1/x86, gcc-3.3.5, glibc-2.3.5-r0, 2.6.11-hardened-r1 i686)
=================================================================
System uname: 2.6.11-hardened-r1 i686 Intel(R) Pentium(R) 4 CPU 3.06GHz
Gentoo Base System version 1.6.11
ccache version 2.4 [enabled]
dev-lang/python:     2.2.2, 2.3.5
sys-apps/sandbox:    1.2.5
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r8
sys-devel/libtool:   1.5.16
virtual/os-headers:  2.4.19, 2.6.11
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -mcpu=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /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="-O3 -mcpu=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks sandbox selinux sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dfx X acpi alsa apache2 arts avi berkdb bitmap-fonts bonobo cdparanoia cdr cjk crypt cups curl dba directfb dlloader dmx dvb dvd dvdr dvdread edl eds encode esd expat fam fbcon flac font-server gcj gd gdbm gif gnome gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal hardened imagemagick imlib ipv6 java jpeg junit kde kerberos ldap libclamav libwww live mad mikmod motif mozdevelop mozilla moznomail mozsvg mp3 mpeg multitarget mysql nas ncurses network nls nntp nptl odbc ogg oggvorbis opengl oss pam pda pdflib perl pic png postgres python qt quicktime readline real samba sdl selinux slang sndfile spell sqlite sse sse2 ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts v4l v4l2 vorbis x86 xchattext xine xinerama xml xml2 xmms xv xvid zlib video_cards_radeon userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Comment 1 Michael Cummings (RETIRED) gentoo-dev 2005-05-05 11:04:44 UTC
Might want to look at your gtk installs - that file is provided by gtk as an include, not by gtk-perl.

locate gtktypeutils.h
/usr/include/gtk-1.2/gtk/gtktypeutils.h
/usr/include/gtk-2.0/gtk/gtktypeutils.h
Comment 2 Michael Cummings (RETIRED) gentoo-dev 2005-05-05 11:05:12 UTC
bah, soon as I typed that my test install hit the same snag. disregard last message.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2005-05-05 12:54:07 UTC
*** Bug 91600 has been marked as a duplicate of this bug. ***
Comment 4 Michael Cummings (RETIRED) gentoo-dev 2005-05-06 02:41:46 UTC
My current confusion is that my box at work exhibits the same problem - but my laptop at home currently has .7009 installed without a problem. This imples ot me that the difference isn't in the gtk-perl package, but in how it's interacting with the installed gtk+-1*. Can you tell me which versions of <x11-libs/gtk+-2 you have installed? Thanks!!
Comment 5 Michael Cummings (RETIRED) gentoo-dev 2005-05-06 04:23:00 UTC
Advance warning: this is a long post.

So, on my laptop I'd installed and tested .7009 back in early march, used it, etc. -it's why I added it to the tree in the first place. Following this bug, I attempted to re-emerge it and got the dreaded:

cd GtkXmHTML && /usr/bin/perl5.8.6 Makefile.PL LIB="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" PREFIX="/var/tmp/portage/gtk-perl-0.7009/image//usr" OPTIMIZE="" PASTHRU_DEFINE="" PASTHRU_INC="" INSTALLDIRS=vendor
Found Gtk::Install::Files in /var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.7009/GtkXmHTML/../blib/arch/Gtk/Install/
Loading pkg.defs
Dir ||
gtktypexp.c:1:30: gtk/gtktypeutils.h: No such file or directory
gtktypexp.c: In function `main':
gtktypexp.c:9: error: `GSList' undeclared (first use in this function)
gtktypexp.c:9: error: (Each undeclared identifier is reported only once
gtktypexp.c:9: error: for each function it appears in.)
gtktypexp.c:9: error: `names' undeclared (first use in this function)
/bin/sh: line 1: 28360 Broken pipe             /usr/bin/perl5.8.6 Makefile.PL LIB="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" PREFIX="/var/tmp/portage/gtk-perl-0.7009/image//usr" OPTIMIZE="" PASTHRU_DEFINE="" PASTHRU_INC="" INSTALLDIRS=vendor
make: *** [GtkXmHTML/Makefile] Error 141

Well, that didn't make sense. So I whipped out genlop and looked through my emerge history. 
     Sun Mar  6 08:18:20 2005 >>> x11-libs/gtk+-1.2.10-r11
     Sun Mar  6 09:59:39 2005 >>> x11-libs/gtkglarea-1.2.3-r1
     Sun Mar  6 10:20:38 2005 >>> dev-perl/gtk-perl-0.7009

Following that, though, I had upgraded a lot of system packages, including (and possibly relevant) gcc and glib (both of which had bitten me in another bug). So this morning I re-emerged '=x11-libs/gtk+-1.2.10-r11' '=x11-libs/gtkglarea-1.2.3-r1' '=dev-perl/gtk-perl-0.7009'  and voila - gtk-perl-0.7009 emerged successfully. So my advise (and I'm 99% confident this will work for you too) is to re-emerge gtk+-1.2.10* (and gtkglarea probably doesn't hurt).                                                          
Comment 6 Michael Cummings (RETIRED) gentoo-dev 2005-05-06 05:10:39 UTC
arrrggg- hold on, turns out i was on my sparc not laptop when i ran that emerge sequence. retesting on the laptop. sorry for the sloppy dev'ing.
Comment 7 Jörg Walter 2005-05-12 08:20:10 UTC
Here is a little patch that makes gtk-perl compile. Edit GdkPixbuf/Makefile.PL, right at the top you find these two lines:

require '../Depends.pm';
require '../tools/gendefs.pl';

between those two lines, add:

BEGIN {
$::inc = `gdk-pixbuf-config --cflags`;
chomp $::inc;
$::libs = `gdk-pixbuf-config --libs`;
chomp $::libs;
}

This will set the correct compilation/linker flags for the test program that ../tools/gendefs.pl runs. (No, I have no idea why it worked before and what's the true cause. But it's an interim solution.)
Comment 8 Jörg Walter 2005-05-12 08:21:04 UTC
P.S.: GtkXmHTML/Makefile.PL needs a similar treatment using gnome-config 
Comment 9 Michael Cummings (RETIRED) gentoo-dev 2005-05-12 09:03:02 UTC
thanks, i'll give this a whirl! the most infuriating thing is that i can't get this to compile on a box that i built it on originally. arrrggghhhh. sometimes being nice and up to date isn't nice or up to date.
Comment 10 Zurd 2005-05-15 14:08:46 UTC
I added the code in GdkPixbuf/Makefile.PL and GtkXmHTML/Makefile.PL and it compiled correctly.  Great work, thanks!

P.S. Bug 75953 is a duplicate of this bug.
Comment 11 Zurd 2005-05-16 13:53:21 UTC
Information details on how I compiled it :

1) emerge gtk-perl (wait for it to crash)
2) nano /var/tmp/portage/gtk-perl/work/gtp-perl/GdkPixbuf/Makefile.PL and insert the lines
3) nano/var/tmp/portage/gtk-perl/work/gtp-perl/GdxXmHTML/Makefile.PL and insert the lines
4) ebuild /usr/portage/dev-perl/gtk-perl/gtk-perl-0.7009.ebuild digest install qmerge

And I have gtk-perl compiled and installed fine.
Comment 12 Santiago Staviski 2005-05-16 19:22:10 UTC
I edit those files:
# nano
/var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.7009/GdkPixbuf/Makefile.PL
#nano/var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.7009/GdxXmHTML/Makefile.PL
and insert the lines between require '../Depends.pm'; and require
'../tools/gendefs.pl'; :
BEGIN {
$::inc = `gdk-pixbuf-config --cflags`;
chomp $::inc;
$::libs = `gdk-pixbuf-config --libs`;
chomp $::libs;
}

And I try ebuild /usr/portage/dev-perl/gtk-perl/gtk-perl-0.7009.ebuild digest
install qmerge, but same error appears:

make[1]: Leaving directory `/var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.700
     
9/Gtk'
cd GtkGLArea && /usr/bin/perl5.8.6 Makefile.PL LIB="" LIBPERL_A="libperl.a" LINK
     
TYPE="dynamic" PREFIX="/var/tmp/portage/gtk-perl-0.7009/image//usr" OPTIMIZE=""
      
PASTHRU_DEFINE="" PASTHRU_INC="" INSTALLDIRS=vendor
Found Gtk::Install::Files in /var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.70
     
09/GtkGLArea/../Gtk/../blib/arch/Gtk/Install/
Loading pkg.defs
Dir ||
gtktypexp.c:1:30: gtk/gtktypeutils.h: Arquivo ou diret
Comment 13 Santiago Staviski 2005-05-16 19:22:10 UTC
I edit those files:
# nano
/var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.7009/GdkPixbuf/Makefile.PL
#nano/var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.7009/GdxXmHTML/Makefile.PL
and insert the lines between require '../Depends.pm'; and require
'../tools/gendefs.pl'; :
BEGIN {
$::inc = `gdk-pixbuf-config --cflags`;
chomp $::inc;
$::libs = `gdk-pixbuf-config --libs`;
chomp $::libs;
}

And I try ebuild /usr/portage/dev-perl/gtk-perl/gtk-perl-0.7009.ebuild digest
install qmerge, but same error appears:

make[1]: Leaving directory `/var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.700
     
9/Gtk'
cd GtkGLArea && /usr/bin/perl5.8.6 Makefile.PL LIB="" LIBPERL_A="libperl.a" LINK
     
TYPE="dynamic" PREFIX="/var/tmp/portage/gtk-perl-0.7009/image//usr" OPTIMIZE=""
      
PASTHRU_DEFINE="" PASTHRU_INC="" INSTALLDIRS=vendor
Found Gtk::Install::Files in /var/tmp/portage/gtk-perl-0.7009/work/Gtk-Perl-0.70
     
09/GtkGLArea/../Gtk/../blib/arch/Gtk/Install/
Loading pkg.defs
Dir ||
gtktypexp.c:1:30: gtk/gtktypeutils.h: Arquivo ou diretório não encontrado
gtktypexp.c: In function `main':
gtktypexp.c:9: error: `GSList' undeclared (first use in this function)
gtktypexp.c:9: error: (Each undeclared identifier is reported only once
gtktypexp.c:9: error: for each function it appears in.)
gtktypexp.c:9: error: `names' undeclared (first use in this function)
/bin/sh: line 1: 13909 Pipe quebrado           /usr/bin/perl5.8.6 Makefile.PL LI
     
B="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" PREFIX="/var/tmp/portage/gtk-perl-
     
0.7009/image//usr" OPTIMIZE="" PASTHRU_DEFINE="" PASTHRU_INC="" INSTALLDIRS=vend
     
or
make: ** [GtkGLArea/Makefile] Erro 141

!!! ERROR: dev-perl/gtk-perl-0.7009 failed.
!!! Function perl-module_src_install, Line 132, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

Do I do anything wrong?

thanxs
Comment 14 Michael Cummings (RETIRED) gentoo-dev 2005-05-18 14:35:52 UTC
*** Bug 75953 has been marked as a duplicate of this bug. ***
Comment 15 Michael Cummings (RETIRED) gentoo-dev 2005-05-18 14:38:29 UTC
Hold on, working on a patch. 
 
Santiago - the problem is after you changed those lines, you reran an emerge - 
it wiped your changes (you would have had to of then proceeded from /var/blah 
to do the normal manual make ; make test; make install) 
Comment 16 Michael Cummings (RETIRED) gentoo-dev 2005-05-18 15:32:58 UTC
OK, I have a patch that works on a broken box. Going to try it on my sparc, 
which had no problems to begin with, to see if it still installs smoothly :)  
Comment 17 Michael Cummings (RETIRED) gentoo-dev 2005-05-18 16:15:10 UTC
ok, progress is only slowed because in looking at the Makefile.PL at the root 
for this, I realized that this isn't looking at the output of the gnome-config 
calls with an open mind (ie, author is assuming a max version far below a 
possible gentoo gnome version for libraries), so I'm trying to get the gnome 
related parts working now :) 
 
Comment 18 Michael Cummings (RETIRED) gentoo-dev 2005-05-19 07:25:39 UTC
OK, 7.009-r1 is in the tree *now* with a patch based on Jorg's work (but 
instead of patching every single Makefile.PL, we just toss it into gendef since 
that gets called anyway). Deps have also been updated to properly reflect the 
gnome support section. 
Comment 19 Michael Cummings (RETIRED) gentoo-dev 2005-05-19 12:58:51 UTC
Has anyone had a chance to confirm that the problems goes away with the -r1? I
know, I'm anxious, ebuild's only been posted for a few hours :)
Comment 20 Andrej Kacian (RETIRED) gentoo-dev 2005-05-19 13:18:41 UTC
>>> dev-perl/gtk-perl-0.7009-r1 merged.

Success here, at last! Thanks Michael. :)
Comment 21 Derk W te Bokkel 2005-05-19 13:38:50 UTC
change to ebuild dependencies now calls in gnome-applets-1.4.0.5 which does not 
emerge properly for me (was not previously installed) .. why was this added?  what do 
gnome-applets have to do with gtk-perl ??  gnome-lib and gnome-print I understand   
 
 
Comment 22 Derk W te Bokkel 2005-05-19 13:50:31 UTC
change to ebuild dependencies now calls in gnome-applets-1.4.0.5 which does not    
emerge /compile properly for me (was not previously installed) .. why was this added?    
what do gnome-applets have to do with gtk-perl ??    
gnome-lib and gnome-print I understand  as dependencies   
  
running "emerge --nodeps gtk-perl" works without pulling in gnome-applets-1.4.0.5 so is  
gnome-applets-1.4.0.5 really a dependency?    
(I do have gnome-applets-2.10.0 installed)  
    
    
Comment 23 Derk W te Bokkel 2005-05-19 16:02:33 UTC
adjusting ebuild to not specify version number of gnome-applets works for me .. 
perhaps should be a greater than sign? on gnome-applets-1.4.0.5 dependency line? 
or are there other reasons for limiting to 1.4.0.5 ?? 
Comment 24 Santiago Staviski 2005-05-19 16:40:12 UTC
Works without gnome-applets:
# emerge -O gtk-perl
with gnome-applets package apears erros in compilation.

But the bug with gtk-perl is solved!

Thanks to gentoo team!
Comment 25 Michael Cummings (RETIRED) gentoo-dev 2005-05-20 01:10:25 UTC
gtk-perl, when gnome is supported, also support the 1.4 series of applets. 
Comment 26 Michael Cummings (RETIRED) gentoo-dev 2005-05-20 01:13:57 UTC
[Longer version] gtk-perl does not fully support the gnome2 bindings. For that 
you would need to be using gtk2-perl, not gtk-perl. Part of gtk-perl's support 
for gnome includes support for applets. I can remove the dep and leave it as a 
note that if you want to be able to write old applets in gtk-perl, you need to 
emerge the 1.4 series of gnome-applets. But technically, the only dependancy 
gtk-perl actually needs is gtk-1.2 and gdk-pixbuf - after that you're on your 
own to building a gtk-perl that is suitable for your box. 
 
Sad part is I spent hours yesterday getting the applet portion working. Eh, 
happens :) 
Comment 27 Michael Cummings (RETIRED) gentoo-dev 2005-05-20 09:36:18 UTC
OK, updated -r1 (so need to re-install if you already have) with new use flags 
for gnome-print and applets support to be built only as requested. Since we are 
over the actual hurtle of this original bug, I'm going to go ahead and close 
this out. Please reopen if it fails to install for the original reasons listed. 
If you have problems with the use flag/deps, that's a new bug :) (basically my 
final revision of -r1 shouldn't change installation from what you expected 
before this bug, save perhaps the use of a gnome-print flag for gnome-print 
support in gtk-perl).