Skip to contentSkip to conversation

gnu-config make sure we use perl-native

PATCH In review Saul Wold 6 participants 9 messages Mar 12, 2011 – Mar 17, 2011

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

cover gnu-config make sure we use perl-native

From: Saul Wold <[email protected]>

During a world build I was getting a perl version mismatch between the perl-native and the host perl. This change ensures that perl-native is used always.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: sgw/gnu-config
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=sgw/gnu-config

Thanks,
Saul Wold <[email protected]>
---

Saul Wold (1):
gnu-config: Ensure that we use perl-native to avoid version
mis-matches

 .../gnu-config/gnu-config_20080123.bb              |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)
author
#1 lore raw

PATCH 1/1 gnu-config: Ensure that we use perl-native to avoid version mis-matches

From: Saul Wold <[email protected]>

---
 .../gnu-config/gnu-config_20080123.bb              |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)
meta/recipes-devtools/gnu-config/gnu-config_20080123.bb +1 -3
index 2629ecb..af34cee 100644
@@ -26,9 +26,7 @@ do_install () {
 		sed -e 's,@gnu-configdir@,${datadir}/gnu-config,g' \
 		    -e 's,@autom4te_perllibdir@,${datadir}/autoconf,g' > ${D}${bindir}/gnu-configize
 	# In the native case we want the system perl as perl-native can't have built yet
-	if [ "${BUILD_ARCH}" != "${TARGET_ARCH}" ]; then
-		sed -i -e 's,/usr/bin/perl,${bindir}/perl,g' ${D}${bindir}/gnu-configize
-	fi
+	sed -i -e 's,/usr/bin/perl,${bindir}/perl,g' ${D}${bindir}/gnu-configize
 	chmod 755 ${D}${bindir}/gnu-configize
 	install -m 0644 config.guess config.sub ${D}${datadir}/gnu-config/
 }
Signature · 1 line
1.7.1
author
#2 lore raw
In reply to Saul Wold
Quoted 6 lines · Saul Wold

From: Saul Wold<[email protected]>

During a world build I was getting a perl version mismatch between the perl-native and the host perl. This change ensures that perl-native is used always.

Never mind this patch, Saul's brain is not functioning well today, I completely missed the comment!

Back to the drawing board on why the miss-match is occuring in Config.pm then.

Sau!

Quoted 16 lines

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: sgw/gnu-config
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=sgw/gnu-config

Thanks,
Saul Wold<[email protected]>
---

Saul Wold (1):
gnu-config: Ensure that we use perl-native to avoid version
mis-matches

  .../gnu-config/gnu-config_20080123.bb              |    4 +---
  1 files changed, 1 insertions(+), 3 deletions(-)
#3 lore raw
Quoted 10 lines · Saul Wold
Quoted 6 lines · Saul Wold

From: Saul Wold<[email protected]>

During a world build I was getting a perl version mismatch between the perl-native and the host perl. This change ensures that perl-native is used always.

Never mind this patch, Saul's brain is not functioning well today, I completely missed the comment!

I discarded my reply :)

Quoted 3 lines

Back to the drawing board on why the miss-match is occuring in Config.pm then.

somewhere there is /usr/bin/perl referred may be a cross recipe ?

Quoted 22 lines

Sau!

Quoted 9 lines

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: sgw/gnu-config
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=sgw/gnu-config

Thanks,
Saul Wold<[email protected]>
---

Quoted 7 lines

Saul Wold (1):
gnu-config: Ensure that we use perl-native to avoid version
mis-matches

 .../gnu-config/gnu-config_20080123.bb              |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

_______________________________________________
poky mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/poky

Signature · 1 line
-Khem
#4 lore raw
Quoted 4 lines · On Saturday 12 March 2011 02:31:40 Khem Raj wrote:
Quoted 2 lines

Back to the drawing board on why the miss-match is occuring in Config.pm then.

somewhere there is /usr/bin/perl referred may be a cross recipe ?

I've hit this issue this morning, and have filed a bug report:

http://bugzilla.pokylinux.org/show_bug.cgi?id=866

Not sure if it helps but at least it should be easy to reproduce.

Cheers,
Paul

#5 lore raw

Op 14 mrt 2011, om 12:51 heeft Paul Eggleton het volgende geschreven:

Quoted 11 lines · On Saturday 12 March 2011 02:31:40 Khem Raj wrote:
Quoted 4 lines
Quoted 2 lines

Back to the drawing board on why the miss-match is occuring in Config.pm then.

somewhere there is /usr/bin/perl referred may be a cross recipe ?

I've hit this issue this morning, and have filed a bug report:

http://bugzilla.pokylinux.org/show_bug.cgi?id=866

Not sure if it helps but at least it should be easy to reproduce.

I haven't checked if the OE .dev and OE core gnu-config are similar, but have a look at:

http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=be21179c5321bd0afb9221f020ac12ad75c86a3b
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=edcdefbf6e0675c1bcc1fc4f464f654223380e50

