Message ID | 20121004231833.7c4f3cb5@skate |
---|---|
State | Superseded |
Headers | show |
2012/10/4 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>: > François, > > On Tue, 25 Sep 2012 19:18:18 +0200, Francois Perrad wrote: > >> + -Dldflags="$(TARGET_LDFLAGS) -l gcc_s" \ > > You should also apply the following patch: > > diff --git a/package/perl/perl.mk b/package/perl/perl.mk > index fbe7ba9..4e6f50b 100644 > --- a/package/perl/perl.mk > +++ b/package/perl/perl.mk > @@ -52,7 +52,7 @@ define PERL_CONFIGURE_CMDS > -Dnm="$(TARGET_NM)" \ > -Dranlib="$(TARGET_RANLIB)" \ > -Dccflags="$(TARGET_CFLAGS)" \ > - -Dldflags="$(TARGET_LDFLAGS) -l gcc_s" \ > + -Dldflags="$(TARGET_LDFLAGS) -l gcc_s -lm" \ > -Dlddlflags="-shared" \ > -Dlibc=$(TARGET_HOST)/usr/$(GNU_TARGET_NAME)/sysroot/lib/libc.so \ > -Duseshrplib \ > Ok, fixed. > Otherwise, the build fails with: > > /home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-gnueabihf-gcc -l gcc_s -fstack-protector -o miniperl \ > perlmini.o opmini.o miniperlmain.o malloc.o gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o > pp.o: In function `Perl_pp_pow': > pp.c:(.text+0x1b24): undefined reference to `pow' > pp.o: In function `Perl_pp_modulo': > pp.c:(.text+0x1f92): undefined reference to `floor' > pp.c:(.text+0x1fa0): undefined reference to `floor' > pp.c:(.text+0x1fbc): undefined reference to `fmod' > [...] > > with certain toolchains. > > Also, on the target there is a usr/bin/perl and a usr/bin/perl5.x.y > files. One is a hardlink to the other, but it is always a bit > disturbing to see two big files of the same size. Shouldn't we replace > that by a symlink instead, which is more obvious? libperl.so 1.2 MB perl 4 KB (stripped) perl5.16.1 4 KB We speak about 4KB ! > > Thanks! > > 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@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
On Sat, 6 Oct 2012 15:33:02 +0200, François Perrad wrote: > > Also, on the target there is a usr/bin/perl and a usr/bin/perl5.x.y > > files. One is a hardlink to the other, but it is always a bit > > disturbing to see two big files of the same size. Shouldn't we > > replace that by a symlink instead, which is more obvious? > > libperl.so 1.2 MB > perl 4 KB (stripped) > perl5.16.1 4 KB > We speak about 4KB ! Here: $ ls -l output/target/usr/bin/perl* -rwxr-xr-x 2 thomas thomas 4558484 oct. 4 23:12 output/target/usr/bin/perl -rwxr-xr-x 2 thomas thomas 4558484 oct. 4 23:12 output/target/usr/bin/perl5.16.1 -rwxr-xr-x 2 thomas thomas 41693 oct. 4 22:59 output/target/usr/bin/perlbug -rwxr-xr-x 1 thomas thomas 224 oct. 4 22:59 output/target/usr/bin/perldoc -rwxr-xr-x 1 thomas thomas 10766 oct. 4 22:59 output/target/usr/bin/perlivp -rwxr-xr-x 2 thomas thomas 41693 oct. 4 22:59 output/target/usr/bin/perlthanks So it's not exactly 4 KB :) Thomas
2012/10/6 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>: > > On Sat, 6 Oct 2012 15:33:02 +0200, François Perrad wrote: > >> > Also, on the target there is a usr/bin/perl and a usr/bin/perl5.x.y >> > files. One is a hardlink to the other, but it is always a bit >> > disturbing to see two big files of the same size. Shouldn't we >> > replace that by a symlink instead, which is more obvious? >> >> libperl.so 1.2 MB >> perl 4 KB (stripped) >> perl5.16.1 4 KB >> We speak about 4KB ! > > Here: > > $ ls -l output/target/usr/bin/perl* > -rwxr-xr-x 2 thomas thomas 4558484 oct. 4 23:12 output/target/usr/bin/perl > -rwxr-xr-x 2 thomas thomas 4558484 oct. 4 23:12 output/target/usr/bin/perl5.16.1 > -rwxr-xr-x 2 thomas thomas 41693 oct. 4 22:59 output/target/usr/bin/perlbug > -rwxr-xr-x 1 thomas thomas 224 oct. 4 22:59 output/target/usr/bin/perldoc > -rwxr-xr-x 1 thomas thomas 10766 oct. 4 22:59 output/target/usr/bin/perlivp > -rwxr-xr-x 2 thomas thomas 41693 oct. 4 22:59 output/target/usr/bin/perlthanks > > So it's not exactly 4 KB :) > do you have a shared library libperl.so, in output/target/usr/lib/perl5/5.16.1/-your-arch-/CORE/libperl.so ? or in output/build/perl-5.16.1/libperl.so ? looks like a static linked build the use of shared lib is forced at configure time by the option : -Duseshrplib I need to see the ouput of : on your target : # perl -V or on your host : $ output/host/usr/bin/qemu-your-arch output/build/perl-5.16.1/perl -Ilib -V François > Thomas > -- > Thomas Petazzoni, Free Electrons > Kernel, drivers, real-time and embedded Linux > development, consulting, training and support. > http://free-electrons.com
2012/10/6 François Perrad <francois.perrad@gadz.org>: > 2012/10/6 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>: >> >> On Sat, 6 Oct 2012 15:33:02 +0200, François Perrad wrote: >> >>> > Also, on the target there is a usr/bin/perl and a usr/bin/perl5.x.y >>> > files. One is a hardlink to the other, but it is always a bit >>> > disturbing to see two big files of the same size. Shouldn't we >>> > replace that by a symlink instead, which is more obvious? >>> >>> libperl.so 1.2 MB >>> perl 4 KB (stripped) >>> perl5.16.1 4 KB >>> We speak about 4KB ! >> >> Here: >> >> $ ls -l output/target/usr/bin/perl* >> -rwxr-xr-x 2 thomas thomas 4558484 oct. 4 23:12 output/target/usr/bin/perl >> -rwxr-xr-x 2 thomas thomas 4558484 oct. 4 23:12 output/target/usr/bin/perl5.16.1 >> -rwxr-xr-x 2 thomas thomas 41693 oct. 4 22:59 output/target/usr/bin/perlbug >> -rwxr-xr-x 1 thomas thomas 224 oct. 4 22:59 output/target/usr/bin/perldoc >> -rwxr-xr-x 1 thomas thomas 10766 oct. 4 22:59 output/target/usr/bin/perlivp >> -rwxr-xr-x 2 thomas thomas 41693 oct. 4 22:59 output/target/usr/bin/perlthanks >> >> So it's not exactly 4 KB :) >> ping. do you still have this problem ? > > do you have a shared library libperl.so, in > output/target/usr/lib/perl5/5.16.1/-your-arch-/CORE/libperl.so ? > or in output/build/perl-5.16.1/libperl.so ? > > looks like a static linked build > the use of shared lib is forced at configure time by the option : -Duseshrplib > > I need to see the ouput of : > on your target : > # perl -V > or on your host : > $ output/host/usr/bin/qemu-your-arch output/build/perl-5.16.1/perl -Ilib -V > > François > >> Thomas >> -- >> Thomas Petazzoni, Free Electrons >> Kernel, drivers, real-time and embedded Linux >> development, consulting, training and support. >> http://free-electrons.com
diff --git a/package/perl/perl.mk b/package/perl/perl.mk index fbe7ba9..4e6f50b 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -52,7 +52,7 @@ define PERL_CONFIGURE_CMDS -Dnm="$(TARGET_NM)" \ -Dranlib="$(TARGET_RANLIB)" \ -Dccflags="$(TARGET_CFLAGS)" \ - -Dldflags="$(TARGET_LDFLAGS) -l gcc_s" \ + -Dldflags="$(TARGET_LDFLAGS) -l gcc_s -lm" \ -Dlddlflags="-shared" \ -Dlibc=$(TARGET_HOST)/usr/$(GNU_TARGET_NAME)/sysroot/lib/libc.so \ -Duseshrplib \
François, On Tue, 25 Sep 2012 19:18:18 +0200, Francois Perrad wrote: > + -Dldflags="$(TARGET_LDFLAGS) -l gcc_s" \ You should also apply the following patch: Otherwise, the build fails with: /home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-gnueabihf-gcc -l gcc_s -fstack-protector -o miniperl \ perlmini.o opmini.o miniperlmain.o malloc.o gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o pp.o: In function `Perl_pp_pow': pp.c:(.text+0x1b24): undefined reference to `pow' pp.o: In function `Perl_pp_modulo': pp.c:(.text+0x1f92): undefined reference to `floor' pp.c:(.text+0x1fa0): undefined reference to `floor' pp.c:(.text+0x1fbc): undefined reference to `fmod' [...] with certain toolchains. Also, on the target there is a usr/bin/perl and a usr/bin/perl5.x.y files. One is a hardlink to the other, but it is always a bit disturbing to see two big files of the same size. Shouldn't we replace that by a symlink instead, which is more obvious? Thanks! Thomas