follow-up Re: I'm having an awful time updating gdm2 and other ports

UDSD387 root at
Tue Jan 6 09:51:47 PST 2004

On Friday January 02 2003, Joe Marcus Clarke said:
> On Wed, 2003-12-31 at 18:41, Paul Seniura wrote:
> > The root of this whole problem is that starting-up Gnome2 gets stuck after it shows the splash screen.  Or if I have it bring up the Login Panel first, it won't go past you entering your id & password.  I have no tell-tale signs in the logs that show what the problem actually is.
> >
> > I'm now trying to 'portupgrade gdm2' to get it updated with yesterday's CVS changes (I'm actually using CTM to track -Current).
> >
> > Talk about "when it rains, it pours..."
> >
> > The Makefile for gdm2 does no checking whatsoever for perl itself and perl macros in its BUILD_DEPENDS, as some other ports properly do.
> >
> > Earlier this week I had done a 'use.perl port' and have had no problems with configure/installing new ports or updating them.
> > Not until yesterday's gdm2 changes came thru, that is.
> >
> > This is what 'portupgrade gdm2' shows today:
> >
> > [...]
> > ===>  Configuring for gdm2-
> > checking for intltool >= 0.21... 0.28 found
> > checking for perl... /usr/bin/perl
> > configure: error: XML::Parser perl module is required for intltool
> > ===>  Script "configure" failed unexpectedly.
> >       Please report the problem to gnome at [maintainer] and attach
> >       the "/src/ports/x11/gdm2/work/gdm-" including the
> >       output of the failure of your make command. Also, it might be a good
> >       idea to provide an overview of all packages installed on your system
> >       (e.g. an `ls /var/db/pkg`).
> > *** Error code 1
> >
> > Stop in /src/ports/x11/gdm2.
> > ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade1357.57 make
> > ** Fix the problem and try again.
> > [...]
> This Perl module is included with intltool-0.28, and is installed in a
Well, no -- not exactly.  ;)
Per your suggestion, with the CTM deltas as of this morning, I did a 'portupgrade --force' to re-install 'textproc/intltool' (only).
Remember 'use.perl port' is now in effect.
During the 'install' phase of 'textproc/intltool' (after the 'gmake' phase), it showed:

===>  Installing for intltool-0.28_1
===>   intltool-0.28_1 depends on file: /usr/local/lib/perl5/site_perl/5.8.2/mach/XML/ - not found
===>    Verifying reinstall for /usr/local/lib/perl5/site_perl/5.8.2/mach/XML/ in /usr/ports/textproc/p5-XML-Parser
===>  Extracting for p5-XML-Parser-2.34
>> Checksum OK for XML-Parser-2.34.tar.gz.
===>  Patching for p5-XML-Parser-2.34

So the perl58 version of the 'XML::Parser' module is in its own port (not in intltool).
And the above produced the desired effect i.e. to get the p5-* version of such modules installed.

But there isn't such a check in x11/gdm2's Makefile -- there's no check for depending on *any* perl pieces, period.
This leads me back to the original question, please see below...

