[oe] Perl modules: Cannot compile due to wrong dependency in Makefile

Thomas Reitmayr treitmayr at devbase.at
Sun Mar 9 16:56:34 UTC 2008


Hi,
I have a problem building perl modules which have their own recipe and
are built outside of the original perl tree, eg. libwww-perl. It looks
like there is a wrong dependency in the Makefile of such a module. The
Makefile is created from Makefile.PL and includes the following:

[...]
PERL_LIB = /usr/share/perl/5.8
PERL_ARCHLIB = /usr/lib/perl/5.8
[...]
# Where is the Config information that we are using/depend on
CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h
[...]
$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
	$(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?"
[...]

As there is no /usr/lib/perl/5.8 on my build host (a Gentoo system), the
reported error in log.do_compile.ZZZ is

make: *** No rule to make target `/usr/lib/perl/5.8/Config.pm', needed
by `Makefile'.  Stop.

The only Config.pm I can find
is /home/nslu2/slugos/tmp/staging/i686-linux/usr/lib/perl/5.8.8/Config.pm, but I am not sure if it would be correct to just set the PERL_LIB to its directory path. I traced back the origin of PERL_LIB and found it is coming from a %Config setting 'archlibexp'. Its contents is read from tmp/staging/i686-linux/usr/lib/perl/5.8.8/Config_heavy-target.pl.

I am not sure whether the contents of the variable is wrong or its
usage, and of course how to fix it.
[My quick fix was to modify the MakeMaker (MM_Unix.pm) to not create
this dependency.]

Has anyone an idea what's wrong?
Regards,
-Thomas

PS: The repository was updated yesterday, the ABI version is '1', host
is an i686 Gentoo system, target is an Arm/BE (NSLU2).





More information about the Openembedded-devel mailing list