Possible fix for Perl failing with ../lib/auto/POSIX/POSIX.so:
Undefined symbol "__flt_rounds" on ARM
Jan Sieka
jps at semihalf.com
Tue Jun 5 15:09:19 UTC 2012
Hello Ian!
I tried recently to compile and run Perl 5.12 on ARM (SheevaPlug) using
HEAD from 22.05.2012 and got the following error while trying to run:
/usr/ports/lang/perl5.12 # make test
[...]
../lib/auto/POSIX/POSIX.so: Undefined symbol "__flt_rounds
[...]
After investigating the issue it appeared that __flt_rounds symbol is
not exported by libc. Applying the following patch, recompilling world
and Perl fixed the problem and allowed to use Perl on SheevaPlug:
diff --git a/lib/libc/arm/Symbol.map b/lib/libc/arm/Symbol.map
index e8c7f1d..8cdcdaf 100644
--- a/lib/libc/arm/Symbol.map
+++ b/lib/libc/arm/Symbol.map
@@ -70,6 +70,7 @@ FBSDprivate_1.0 {
__divdf3;
__floatsisf;
__floatsidf;
+ __flt_rounds;
__fixsfsi;
__fixdfsi;
__fixunssfsi;
Can you comment whether this is a correct solution?
Best regards,
Jan Sieka
More information about the freebsd-arm
mailing list