> non-default location with regard to Perl.  However, there is a hack in
> the gdm2 Makefile that points intltool-merge to this file.  You probably
> should try reinstalling intltool.
> > So I did 'use.port system' and 'rehash' and checked to see that /etc/make.conf was updated properly and the symlinks -- and even rebooted -- to no avail, because 'perl -v' is still showing 5.8.2 and will still cause the above problem.
> >
> > Yes I have seen PR/55760 but what good will it do if the maintainer won't commit that huge patch to make it 'official'?  Will 55760 fix _this_ problem with gdm2 anyway?  I don't see how, because gdm2 itself has no logic to check for perl and co.
> >
> > I have no idea what other perl modules are required by gdm2 and in which p5-* collection.
> > So I thought to try installing a meta-port such as print/p5-GnomePrint to get a bunch of p5-* parts installed which would include the XML::Parser module among others, and hopefully enough of them to make gdm2 happy.
> >
> > "When it rains, it pours..."
> >
> > ...because now doing a portupgrade --new for p5-GnomePrint is griping thusly:
> >
> > [...]
> > install -C  -o root -g wheel -m 444 /src/ports/www/gtkhtml/work/gtkhtml-1.1.10/  /usr/X11R6/etc/
> > ===>   Running ldconfig
> > /sbin/ldconfig -m /usr/X11R6/lib
> > ===>   Registering installation for gtkhtml-1.1.10_2
> > ===>   Returning to build of p5-GnomePrint-0.7009
> > ===>  Configuring for p5-GnomePrint-0.7009
> > Cannot load Gtk::Install::Files: Can't locate Gtk/Install/ in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.8.2/mach
> >  /usr/local/lib/perl5/site_perl/5.8.2 /usr/local/lib/perl5/site_perl/5.6.1 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.2
> > /BSDPAN /usr/local/lib/perl5/5.8.2/mach /usr/local/lib/perl5/5.8.2 .) at ../ line 93.
> >
> > *** Error code 2
> >
> > Stop in /src/ports/print/p5-GnomePrint.
> > ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade44917.47 make
> > ** Fix the problem and try again.
> > [...]
> This looks like You need to reinstall p5-Gtk

In my earlier msg, I mentioned trying to get the prerequisite p5-* modules by choosing the p5-GnomePrint port.
This is something I merely picked out of thin air, after studying what port might be a good "catch-all" -- because there doesn't seem to be any docs written on what-all you need to do if you switch 'use.perl' from 'system' to 'port'.
During that same run I quoted before for p5-GnomePrint, thru a long series of required ports, 'p5-Gtk' was attempted with problems:

===>   p5-GdkImlib-0.7009 depends on file: /usr/local/lib/perl5/site_perl/5.8.2/mach/ - not found
===>    Verifying install for /usr/local/lib/perl5/site_perl/5.8.2/mach/ in /usr/ports/x11-toolkits/p5-Gtk
===>  Extracting for p5-Gtk-0.7009
>> Checksum OK for Gtk-Perl-0.7009.tar.gz.
===>  Patching for p5-Gtk-0.7009
===>  Applying FreeBSD patches for p5-Gtk-0.7009
===>   p5-Gtk-0.7009 depends on file: /usr/local/lib/perl5/site_perl/5.8.2/XML/ - found
===>   p5-Gtk-0.7009 depends on file: /usr/local/lib/perl5/site_perl/5.8.2/mach/XML/ - not found
===>    Verifying install for /usr/local/lib/perl5/site_perl/5.8.2/mach/XML/ in /usr/ports/textproc/p5-XML-Parser
===>  Extracting for p5-XML-Parser-2.34
>> Checksum OK for XML-Parser-2.34.tar.gz.
===>  Patching for p5-XML-Parser-2.34
===>   p5-XML-Parser-2.34 depends on file: /usr/local/bin/perl5.8.2 - found
===>   p5-XML-Parser-2.34 depends on shared library: expat.4 - found
===>  Configuring for p5-XML-Parser-2.34
Checking if your kit is complete...
Looks good
===>  Checking if textproc/p5-XML-Parser already installed
===>   p5-XML-Parser-2.34 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of textproc/p5-XML-Parser
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /src/ports/textproc/p5-XML-Parser.
===>   Returning to build of p5-Gtk-0.7009
===>   p5-Gtk-0.7009 depends on file: /usr/local/bin/perl5.8.2 - found
===>   p5-Gtk-0.7009 depends on executable: pkg-config - found
===>   p5-Gtk-0.7009 depends on shared library: glib12.3 - found
===>   p5-Gtk-0.7009 depends on shared library: gtk12.2 - found
===>  Configuring for p5-Gtk-0.7009
Packages to compile: Gtk.
Checking if your kit is complete...
Looks good
Warning: prerequisite XML::Parser 0 not found.
Argument "0.4.1" isn't numeric in numeric lt (<) at /usr/local/lib/perl5/5.8.2/ExtUtils/ line 390.
Subroutine MY::postamble redefined at ./Makefile.PL line 172.
Current perl supports threads. Enabling thread support
Located Gtk version 1.2.10...
Can't locate XML/ in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.8.2/mach /usr/local/lib/perl5/site_perl/5.8.2 /$
FORCE installing header: GtkTypes.h
FORCE installing header: GdkTypes.h
FORCE installing header: MiscTypes.h
Use of uninitialized value in join or string at ../ line 229.
Use of uninitialized value in concatenation (.) or string at ../ line 194.
Use of uninitialized value in string ne at /usr/local/lib/perl5/5.8.2/BSDPAN/ExtUtils/ line 44.
Unrecognized argument in LIBS ignored: '-Wl,-E'
Writing Makefile for Gtk
Writing Makefile for Gtk::base
===>  Building for p5-Gtk-0.7009
/usr/local/bin/perl5.8.2 ../tools/ Gtk
===>   Returning to build of p5-Gnome-0.7009
===>   p5-Gnome-0.7009 depends on file: /usr/local/lib/perl5/site_perl/5.8.2/mach/ - not found
===>    Verifying install for /usr/local/lib/perl5/site_perl/5.8.2/mach/ in /usr/ports/x11-toolkits/p5-Gtk
===>  Building for p5-Gtk-0.7009
make: don't know how to make build/perl-gtk-ref.pod. Stop
*** Error code 2

