[uClibc]Re: compiling perl

Dag Bakke cheapisp at sensewave.com
Thu Mar 13 09:35:29 UTC 2003


Claus Rosenberger wrote:
> There is a error while compiling perl in a buildroot sandbox.

I don't have a fix for that, but this appears to work for me:

Download the latest spin of root_fs with uClibc 0.9.19. 
(Eric, do you mind adding a revision number of some sorts to these images?)

Then do something like this:

mount -o loop root_fs-i386 /mnt/soekrisdev/
mount --bind /dev /mnt/soekrisdev/dev
mount --bind /proc /mnt/soekrisdev/proc
mount --bind /usr/src/scratch /mnt/soekrisdev/usr/src/scratch/
mount --bind /usr/src/linux-2.4.21-pre5-ac1-soekris/ /mnt/soekrisdev/usr/src/linux

1. chroot /mnt/soekrisdev
2. cd /usr/src/scratch
3. build perl 
        unpack source
        patch source (attached, I haven't tried w/o patch on latest uClibc.
			nor do I know if the patch breaks anything.... :-)
        rm -f config.sh Policy.sh
./Configure -Doptimize='-Os -march=i486' -Dcc=gcc -Dprefix=/opt/perl -Darchlib='/opt/perl/lib/5.8.0/i386-linux' -Darchname='i386-linux' -Dmyarchname='i386-linux'  -de

Perhaps add -Uusemymalloc as well. I haven't tried.

        make
        make test
        make install

Then copy whatever you need from /opt/perl to your target fs.
Enjoy.

Dag B
-------------- next part --------------
diff -ur perl-5.8.0/ext/I18N/Langinfo/Makefile.PL perl-5.8.0.uclibc/ext/I18N/Langinfo/Makefile.PL
--- perl-5.8.0/ext/I18N/Langinfo/Makefile.PL	2002-06-01 19:03:06.000000000 +0200
+++ perl-5.8.0.uclibc/ext/I18N/Langinfo/Makefile.PL	2003-03-12 09:51:59.000000000 +0100
@@ -30,8 +30,8 @@
                   ABMON_5 ABMON_6 ABMON_7 ABMON_8 ABMON_9 ALT_DIGITS AM_STR
                   DAY_1 DAY_2 DAY_3 DAY_4 DAY_5 DAY_6 DAY_7 D_FMT D_T_FMT ERA
                   ERA_D_FMT ERA_D_T_FMT ERA_T_FMT MON_1 MON_10 MON_11 MON_12
-                  MON_2 MON_3 MON_4 MON_5 MON_6 MON_7 MON_8 MON_9 NOEXPR NOSTR
-                  PM_STR T_FMT T_FMT_AMPM YESEXPR YESSTR);
+                  MON_2 MON_3 MON_4 MON_5 MON_6 MON_7 MON_8 MON_9 NOEXPR 
+                  PM_STR T_FMT T_FMT_AMPM YESEXPR );
   push @names,           # This lot are only enums for __SVR4_I386_ABI_L1__:
     {name=>$_, type=>"IV",
      macro=>["#if defined($_) || (defined(__GNU_LIBRARY__) && defined(_NL_ITEM) && defined(__SVR4_I386_ABI_L1__))\n",
diff -ur perl-5.8.0/ext/threads/Makefile.PL perl-5.8.0.uclibc/ext/threads/Makefile.PL
--- perl-5.8.0/ext/threads/Makefile.PL	2002-06-01 19:03:11.000000000 +0200
+++ perl-5.8.0.uclibc/ext/threads/Makefile.PL	2003-03-12 09:38:13.000000000 +0100
@@ -10,7 +10,7 @@
       (ABSTRACT_FROM => 'threads.pm', # retrieve abstract from module
        AUTHOR     => 'Artur Bergman  <artur at contiller.se>') : ()),
     'MAN3PODS'		=> {},  # Pods will be built by installman
-    'LIBS'		=> [''], # e.g., '-lm'
+    'LIBS'		=> ['-lpthread'], # e.g., '-lm'
     'DEFINE'		=> '', # e.g., '-DHAVE_SOMETHING'
 	# Insert -I. if you add *.h files later:
 #    'INC'		=> '', # e.g., '-I/usr/include/other'
diff -ur perl-5.8.0/ext/threads/shared/Makefile.PL perl-5.8.0.uclibc/ext/threads/shared/Makefile.PL
--- perl-5.8.0/ext/threads/shared/Makefile.PL	2002-07-13 00:17:07.000000000 +0200
+++ perl-5.8.0.uclibc/ext/threads/shared/Makefile.PL	2003-03-12 09:38:35.000000000 +0100
@@ -13,7 +13,7 @@
       (ABSTRACT_FROM => 'shared.pm', # retrieve abstract from module
        AUTHOR     => 'Arthur Bergman <arthur at contiller.se>') : ()),
     'MAN3PODS'		=> {},  # Pods will be built by installman
-    'LIBS'		=> [''], # e.g., '-lm'
+    'LIBS'		=> ['-lpthread'], # e.g., '-lm'
     'DEFINE'		=> '', # e.g., '-DHAVE_SOMETHING'
 	# Insert -I. if you add *.h files later:
     'INC'		=> '', # e.g., '-I/usr/include/other'


More information about the uClibc mailing list