host-qemu: new package
PATCH v11 1/9 host-qemu: new package
only user mode for the current target architecture
--- package/qemu/qemu.mk | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 package/qemu/qemu.mk
package/qemu/qemu.mk new file +82 -0
@@ -0,0 +1,82 @@ +############################################################# +# +# qemu +# +############################################################# + +QEMU_VERSION = 1.2.0 +QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.bz2 +QEMU_SITE = http://wiki.qemu.org/download + +# BR ARCH qemu +# ------- ---- +# arm arm +# armeb armeb +# avr32 not supported +# bfin not supported +# i386 i386 +# i486 i386 +# i586 i386 +# i686 i386 +# x86_64 x86_64 +# m68k m68k +# microblaze microblaze +# mips mips +# mipsel mipsel +# mips64 ? +# mips64el ? +# powerpc ppc +# sh2 not supported +# sh2a not supported +# sh3 not supported +# sh3eb not supported +# sh4 sh4 +# sh4eb sh4eb +# sh4a ? +# sh4aeb ? +# sh64 not supported +# sparc sparc + +QEMU_ARCH = $(ARCH) +ifeq ($(QEMU_ARCH),i486) + QEMU_ARCH = i386 +endif +ifeq ($(QEMU_ARCH),i586) + QEMU_ARCH = i386 +endif +ifeq ($(QEMU_ARCH),i686) + QEMU_ARCH = i386 +endif +ifeq ($(QEMU_ARCH),powerpc) + QEMU_ARCH = ppc +endif +HOST_QEMU_TARGETS=$(QEMU_ARCH)-linux-user + +define HOST_QEMU_CONFIGURE_CMDS + (cd $(@D); ./configure \ + --target-list="$(HOST_QEMU_TARGETS)" \ + --prefix="$(HOST_DIR)/usr" \ + --interp-prefix=$(STAGING_DIR) \ + --cc="$(HOSTCC)" \ + --host-cc="$(HOSTCC)" \ + --extra-cflags="$(HOST_CFLAGS)" \ + --extra-ldflags="$(HOST_LDFLAGS)" \ + ) +endef + +define HOST_QEMU_BUILD_CMDS + $(MAKE) -C $(@D) all +endef + +define HOST_QEMU_INSTALL_CMDS + $(MAKE) -C $(@D) install +endef + +define HOST_QEMU_CLEAN_CMDS + $(MAKE) -C $(@D) clean +endef + +$(eval $(host-generic-package)) + +# variable used by other packages +QEMU_USER = $(HOST_DIR)/usr/bin/qemu-$(QEMU_ARCH)
Signature · 1 line
1.7.9.5
PATCH v11 2/9 perl: new package
--- package/Config.in | 1 + package/perl/Config.in | 18 ++++++ package/perl/perl-configure-qemu.patch | 53 +++++++++++++++++ package/perl/perl-make-ext.patch | 24 ++++++++ package/perl/perl-mkppport.patch | 37 ++++++++++++ package/perl/perl.mk | 99 ++++++++++++++++++++++++++++++++ 6 files changed, 232 insertions(+) create mode 100644 package/perl/Config.in create mode 100644 package/perl/perl-configure-qemu.patch create mode 100644 package/perl/perl-make-ext.patch create mode 100644 package/perl/perl-mkppport.patch create mode 100644 package/perl/perl.mk
package/Config.in +1 -0
@@ -262,6 +262,7 @@ source "package/wsapi/Config.in" source "package/xavante/Config.in" endmenu endif +source "package/perl/Config.in" source "package/microperl/Config.in" source "package/php/Config.in" source "package/python/Config.in"
package/perl/Config.in new file +18 -0
@@ -0,0 +1,18 @@ +config BR2_PACKAGE_PERL + bool "perl" + depends on !BR2_avr32 + depends on !BR2_bfin + depends on !BR2_sh2 + depends on !BR2_sh2a + depends on !BR2_sh3 + depends on !BR2_sh3eb + depends on !BR2_sh64 + help + Larry Wall's Practical Extraction and Report Language + An interpreted scripting language, known among some as "Unix's Swiss + Army Chainsaw". + + http://www.perl.org/ + +comment "perl requires an architecture supported by qemu" + depends on BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || BR2_sh3eb || BR2_sh64
package/perl/perl-configure-qemu.patch new file +53 -0
53 lines not on this page · raw message
package/perl/perl-make-ext.patch new file +24 -0
@@ -0,0 +1,24 @@ +Don't use RUN with make (only for perl) + +Signed-off-by: Francois Perrad <[email protected]> + +Index: b/make_ext.pl +=================================================================== +--- a/make_ext.pl ++++ b/make_ext.pl +@@ -458,11 +458,13 @@ + # Give makefile an opportunity to rewrite itself. + # reassure users that life goes on... + my @args = ('config', @$pass_through); +- system(@run, @make, @args) and print "@run @make @args failed, continuing anyway...\n"; ++# system(@run, @make, @args) and print "@run @make @args failed, continuing anyway...\n"; ++ system(@make, @args) and print "@make @args failed, continuing anyway...\n"; + } + my @targ = ($target, @$pass_through); + print "Making $target in $ext_dir\n at run @make @targ\n"; +- my $code = system(@run, @make, @targ); ++# my $code = system(@run, @make, @targ); ++ my $code = system(@make, @targ); + die "Unsuccessful make($ext_dir): code=$code" if $code != 0; + + chdir $return_dir || die "Cannot cd to $return_dir: $!";
package/perl/perl-mkppport.patch new file +37 -0
@@ -0,0 +1,37 @@ +Add RUN + +Signed-off-by: Francois Perrad <[email protected]> + +Index: b/mkppport +=================================================================== +--- a/mkppport ++++ b/mkppport +@@ -1,6 +1,7 @@ + use strict; + use warnings; + ++use Config; + use Getopt::Long; + use File::Spec; + use File::Compare qw( compare ); +@@ -136,14 +137,18 @@ + #---------------------------------------------- + sub run + { ++ my @run = $Config{run}; ++ @run = () if not defined $run[0] or $run[0] eq ''; + my @args = ("-I" . File::Spec->catdir((File::Spec->updir) x 2, 'lib'), @_); + my $run = $perl =~ m/\s/ ? qq("$perl") : $perl; + for (@args) { + $_ = qq("$_") if $^O eq 'VMS' && /^[^"]/; + $run .= " $_"; + } +- print "running $run\n"; +- system $run and die "$run failed: $?\n"; ++# print "running $run\n"; ++# system $run and die "$run failed: $?\n"; ++ print "running ", join(' ', @run, $run), "\n"; ++ system join(' ', @run, $run) and die "@run $run failed: $?\n"; + } + + __END__
package/perl/perl.mk new file +99 -0
99 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH v11 2/9 perl: new package
Hi,
Francois Perrad <[email protected]> wrote in news:1350652434-32020-2-git-send-email-francois.perrad at gadz.org:
currently I am testing your patchset, but I found problems during compiling, some I could solve myself:
Quoted 1 line
+PERL_CONF_OPT = -des \
[...]
Quoted 1 line
+ -Dlibc=$(STAGING_DIR)/lib/libc.so \
I had to change this line to
-Dlibc=$(STAGING_DIR)/usr/lib/libc.so.0 \
for usage with uClibc 0.9.33.2
[...]
Quoted 1 line
+ -Uoptimize
Here I had to add "-Ud_eaccess" to avoid a compilation bug.
Perl will still not finish to compile, stopping with this error message:
Quoted 1 line
LD_LIBRARY_PATH=/home/bernd/.fbr/build/output/build/perl-5.16.1
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386 ./miniperl -Ilib make_ext.pl cpan/Archive-Extract/pm_to_blib MAKE=/home/bernd/.fbr/build/output/host/usr/bin/make LIBPERL_A=libperl.so
Quoted 6 lines
Making
Archive::Extract(all)Creating Makefile.PL in cpan/Archive-Extract for
Archive::ExtractRunning Makefile.PL in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386
../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.so
Quoted 3 lines
-1 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 409.
Warning: NoMakefile!/home/bernd/.fbr/build/output/host/usr/bin/makeconfig PERL_CORE=1
LIBPERL_A=libperl.so failed, continuing anyway...
Quoted 2 lines
Making all in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386
/home/bernd/.fbr/build/output/host/usr/bin/make all PERL_CORE=1 LIBPERL_A=libperl.so
Quoted 3 lines
Unsuccessful make(cpan/Archive-Extract): code=-1 at make_ext.pl line 468. make[1]: *** [cpan/Archive-Extract/pm_to_blib] Fehler 22 make[1]: Leaving directory `/home/bernd/.fbr/build/output/build/perl-
5.16.1'
Quoted 1 line
make: *** [
/home/bernd/.fbr/build/output/build/perl-5.16.1/.stamp_built]
Fehler 2
Executing the last command alone provides this error hinting at a problem with host-qemu, which I was able to solve yet.
$ /home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386 /home/bernd/.fbr/build/output/host/usr/bin/make all PERL_CORE=1 LIBPERL_A=libperl.so qemu: Unsupported syscall: 240 qemu: Unsupported syscall: 240
First I got this error message with Debian Squeeze i386 (virtualbox guest, Win XP host), but also on Debian wheezy amd64 running non-virtualized.
My .config can be found here: http://pastebin.com/yz1SzeB2
I am using buildroot as part of the FLI4L source package[1].
Kind regards, Bernd
[1] http://www.fli4l.de/download/tarball-version/aktuell.html
PATCH v11 2/9 perl: new package
2012/10/30 Bernd Kuhls <[email protected]>:
Quoted 64 lines
Hi,
Francois Perrad <[email protected]> wrote in news:1350652434-32020-2-git-send-email-francois.perrad at gadz.org:
currently I am testing your patchset, but I found problems during compiling, some I could solve myself:
Quoted 1 line
+PERL_CONF_OPT = -des \
[...]
Quoted 1 line
+ -Dlibc=$(STAGING_DIR)/lib/libc.so \
I had to change this line to
-Dlibc=$(STAGING_DIR)/usr/lib/libc.so.0 \for usage with uClibc 0.9.33.2
[...]
Quoted 1 line
+ -Uoptimize
Here I had to add "-Ud_eaccess" to avoid a compilation bug.
Perl will still not finish to compile, stopping with this error message:
Quoted 1 line
LD_LIBRARY_PATH=/home/bernd/.fbr/build/output/build/perl-5.16.1
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386./miniperl -Ilib make_ext.pl cpan/Archive-Extract/pm_to_blib MAKE=/home/bernd/.fbr/build/output/host/usr/bin/make LIBPERL_A=libperl.soQuoted 6 lines
Making
Archive::Extract(all)Creating Makefile.PL in cpan/Archive-Extract for
Archive::ExtractRunning Makefile.PL in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.so
Quoted 3 lines
-1 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 409.
Warning: NoMakefile!/home/bernd/.fbr/build/output/host/usr/bin/makeconfig PERL_CORE=1LIBPERL_A=libperl.so failed, continuing anyway...
Quoted 2 lines
Making all in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386
/home/bernd/.fbr/build/output/host/usr/bin/makeall PERL_CORE=1 LIBPERL_A=libperl.soQuoted 3 lines
Unsuccessful make(cpan/Archive-Extract): code=-1 at make_ext.pl line 468. make[1]: *** [cpan/Archive-Extract/pm_to_blib] Fehler 22 make[1]: Leaving directory `/home/bernd/.fbr/build/output/build/perl-
5.16.1'
Quoted 1 line
make: *** [
/home/bernd/.fbr/build/output/build/perl-5.16.1/.stamp_built]Fehler 2
Executing the last command alone provides this error hinting at a problem with host-qemu, which I was able to solve yet.
$ /home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386 /home/bernd/.fbr/build/output/host/usr/bin/make all PERL_CORE=1 LIBPERL_A=libperl.so qemu: Unsupported syscall: 240 qemu: Unsupported syscall: 240
Quoted 8 lines
First I got this error message with Debian Squeeze i386 (virtualbox guest, Win XP host), but also on Debian wheezy amd64 running non-virtualized.
My .config can be found here: http://pastebin.com/yz1SzeB2
I am using buildroot as part of the FLI4L source package[1].Kind regards, Bernd
I could reproduce the lastest problem on the HEAD of Buildroot with qemu_x86_defconfig (which is a smaller config than your FLI4L config).
Fran?ois
Quoted 6 lines
[1] http://www.fli4l.de/download/tarball-version/aktuell.html
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v11 2/9 perl: new package
Quoted 9 lines · Fran?ois Perrad
Quoted 9 lines
Quoted 9 lines
$/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386
/home/bernd/.fbr/build/output/host/usr/bin/makeall PERL_CORE=1 LIBPERL_A=libperl.so
qemu: Unsupported syscall: 240
qemu: Unsupported syscall: 240First I got this error message with Debian Squeeze i386 (virtualbox guest, Win XP host), but also on Debian wheezy amd64 running non-virtualized.
Quoted 7 lines
Quoted 5 lines
Quoted 5 lines
My .config can be found here:http://pastebin.com/yz1SzeB2 I am using buildroot as part of the FLI4L source package[1].
Kind regards, Bernd
I could reproduce the lastest problem on the HEAD of Buildroot with
qemu_x86_defconfig(which is a smaller config than your FLI4L config).
Is it possible that this is because the target binary is created with
kernel headers 3.2, but you're running it on a host which is only 2.6.32 (squeeze)? But then it should work on wheezy, because that has 3.2 as well (at least since about four months IIRC). Although... 240 on i386 is futex, which has existed already since long before 2.6.32.
I do find this bug report:
https://bugs.launchpad.net/ubuntu/+source/qemu-linaro/+bug/758424
but I'm not sure if it is relevant.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v11 2/9 perl: new package
Quoted 5 lines · Arnout Vandecappelle
Is it possible that this is because the target binary is created with
kernel headers 3.2, but you're running it on a host which is only 2.6.32 (squeeze)? But then it should work on wheezy, because that has 3.2 as well (at least since about four months IIRC). Although... 240 on i386 is futex, which has existed already since long before 2.6.32.
Aaah, I didn't think about this problem. This is indeed going to be really annoying, if the kernel headers chosen for the target have to somewhat match the kernel version running on the host :-(
I guess this whole qemu thing for Perl is going to be annoying on the long term. We might need to start looking for a different option, i.e seeing how to get Perl to build without needing qemu.
Best regards,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH v11 2/9 perl: new package
2012/11/6 Thomas Petazzoni <[email protected]>
Quoted 19 lines · Arnout Vandecappelle
Quoted 6 lines
Is it possible that this is because the target binary is created with
kernel headers 3.2, but you're running it on a host which is only 2.6.32 (squeeze)? But then it should work on wheezy, because that has 3.2 as well (at least since about four months IIRC). Although... 240 on i386 is futex, which has existed already since long before 2.6.32.Aaah, I didn't think about this problem. This is indeed going to be really annoying, if the kernel headers chosen for the target have to somewhat match the kernel version running on the host :-(
I guess this whole qemu thing for Perl is going to be annoying on the long term. We might need to start looking for a different option, i.e seeing how to get Perl to build without needing qemu.
Best regards,
Quoted 11 lines
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
I'm working in chroot. that includes headers from 3.6, but host-system is
CentOS 6.2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20121106/b5229cd9/attachment.html>
PATCH v11 2/9 perl: new package
In reply to Thomas PetazzoniThomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8 @public.gmane.org> wrote in news:20121106080812.4e7bd01a at skate:
Quoted 3 lines
I guess this whole qemu thing for Perl is going to be annoying on the long term. We might need to start looking for a different option, i.e seeing how to get Perl to build without needing qemu.
Hi,
maybe this can be of help: http://perlcross.berlios.de/
Kind regards, Bernd
PS: The reason I am fiddling around with Perl is to compile Mail::Spamassassin which needs a lot of other modules.
PATCH v11 2/9 perl: new package
Quoted 10 lines · Bernd Kuhls
Thomas Petazzoni<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8 @public.gmane.org> wrote in news:20121106080812.4e7bd01a at skate:
Quoted 3 lines
I guess this whole qemu thing for Perl is going to be annoying on the long term. We might need to start looking for a different option, i.e seeing how to get Perl to build without needing qemu.
Hi,
maybe this can be of help: http://perlcross.berlios.de/
That sounds like a terrific idea! Do you feel up to integrating this in
buildroot and sending a patch?
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v11 2/9 perl: new package
Arnout Vandecappelle <[email protected]> wrote in
news:50999637.1090305 at mind.be:
Quoted 4 lines
Quoted 1 line
maybe this can be of help: http://perlcross.berlios.de/
That sounds like a terrific idea! Do you feel up to integrating this in
buildroot and sending a patch?
Unfortunately not due to lack of skill :(
PATCH v11 2/9 perl: new package
Quoted 9 lines · Bernd Kuhls
Arnout Vandecappelle<[email protected]> wrote in
news:50999637.1090305 at mind.be:Quoted 4 lines
Quoted 1 line
maybe this can be of help: http://perlcross.berlios.de/
That sounds like a terrific idea! Do you feel up to integrating this in
buildroot and sending a patch?Unfortunately not due to lack of skill :(
In that case, I'll try to take a look at it this evening.
We really need to get this perl mess fixed for the 2012.11 release...
(Francois, with that I don't want to imply that you did a bad job. On the
contrary, getting the build with qemu running was an important step even if it will have to be replaced eventually.)
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v11 2/9 perl: new package
In reply to Arnout VandecappelleArnout Vandecappelle <[email protected]> wrote in
news:50986270.4070804 at mind.be:
Quoted 5 lines
Is it possible that this is because the target binary is created with
kernel headers 3.2, but you're running it on a host which is only 2.6.32 (squeeze)? But then it should work on wheezy, because that has 3.2 as well (at least since about four months IIRC). Although... 240 on i386 is futex, which has existed already since long before 2.6.32.
Hi,
on wheezy I am using kernel 3.5.5.
$ LC_ALL=C apt-cache policy linux-image-3.5-trunk-amd64 linux-image-3.5-trunk-amd64: Installed: 3.5.5-1~experimental.1 Candidate: 3.5.5-1~experimental.1
Kind regards, Bernd
PATCH v11 2/9 perl: new package
In reply to François Perrad2012/11/5 Fran?ois Perrad <[email protected]>:
Quoted 68 lines
2012/10/30 Bernd Kuhls <[email protected]>:
Quoted 67 lines
Hi,
Francois Perrad <[email protected]> wrote in news:1350652434-32020-2-git-send-email-francois.perrad at gadz.org:
currently I am testing your patchset, but I found problems during compiling, some I could solve myself:
Quoted 1 line
+PERL_CONF_OPT = -des \
[...]
Quoted 1 line
+ -Dlibc=$(STAGING_DIR)/lib/libc.so \
I had to change this line to
-Dlibc=$(STAGING_DIR)/usr/lib/libc.so.0 \for usage with uClibc 0.9.33.2
[...]
Quoted 1 line
+ -Uoptimize
Here I had to add "-Ud_eaccess" to avoid a compilation bug.
Perl will still not finish to compile, stopping with this error message:
Quoted 1 line
LD_LIBRARY_PATH=/home/bernd/.fbr/build/output/build/perl-5.16.1
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386./miniperl -Ilib make_ext.pl cpan/Archive-Extract/pm_to_blib MAKE=/home/bernd/.fbr/build/output/host/usr/bin/make LIBPERL_A=libperl.soQuoted 6 lines
Making
Archive::Extract(all)Creating Makefile.PL in cpan/Archive-Extract for
Archive::ExtractRunning Makefile.PL in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.so
Quoted 3 lines
-1 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 409.
Warning: NoMakefile!/home/bernd/.fbr/build/output/host/usr/bin/makeconfig PERL_CORE=1LIBPERL_A=libperl.so failed, continuing anyway...
Quoted 2 lines
Making all in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386
/home/bernd/.fbr/build/output/host/usr/bin/makeall PERL_CORE=1 LIBPERL_A=libperl.soQuoted 3 lines
Unsuccessful make(cpan/Archive-Extract): code=-1 at make_ext.pl line 468. make[1]: *** [cpan/Archive-Extract/pm_to_blib] Fehler 22 make[1]: Leaving directory `/home/bernd/.fbr/build/output/build/perl-
5.16.1'
Quoted 1 line
make: *** [
/home/bernd/.fbr/build/output/build/perl-5.16.1/.stamp_built]Fehler 2
Executing the last command alone provides this error hinting at a problem with host-qemu, which I was able to solve yet.
$ /home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386 /home/bernd/.fbr/build/output/host/usr/bin/make all PERL_CORE=1 LIBPERL_A=libperl.so qemu: Unsupported syscall: 240 qemu: Unsupported syscall: 240First I got this error message with Debian Squeeze i386 (virtualbox guest, Win XP host), but also on Debian wheezy amd64 running non-virtualized.
Quoted 9 lines
Quoted 5 lines
My .config can be found here: http://pastebin.com/yz1SzeB2
I am using buildroot as part of the FLI4L source package[1].Kind regards, Bernd
I could reproduce the lastest problem on the HEAD of Buildroot with
qemu_x86_defconfig(which is a smaller config than your FLI4L config).
first, before manually running a command in the build tree, you must set PERL_MM_OPT
$ export PERL_MM_OPT="PERL=`pwd`/Cross/miniperl"
the error
-1 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 409.
comes from miniperl which fails with a 'system' call.
this problem could be reproduced with a simple one-liner :
$ perl -e "my \$code = system( q(echo), q(hello) ); print(\$code);" hello 0
$ Cross/miniperl -e "my \$code = system( q(echo), q(hello) ); print(\$code);" -1
Fran?ois
Quoted 8 lines
Fran?ois
Quoted 6 lines
[1] http://www.fli4l.de/download/tarball-version/aktuell.html
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v11 2/9 perl: new package
2012/11/6 Fran?ois Perrad <[email protected]>:
Quoted 89 lines
2012/11/5 Fran?ois Perrad <[email protected]>:
Quoted 68 lines
2012/10/30 Bernd Kuhls <[email protected]>:
Quoted 67 lines
Hi,
Francois Perrad <[email protected]> wrote in news:1350652434-32020-2-git-send-email-francois.perrad at gadz.org:
currently I am testing your patchset, but I found problems during compiling, some I could solve myself:
Quoted 1 line
+PERL_CONF_OPT = -des \
[...]
Quoted 1 line
+ -Dlibc=$(STAGING_DIR)/lib/libc.so \
I had to change this line to
-Dlibc=$(STAGING_DIR)/usr/lib/libc.so.0 \for usage with uClibc 0.9.33.2
[...]
Quoted 1 line
+ -Uoptimize
Here I had to add "-Ud_eaccess" to avoid a compilation bug.
Perl will still not finish to compile, stopping with this error message:
Quoted 1 line
LD_LIBRARY_PATH=/home/bernd/.fbr/build/output/build/perl-5.16.1
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386./miniperl -Ilib make_ext.pl cpan/Archive-Extract/pm_to_blib MAKE=/home/bernd/.fbr/build/output/host/usr/bin/make LIBPERL_A=libperl.soQuoted 6 lines
Making
Archive::Extract(all)Creating Makefile.PL in cpan/Archive-Extract for
Archive::ExtractRunning Makefile.PL in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.so
Quoted 3 lines
-1 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 409.
Warning: NoMakefile!/home/bernd/.fbr/build/output/host/usr/bin/makeconfig PERL_CORE=1LIBPERL_A=libperl.so failed, continuing anyway...
Quoted 2 lines
Making all in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386
/home/bernd/.fbr/build/output/host/usr/bin/makeall PERL_CORE=1 LIBPERL_A=libperl.soQuoted 3 lines
Unsuccessful make(cpan/Archive-Extract): code=-1 at make_ext.pl line 468. make[1]: *** [cpan/Archive-Extract/pm_to_blib] Fehler 22 make[1]: Leaving directory `/home/bernd/.fbr/build/output/build/perl-
5.16.1'
Quoted 1 line
make: *** [
/home/bernd/.fbr/build/output/build/perl-5.16.1/.stamp_built]Fehler 2
Executing the last command alone provides this error hinting at a problem with host-qemu, which I was able to solve yet.
$ /home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386 /home/bernd/.fbr/build/output/host/usr/bin/make all PERL_CORE=1 LIBPERL_A=libperl.so qemu: Unsupported syscall: 240 qemu: Unsupported syscall: 240First I got this error message with Debian Squeeze i386 (virtualbox guest, Win XP host), but also on Debian wheezy amd64 running non-virtualized.
Quoted 9 lines
Quoted 5 lines
My .config can be found here: http://pastebin.com/yz1SzeB2
I am using buildroot as part of the FLI4L source package[1].Kind regards, Bernd
I could reproduce the lastest problem on the HEAD of Buildroot with
qemu_x86_defconfig(which is a smaller config than your FLI4L config).first, before manually running a command in the build tree, you must set
PERL_MM_OPT$ export PERL_MM_OPT="PERL=`pwd`/Cross/miniperl"the error
-1 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 409.
comes from miniperl which fails with a 'system' call.this problem could be reproduced with a simple one-liner :
Quoted 9 lines
$ perl -e "my \$code = system( q(echo), q(hello) ); print(\$code);" hello 0$ Cross/miniperl -e "my \$code = system( q(echo), q(hello) ); print(\$code);" -1Fran?ois
after an installation on the target, this 'miniperl' works fine. so, the problem comes from Qemu.
I write a small C example :
$ cat sys.c #include <stdio.h> #include <stdlib.h>
int main()
{
int ret = system("echo hello");
printf("%d\n", ret);
}$ ../../host/usr/bin/i686-buildroot-linux-uclibc-gcc -o sys sys.c $ file sys sys: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped $ ../../host/usr/bin/qemu-i386 ./sys -1
I also try on various architecture.
I build Perl successfully with qemu-arm and qemu-mips, the problem occurs with qemu-i386 and qemu-x86_64, with a qemu-i386 version 1.2.0 built with Buildroot and with a qemu-i386 version 1.0.50 which comes my distro Ubuntu 12.04 LTS.
Other bad new, these days, the homepage of Qemu (http://wiki.qemu.org) is down.
Fran?ois
Quoted 8 lines
Quoted 8 lines
Fran?ois
Quoted 6 lines
[1] http://www.fli4l.de/download/tarball-version/aktuell.html
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v11 2/9 perl: new package
2012/11/6 Fran?ois Perrad <[email protected]>:
Quoted 122 lines
2012/11/6 Fran?ois Perrad <[email protected]>:
Quoted 89 lines
2012/11/5 Fran?ois Perrad <[email protected]>:
Quoted 68 lines
2012/10/30 Bernd Kuhls <[email protected]>:
Quoted 67 lines
Hi,
Francois Perrad <[email protected]> wrote in news:1350652434-32020-2-git-send-email-francois.perrad at gadz.org:
currently I am testing your patchset, but I found problems during compiling, some I could solve myself:
Quoted 1 line
+PERL_CONF_OPT = -des \
[...]
Quoted 1 line
+ -Dlibc=$(STAGING_DIR)/lib/libc.so \
I had to change this line to
-Dlibc=$(STAGING_DIR)/usr/lib/libc.so.0 \for usage with uClibc 0.9.33.2
[...]
Quoted 1 line
+ -Uoptimize
Here I had to add "-Ud_eaccess" to avoid a compilation bug.
Perl will still not finish to compile, stopping with this error message:
Quoted 1 line
LD_LIBRARY_PATH=/home/bernd/.fbr/build/output/build/perl-5.16.1
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386./miniperl -Ilib make_ext.pl cpan/Archive-Extract/pm_to_blib MAKE=/home/bernd/.fbr/build/output/host/usr/bin/make LIBPERL_A=libperl.soQuoted 6 lines
Making
Archive::Extract(all)Creating Makefile.PL in cpan/Archive-Extract for
Archive::ExtractRunning Makefile.PL in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.so
Quoted 3 lines
-1 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 409.
Warning: NoMakefile!/home/bernd/.fbr/build/output/host/usr/bin/makeconfig PERL_CORE=1LIBPERL_A=libperl.so failed, continuing anyway...
Quoted 2 lines
Making all in cpan/Archive-Extract
/home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386
/home/bernd/.fbr/build/output/host/usr/bin/makeall PERL_CORE=1 LIBPERL_A=libperl.soQuoted 3 lines
Unsuccessful make(cpan/Archive-Extract): code=-1 at make_ext.pl line 468. make[1]: *** [cpan/Archive-Extract/pm_to_blib] Fehler 22 make[1]: Leaving directory `/home/bernd/.fbr/build/output/build/perl-
5.16.1'
Quoted 1 line
make: *** [
/home/bernd/.fbr/build/output/build/perl-5.16.1/.stamp_built]Fehler 2
Executing the last command alone provides this error hinting at a problem with host-qemu, which I was able to solve yet.
$ /home/bernd/.fbr/build/output/build/perl-5.16.1/Cross/run-qemu-i386 /home/bernd/.fbr/build/output/host/usr/bin/make all PERL_CORE=1 LIBPERL_A=libperl.so qemu: Unsupported syscall: 240 qemu: Unsupported syscall: 240First I got this error message with Debian Squeeze i386 (virtualbox guest, Win XP host), but also on Debian wheezy amd64 running non-virtualized.
Quoted 9 lines
Quoted 5 lines
My .config can be found here: http://pastebin.com/yz1SzeB2
I am using buildroot as part of the FLI4L source package[1].Kind regards, Bernd
I could reproduce the lastest problem on the HEAD of Buildroot with
qemu_x86_defconfig(which is a smaller config than your FLI4L config).first, before manually running a command in the build tree, you must set
PERL_MM_OPT$ export PERL_MM_OPT="PERL=`pwd`/Cross/miniperl"the error
-1 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 409.
comes from miniperl which fails with a 'system' call.this problem could be reproduced with a simple one-liner :
Quoted 9 lines
$ perl -e "my \$code = system( q(echo), q(hello) ); print(\$code);" hello 0$ Cross/miniperl -e "my \$code = system( q(echo), q(hello) ); print(\$code);" -1Fran?ois
after an installation on the target, this 'miniperl' works fine. so, the problem comes from Qemu.
I write a small C example :
$ cat sys.c #include <stdio.h> #include <stdlib.h>int
main(){ int ret = system("echo hello"); printf("%d\n", ret); }$ ../../host/usr/bin/i686-buildroot-linux-uclibc-gcc -o sys sys.c $ file sys sys: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped $ ../../host/usr/bin/qemu-i386 ./sys -1
Quoted 8 lines
I also try on various architecture.
I build Perl successfully with qemu-arm and qemu-mips, the problem occurs with qemu-i386 and qemu-x86_64, with a qemu-i386 version 1.2.0 built with Buildroot and with a qemu-i386 version 1.0.50 which comes my distro Ubuntu 12.04 LTS.Other bad new, these days, the homepage of Qemu (http://wiki.qemu.org) is down.
bug report filled, see https://bugs.launchpad.net/qemu/+bug/1076445
Fran?ois
Quoted 10 lines
Fran?ois
Quoted 8 lines
Quoted 8 lines
Fran?ois
Quoted 6 lines
[1] http://www.fli4l.de/download/tarball-version/aktuell.html
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v11 3/9 perl: add DB_File
In reply to Francois Perrad--- package/perl/Config.in | 10 ++++++++++ package/perl/perl.mk | 4 ++++ 2 files changed, 14 insertions(+)
package/perl/Config.in +10 -0
@@ -14,5 +14,15 @@ config BR2_PACKAGE_PERL http://www.perl.org/ +if BR2_PACKAGE_PERL + +config BR2_PACKAGE_PERL_DB_FILE + bool "DB_File" + select BR2_PACKAGE_BERKELEYDB + help + Build the DB_File module. + +endif + comment "perl requires an architecture supported by qemu" depends on BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || BR2_sh3eb || BR2_sh64
package/perl/perl.mk +4 -0
@@ -11,7 +11,11 @@ PERL_SOURCE = perl-$(PERL_VERSION).tar.bz2 PERL_LICENSE = Artistic PERL_LICENSE_FILES = Artistic PERL_INSTALL_STAGING = YES + PERL_DEPENDENCIES = host-qemu +ifeq ($(BR2_PACKAGE_BERKELEYDB),y) + PERL_DEPENDENCIES += berkeleydb +endif PERL_CONF_OPT = -des \ -Dusecrosscompile \
Signature · 1 line
1.7.9.5
PATCH v11 4/9 gdbm: new package
In reply to Francois Perrad--- package/Config.in | 1 + package/gdbm/Config.in | 8 ++++++++ package/gdbm/gdbm.mk | 12 ++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 package/gdbm/Config.in create mode 100644 package/gdbm/gdbm.mk
package/Config.in +1 -0
@@ -324,6 +324,7 @@ endmenu menu "Database" source "package/berkeleydb/Config.in" +source "package/gdbm/Config.in" source "package/mysql_client/Config.in" source "package/sqlcipher/Config.in" source "package/sqlite/Config.in"
package/gdbm/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_GDBM + bool "gdbm" + help + GNU dbm is a set of database routines that use extensible hashing. + It works similar to the standard UNIX dbm routines. + + http://www.gnu.org/software/gdbm/gdbm.html +
package/gdbm/gdbm.mk new file +12 -0
@@ -0,0 +1,12 @@ +############################################################# +# +# gdbm +# +############################################################# +GDBM_VERSION = 1.10 +GDBM_SITE = $(BR2_GNU_MIRROR)/gdbm +GDBM_LICENSE = GPLv3 +GDBM_LICENSE_FILES = COPYING +GDBM_INSTALL_STAGING = YES + +$(eval $(autotools-package))
Signature · 1 line
1.7.9.5
PATCH v11 5/9 perl: add GDBM_File
In reply to Francois Perrad--- package/perl/Config.in | 6 ++++++ package/perl/perl.mk | 3 +++ 2 files changed, 9 insertions(+)
package/perl/Config.in +6 -0
@@ -22,6 +22,12 @@ config BR2_PACKAGE_PERL_DB_FILE help Build the DB_File module. +config BR2_PACKAGE_PERL_GDBM_FILE + bool "GDBM_File" + select BR2_PACKAGE_GDBM + help + Build the GDBM_File module. + endif comment "perl requires an architecture supported by qemu"
package/perl/perl.mk +3 -0
@@ -16,6 +16,9 @@ PERL_DEPENDENCIES = host-qemu ifeq ($(BR2_PACKAGE_BERKELEYDB),y) PERL_DEPENDENCIES += berkeleydb endif +ifeq ($(BR2_PACKAGE_GDBM),y) + PERL_DEPENDENCIES += gdbm +endif PERL_CONF_OPT = -des \ -Dusecrosscompile \
Signature · 1 line
1.7.9.5
PATCH v11 6/9 perl: add option "custom install"
In reply to Francois Perradallows same behaviour (and footprint) as microperl
--- package/perl/Config.in | 16 ++++++++++++++++ package/perl/perl.mk | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+)
package/perl/Config.in +16 -0
@@ -16,6 +16,22 @@ config BR2_PACKAGE_PERL if BR2_PACKAGE_PERL +config BR2_PACKAGE_PERL_CUSTOM_INSTALL + bool "custom install" + help + Don't use the full install target + Install only a selection of modules (like microperl). + +config BR2_PACKAGE_PERL_MODULES + string "additional modules" + depends on BR2_PACKAGE_PERL_CUSTOM_INSTALL + help + List of space-separated perl modules to copy to the rootfs. + + Examples: constant.pm Getopt/Std.pm Time/Local.pm + + Module dependencies are not automatic so check your needs. + config BR2_PACKAGE_PERL_DB_FILE bool "DB_File" select BR2_PACKAGE_BERKELEYDB
package/perl/perl.mk +32 -0
@@ -89,7 +89,38 @@ PERL_RUN_PERL = $(QEMU_USER) $(@D)/perl -Ilib PERL_ARCHNAME = $(shell $(PERL_RUN_PERL) -MConfig -e "print Config->{archname}") PERL_LIB = $(TARGET_DIR)/usr/lib/perl5/$(PERL_VERSION) PERL_ARCHLIB = $(PERL_LIB)/$(PERL_ARCHNAME) +PERL_MODS = $(call qstrip,$(BR2_PACKAGE_PERL_MODULES)) +# Minimal set of modules required for 'perl -V' to work +PERL_ARCH_MODS = Config.pm Config_git.pl Config_heavy.pl +PERL_BASE_MODS = strict.pm vars.pm warnings.pm warnings/register.pm +define PERL_INSTALL_MODULES + for i in $(PERL_ARCH_MODS); do \ + $(INSTALL) -m 0644 -D $(@D)/lib/$$i $(PERL_ARCHLIB)/$$i; \ + done + for i in $(PERL_BASE_MODS); do \ + $(INSTALL) -m 0644 -D $(@D)/lib/$$i $(PERL_LIB)/$$i; \ + done + for i in $(PERL_MODS); do \ + j=`echo $$i|cut -d : -f 1` ; \ + if [ -d $(@D)/lib/$$j ] ; then \ + cp -af $(@D)/lib/$$j $(PERL_LIB) ; \ + fi ; \ + if [ -f $(@D)/lib/$$i ] ; then \ + $(INSTALL) -m 0644 -D $(@D)/lib/$$i $(PERL_LIB)/$$i; \ + fi ; \ + done + # Remove test files + find $(PERL_LIB) -type f -name *.t -exec rm -f {} \; +endef + +ifeq ($(BR2_PACKAGE_PERL_CUSTOM_INSTALL),y) +define PERL_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(@D)/perl $(TARGET_DIR)/usr/bin/perl + $(INSTALL) -m 0755 -D $(@D)/libperl.so $(PERL_ARCHLIB)/CORE/libperl.so + $(PERL_INSTALL_MODULES) +endef +else define PERL_INSTALL_TARGET_CMDS $(MAKE) INSTALL_DEPENDENCE= \ INSTALLFLAGS=-p \
@@ -98,6 +129,7 @@ define PERL_INSTALL_TARGET_CMDS rm -f $(PERL_ARCHLIB)/CORE/*.h find $(PERL_ARCHLIB) -type f -name *.bs -exec rm -f {} \; endef +endif define PERL_CLEAN_CMDS -$(MAKE) -C $(@D) clean
Signature · 1 line
1.7.9.5
PATCH v11 7/9 perl: prepare the removal of microperl
In reply to Francois Perrad--- package/autoconf/Config.in | 2 +- package/autoconf/autoconf.mk | 2 +- package/automake/Config.in | 2 +- package/automake/automake.mk | 2 +- package/microperl/Config.in | 1 + package/ntp/Config.in | 4 ++-- package/samba/Config.in | 4 ++-- 7 files changed, 9 insertions(+), 8 deletions(-)
package/autoconf/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_AUTOCONF bool "autoconf" - select BR2_PACKAGE_MICROPERL + select BR2_PACKAGE_PERL help Extensible program for developing configure scripts. These scripts handle all the mundane system/feature detection.
package/autoconf/autoconf.mk +1 -1
@@ -10,7 +10,7 @@ AUTOCONF_SITE = $(BR2_GNU_MIRROR)/autoconf AUTOCONF_CONF_ENV = EMACS="no" ac_cv_path_M4=$(HOST_DIR)/usr/bin/m4 \ ac_cv_prog_gnu_m4_gnu=no -AUTOCONF_DEPENDENCIES = microperl host-m4 +AUTOCONF_DEPENDENCIES = host-m4 perl HOST_AUTOCONF_CONF_ENV = ac_cv_path_M4=$(HOST_DIR)/usr/bin/m4 \ ac_cv_prog_gnu_m4_gnu=no
package/automake/Config.in +1 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_AUTOMAKE bool "automake" select BR2_PACKAGE_AUTOCONF - select BR2_PACKAGE_MICROPERL + select BR2_PACKAGE_PERL help Tool for automatically generating Makefile's for input to configure scripts (made by autoconf).
package/automake/automake.mk +1 -1
@@ -7,7 +7,7 @@ AUTOMAKE_VERSION = 1.11.5 AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake -AUTOMAKE_DEPENDENCIES = host-autoconf autoconf microperl +AUTOMAKE_DEPENDENCIES = host-autoconf autoconf perl HOST_AUTOMAKE_DEPENDENCIES = host-autoconf
package/microperl/Config.in +1 -0
@@ -2,6 +2,7 @@ config BR2_PACKAGE_MICROPERL bool "microperl" # needs fork() depends on BR2_USE_MMU + depends on BR2_DEPRECATED help Perl without operating-specific functions such as readdir.
package/ntp/Config.in +2 -2
@@ -20,7 +20,7 @@ config BR2_PACKAGE_NTP_NTP_KEYGEN config BR2_PACKAGE_NTP_NTP_WAIT bool "ntp-wait" - depends on BR2_PACKAGE_MICROPERL + depends on BR2_PACKAGE_PERL help ntp-wait waits until the locally running ntpd is in state 4 (synchronized). This could be useful at boot time, to delay the
@@ -59,7 +59,7 @@ config BR2_PACKAGE_NTP_NTPSNMPD config BR2_PACKAGE_NTP_NTPTRACE bool "ntptrace" - depends on BR2_PACKAGE_MICROPERL + depends on BR2_PACKAGE_PERL help ntptrace is a perl script that uses the ntpq utility program to follow the chain of NTP servers from a given host back to the
package/samba/Config.in +2 -2
@@ -36,12 +36,12 @@ config BR2_PACKAGE_SAMBA_FINDSMB default y depends on BR2_PACKAGE_SAMBA_SMBCLIENT depends on BR2_PACKAGE_SAMBA_NMBLOOKUP - depends on BR2_PACKAGE_MICROPERL + depends on BR2_PACKAGE_PERL help Script to browse network comment "findsmb - disabled (requires nmblookup, smbclient and perl)" - depends on !BR2_PACKAGE_SAMBA_SMBCLIENT || !BR2_PACKAGE_SAMBA_NMBLOOKUP || !BR2_PACKAGE_MICROPERL + depends on !BR2_PACKAGE_SAMBA_SMBCLIENT || !BR2_PACKAGE_SAMBA_NMBLOOKUP || !BR2_PACKAGE_PERL config BR2_PACKAGE_SAMBA_NET bool "net"
Signature · 1 line
1.7.9.5
PATCH v11 8/9 cpanminus: new package
In reply to Francois Perrad--- package/Config.in | 5 ++++ package/cpanminus/Config.in | 36 +++++++++++++++++++++++ package/cpanminus/cpanminus.mk | 47 ++++++++++++++++++++++++++++++ package/perl/perl-fix-Module-Build.patch | 16 ++++++++++ 4 files changed, 104 insertions(+) create mode 100644 package/cpanminus/Config.in create mode 100644 package/cpanminus/cpanminus.mk create mode 100644 package/perl/perl-fix-Module-Build.patch
package/Config.in +5 -0
@@ -263,6 +263,11 @@ source "package/xavante/Config.in" endmenu endif source "package/perl/Config.in" +if BR2_PACKAGE_PERL +menu "Perl libraries/modules" +source "package/cpanminus/Config.in" +endmenu +endif source "package/microperl/Config.in" source "package/php/Config.in" source "package/python/Config.in"
package/cpanminus/Config.in new file +36 -0
@@ -0,0 +1,36 @@ +config BR2_PACKAGE_CPANMINUS + bool "cpanminus" + help + cpanminus is a script to get, unpack, build and install Perl modules + from CPAN. + + Why? It's dependency free, requires zero configuration, and stands + alone. When running, it requires only 10MB of RAM. + + http://github.com/miyagawa/cpanminus + +if BR2_PACKAGE_CPANMINUS + +config BR2_PACKAGE_CPANMINUS_MIRROR + string "mirror" + help + Specifies the base URL for the CPAN mirror to use, + such as http://cpan.cpantesters.org/. + +config BR2_PACKAGE_CPANMINUS_MODULES + string "Perl modules from CPAN" + default "Curses::UI" + help + List of space-separated Perl modules to install from CPAN. + + Examples: Try::Tiny Dancer YAML Moo + + Install the listed modules and their dependencies. + +config BR2_PACKAGE_CPANMINUS_NATIVE_DEPENDENCIES + string "native dependencies" + default "ncurses" + help + Some XS modules require native libraries. + +endif
package/cpanminus/cpanminus.mk new file +47 -0
47 lines not on this page · raw message
package/perl/perl-fix-Module-Build.patch new file +16 -0
@@ -0,0 +1,16 @@ + +Signed-off-by: Francois Perrad <[email protected]> + +Index: b/cpan/Module-Build/lib/Module/Build/Base.pm +=================================================================== +--- a/cpan/Module-Build/lib/Module/Build/Base.pm ++++ b/cpan/Module-Build/lib/Module/Build/Base.pm +@@ -456,7 +456,7 @@ + my $proto = shift; + my $c = ref($proto) ? $proto->{config} : 'Module::Build::Config'; + +- my $perl = $^X; ++ my $perl = $ENV{RUN_PERL} || $^X; + my $perl_basename = File::Basename::basename($perl); + + my @potential_perls;
Signature · 1 line
1.7.9.5
PATCH v11 9/9 microperl: remove it
In reply to Francois Perradreplaced by perl
use BR2_PACKAGE_PERL_CUSTOM_INSTALL if you want a small footprint
--- package/Config.in | 1 - package/libxml-parser-perl/libxml-parser-perl.mk | 6 - package/microperl/Config.in | 30 ---- .../microperl/microperl-no-signal-handlers.patch | 22 --- package/microperl/microperl-uudmap.patch | 47 ------ package/microperl/microperl.mk | 156 -------------------- 6 files changed, 262 deletions(-) delete mode 100644 package/microperl/Config.in delete mode 100644 package/microperl/microperl-no-signal-handlers.patch delete mode 100644 package/microperl/microperl-uudmap.patch delete mode 100644 package/microperl/microperl.mk
package/Config.in +0 -1
@@ -268,7 +268,6 @@ menu "Perl libraries/modules" source "package/cpanminus/Config.in" endmenu endif -source "package/microperl/Config.in" source "package/php/Config.in" source "package/python/Config.in" if BR2_PACKAGE_PYTHON
package/libxml-parser-perl/libxml-parser-perl.mk +0 -6
@@ -9,12 +9,6 @@ LIBXML_PARSER_PERL_SITE:=http://www.cpan.org/modules/by-module/XML/ LIBXML_PARSER_PERL_DEPENDENCIES = expat -ifeq ($(BR2_PACKAGE_MICROPERL),y) -# microperl builds host-microperl, so ensure we build after that to build -# against host-microperl instead of the system perl -LIBXML_PARSER_PERL_DEPENDENCIES += microperl -endif - define HOST_LIBXML_PARSER_PERL_CONFIGURE_CMDS (cd $(@D) ; \ $(HOST_CONFIGURE_OPTS) perl Makefile.PL \
package/microperl/Config.in deleted +0 -30
@@ -1,30 +0,0 @@ -config BR2_PACKAGE_MICROPERL - bool "microperl" - # needs fork() - depends on BR2_USE_MMU - depends on BR2_DEPRECATED - help - Perl without operating-specific functions such as readdir. - -if BR2_PACKAGE_MICROPERL - -config BR2_PACKAGE_MICROPERL_MODULES - string "additional modules" - help - List of space-separated microperl modules to copy to the rootfs. - - Examples: warnings.pm Getopt/Std.pm Time::Local - - Module dependencies are not automatic so check your needs. - You can't use XS modules like IO. - -menu "module bundles" - -config BR2_PACKAGE_MICROPERL_BUNDLE_CGI - bool "CGI" - help - Copy required modules to do CGI scripting. - -endmenu - -endif
package/microperl/microperl-no-signal-handlers.patch deleted +0 -22
@@ -1,22 +0,0 @@ -Backport of http://perl5.git.perl.org/perl.git/commitdiff/01d65469392dfc0a?hp=a82b5f080d91ffe184d8ac4795ac71e72e612c2f - -Signed-off-by: Gustavo Zacarias <[email protected]> - -diff -Nura perl-5.12.3/miniperlmain.c perl-5.12.3-nosig/miniperlmain.c ---- perl-5.12.3/miniperlmain.c 2011-01-09 17:20:57.000000000 -0300 -+++ perl-5.12.3-nosig/miniperlmain.c 2011-04-14 10:16:53.564639438 -0300 -@@ -116,12 +116,14 @@ - if (!exitstatus) - perl_run(my_perl); - -+#ifndef PERL_MICRO - /* Unregister our signal handler before destroying my_perl */ - for (i = 0; PL_sig_name[i]; i++) { - if (rsignal_state(PL_sig_num[i]) == (Sighandler_t) PL_csighandlerp) { - rsignal(PL_sig_num[i], (Sighandler_t) SIG_DFL); - } - } -+#endif - - exitstatus = perl_destruct(my_perl); -
package/microperl/microperl-uudmap.patch deleted +0 -47
47 lines not on this page · raw message
package/microperl/microperl.mk deleted +0 -156
156 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH v11 1/9 host-qemu: new package
In reply to Francois PerradQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Francois" == Francois Perrad <[email protected]> writes:
Francois> only user mode for the current target architecture
Committed patch 1-8, thanks!
Signature · 1 line
Bye, Peter Korsgaard