All of lore.kernel.org
 help / color / mirror / Atom feed
* Perl modules: Cannot compile due to wrong dependency in Makefile
@ 2008-03-09 16:56 Thomas Reitmayr
  2008-03-10 23:20 ` Junqian Gordon Xu
  2008-08-06  5:41 ` Junqian Gordon Xu
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Reitmayr @ 2008-03-09 16:56 UTC (permalink / raw)
  To: openembedded-devel

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).




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Perl modules: Cannot compile due to wrong dependency in Makefile
  2008-03-09 16:56 Perl modules: Cannot compile due to wrong dependency in Makefile Thomas Reitmayr
@ 2008-03-10 23:20 ` Junqian Gordon Xu
  2008-08-06  5:41 ` Junqian Gordon Xu
  1 sibling, 0 replies; 3+ messages in thread
From: Junqian Gordon Xu @ 2008-03-10 23:20 UTC (permalink / raw)
  To: openembedded-devel

On 03/09/2008 11:56 AM, Thomas Reitmayr wrote:
> 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:

These are definitely overlooked host path pollution.

> 
> [...]
> 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?

The common fix for hard coded path in configure or Makefile is to patch 
those with the appropriate ${STAGINGDIR}.

Regards
Gordon



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Perl modules: Cannot compile due to wrong dependency in Makefile
  2008-03-09 16:56 Perl modules: Cannot compile due to wrong dependency in Makefile Thomas Reitmayr
  2008-03-10 23:20 ` Junqian Gordon Xu
@ 2008-08-06  5:41 ` Junqian Gordon Xu
  1 sibling, 0 replies; 3+ messages in thread
From: Junqian Gordon Xu @ 2008-08-06  5:41 UTC (permalink / raw)
  To: openembedded-devel

On 03/09/2008 11:56 AM, Thomas Reitmayr wrote:
> 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).


should be fixed at least for the following two perl modules

libwww-perl: revision 2873796e006d11d27cf466d502a70c2800820342
liburi-perl: revision 8255feabebd04e228e5a0558f18f07b7e6c13dd9

Regards
Gordon



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-08-06  5:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-09 16:56 Perl modules: Cannot compile due to wrong dependency in Makefile Thomas Reitmayr
2008-03-10 23:20 ` Junqian Gordon Xu
2008-08-06  5:41 ` Junqian Gordon Xu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.