Betr: Re: [uClibc] uclibc perl - use miniperl

jbelshaw at tiscali.nl jbelshaw at tiscali.nl
Thu Oct 30 02:13:19 MST 2003


This is what I did 
using thet latest Perl 5.8.1

rm -f config.sh Policy.sh

to set the configuration defaults for my platform I use 
sh Configure -de

If I  try and make miniperl I get an error          

perlio.c: In function `PerlIOStdio_invalidate_fileno':
perlio.c:2829: error: structure has no member named `_fileno'
make: *** [perlio.o] Error 1

so I run sh Configure again
and disble the perl IO abstraction layer:

Previous version of perl5 used the standard IO mechanisms as
defined in <stdio.h>.  Versions 5.003_02 and later of perl5 allow
alternate IO mechanisms via the PerlIO abstraction layer, but the
stdio mechanism is still available if needed.  The abstraction layer
can use AT&T's sfio (if you already have sfio installed) or regular stdio.
Using PerlIO with sfio may cause problems with some extension modules.

If this doesn't make any sense to you, just accept the default 'y'.
Use the PerlIO abstraction layer? [y] n
Ok, doing things the stdio way.
 
*** WHOA THERE!!! ***
    The previous value for $useperlio on this machine was "define"!
    Keep the previous value? [y] n
    
I then just kept all the other defaults as we don't need most of them.

then make miniperl produces this for me on a 586 machine:

-rwxr-xr-x    1 root     root       819841 Oct 30 03:53 miniperl*
ldd miniperl
        libnsl.so.0 => /lib/libnsl.so.0 (0x40006000)
        libdl.so.0 => /lib/libdl.so.0 (0x40008000)
        libm.so.0 => /lib/libm.so.0 (0x4000b000)
        libcrypt.so.0 => /lib/libcrypt.so.0 (0x40019000)
        libutil.so.0 => /lib/libutil.so.0 (0x4002d000)
        libc.so.0 => /lib/libc.so.0 (0x4002f000)
        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x40000000)

I have done some minimal testing using my simple perl scripts and it 
works great.

miniperl is used by the perl developers to configure the perl source code

but I don't see why we can use it as a bare bones perl and just copy it into
/bin/perl.  I think the only difference is that only perl builtins are available
the perl modules stuff is not configured in by default, but you can do any
awfull lot with just the perl builtins !

John

 


>Subject: Re: [uClibc] uclibc perl - use miniperl
>Reply-To: andersen at codepoet.org
>
>
>On Wed Oct 29, 2003 at 05:44:18PM +0100, John Belshaw wrote:
> I saw some earlier posts about the use of perl in the development buildroot
> but I didn't see any definite conclusion.
> 
> I also had the same problem which is that the perl in the de
>elopment images
> is circa 25MB in size which pretty much rules it out for embedded
> applications.

Yeah, with all the addon junk it gets pretty monsterously huge...

> The solution for most people, if you just want to write simple perl scripts,
>
> is to use miniperl which is circa 800K in size using the shared uclibc
> libraries and can be built within the uclibc development environment using
> the latest perl source, and
> make miniperl.
> 
> I had to disable the perl IO abstraction lay
>r in the Configure to get it to
> compile for me.

I think having 'miniperl' rather than full perl would be a sane
change for us to make.  If you can be a bit more specific with
exactly what you changed I would be happy to merge your changes
into
>buildroot...

> Hope this is helpfull !  I am really impressed with uclibc so far !

:-)

 -Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--




More information about the uClibc mailing list