regards,

Koen

#6 lore raw
Quoted 10 lines · Koen Kooi

Op 14 mrt 2011, om 12:51 heeft Paul Eggleton het volgende geschreven:

Quoted 8 lines · On Saturday 12 March 2011 02:31:40 Khem Raj wrote:
Quoted 4 lines
Quoted 2 lines

Back to the drawing board on why the miss-match is occuring in Config.pm then.

somewhere there is /usr/bin/perl referred may be a cross recipe ?

I've hit this issue this morning, and have filed a bug report:

Quoted 8 lines
Quoted 3 lines

http://bugzilla.pokylinux.org/show_bug.cgi?id=866

Not sure if it helps but at least it should be easy to reproduce.

I haven't checked if the OE .dev and OE core gnu-config are similar, but have a look at:

http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=be21179c5321bd0afb9221f020ac12ad75c86a3b
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=edcdefbf6e0675c1bcc1fc4f464f654223380e50

There are a few related patches to this floating around and I know Tom did some work in OE.dev to make perl-native an early bootstrap dependency.

I've been giving this some thought and given the various goals we have, I think the long term best solution is going to be to place perl into an isolated bin directory in sysroots, then for anything using really using perl-native, add that directory to PATH. This is similar to what we now do with the bootstrap toolchains in OE-Core. This way the dependencies are deterministic and either perl is or isn't required but we don't instantly need to build perl-native or run the risk of nasty loops in the early bootstrap. Anything requiring perl-native would add the directory to PATH, probably using a tiny class file.

The above patches still would make sense of course.

Cheers,

Richard

#7 lore raw
Quoted 34 lines · Richard Purdie
Quoted 10 lines · Koen Kooi

Op 14 mrt 2011, om 12:51 heeft Paul Eggleton het volgende geschreven:

Quoted 8 lines · On Saturday 12 March 2011 02:31:40 Khem Raj wrote:
Quoted 4 lines
Quoted 2 lines

Back to the drawing board on why the miss-match is occuring in Config.pm then.

somewhere there is /usr/bin/perl referred may be a cross recipe ?

I've hit this issue this morning, and have filed a bug report:

Quoted 8 lines
Quoted 3 lines

http://bugzilla.pokylinux.org/show_bug.cgi?id=866

Not sure if it helps but at least it should be easy to reproduce.

I haven't checked if the OE .dev and OE core gnu-config are similar, but have a look at:

http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=be21179c5321bd0afb9221f020ac12ad75c86a3b
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=edcdefbf6e0675c1bcc1fc4f464f654223380e50

There are a few related patches to this floating around and I know Tom did some work in OE.dev to make perl-native an early bootstrap dependency.

I've been giving this some thought and given the various goals we have, I think the long term best solution is going to be to place perl into an isolated bin directory in sysroots, then for anything using really using perl-native, add that directory to PATH. This is similar to what we now do with the bootstrap toolchains in OE-Core. This way the dependencies are deterministic and either perl is or isn't required but we don't instantly need to build perl-native or run the risk of nasty loops in the early bootstrap. Anything requiring perl-native would add the directory to PATH, probably using a tiny class file.

Quoted 1 line

The above patches still would make sense of course.

So, as background, there's a few cases of problems we have to deal with.
The ones Koen pointed out are fall-out from switching to making
perl-native be part of the early bootstrap.

I would encourage someone to look at solving this problem in another way but I ended up finding that honestly, getting perl-native to build before we did almost anything else wasn't as hard as I feared (based on a previous attempt at doing it) and unless we can get things to the point where only perl needs perl-native (which should possibly be perl-cross) you can still hit some nasty corner cases. And yes, doing this would mean changing the libperl-foo-native things into installing with host cpan into the TMPDIR which may or may not be easier said than done.

Signature · 2 lines
Tom Rini
Mentor Graphics Corporation
#8 lore raw
In reply to Koen Kooi
Quoted 10 lines · Koen Kooi

Op 14 mrt 2011, om 12:51 heeft Paul Eggleton het volgende geschreven:

Quoted 8 lines · On Saturday 12 March 2011 02:31:40 Khem Raj wrote:
Quoted 4 lines
Quoted 2 lines

Back to the drawing board on why the miss-match is occuring in Config.pm then.

somewhere there is /usr/bin/perl referred may be a cross recipe ?

I've hit this issue this morning, and have filed a bug report:

Quoted 9 lines
Quoted 3 lines

http://bugzilla.pokylinux.org/show_bug.cgi?id=866

Not sure if it helps but at least it should be easy to reproduce.

I haven't checked if the OE .dev and OE core gnu-config are similar, but have a look at:

http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=be21179c5321bd0afb9221f020ac12ad75c86a3b
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=edcdefbf6e0675c1bcc1fc4f464f654223380e50

I'm going to merge these into OE.core, thanks.

Richard