Stop in /src/ports/x11-toolkits/p5-Gtk/work/Gtk-Perl-0.7009.
*** Error code 1

Stop in /src/ports/x11-toolkits/p5-Gtk.
===>   Returning to build of p5-Gnome-0.7009

(I keep tee'd copies of most every run ;)

So your suggestion of installing p5-Gtk was already tried and failed before I posted my original msg.  ;)

Yes of course this was before today's re-install of intltool and its requisite p5 version of the XML::Parser module.

After re-installing intltool today, I did a regular generic portupgrade run to get caught-up on the CTM deltas.
It seems to have gotten the x11/gdm2 updated & installed this time, along with other updated ports in gnome2 group.
I'll attempt to rerun p5-GnomePrint...

> and probably all Perl
> modules).  Modules need to be built for the version of Perl under which
> they will run.

Well that is my _basic_ question in all this -- ;)
How do we find out what "all Perl modules" are needed when we change 'use.ports' from 'system' to 'port'?
And I'm only needing the pieces that are used by portupgrade (i.e. config/make scripts etc.).

What brought all this on (re: my previous msg) was the fact that x11/gdm2 does not have any refs in its Makefile for requiring any perl stuff at all.  Clearly gdm2 _does_ need _some_ perl pieces in order to do its 'install' phase.

And there are probably many other ports that are lacking in their Makefiles in a similar manner.
Some ports have such checks e.g. intltool itself; others don't that need 'em e.g. gdm2.

I'll attempt to figure out the ports I got 'bit' on and try whipping up some patches (esp. gdm2 ;) if p5-GnomePrint still fails today.
Unless y'all have such patches waiting in a queue somewhere?  ;)

> Joe
> > The portupgrade run above had already installed a ton of prerequisite ports, and was "returning" to finish p5-GnomePrint. 
> > Something got missed somewhere, but I can't see where (I do the 2>&1 thing and 'tee' the output to a file for later review).
> >
> > I need help, please!
> >
> > I'm having similar trouble with KDE taking forever to start up, and once it is ready, it again takes forever to bring up a simple "Open File" dialog, no matter what app.
> >
> > If I keep getting into this much trouble with FreeBSD, I won't be able to show how free software can be used in our agency!  'They' will tell me to drop this project, and we'll forever be stuck with M$!

When I get everything up-to-snuff with p5-* on Gnome2 and KDE, I'll see if we still have these "takes too long" problems.

Thank you again,

  --  Paul Seniura
      System Specialist
      State of Okla. D.O.T.

More information about the freebsd-ports mailing list