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