On 2012.06.09 18:11, Tim Kientzle wrote: > > On Jun 5, 2012, at 8:09 AM, Jan Sieka wrote: > >> 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 >> _at__at_ -70,6 +70,7 _at__at_ FBSDprivate_1.0 { >> __divdf3; >> __floatsisf; >> __floatsidf; >> + __flt_rounds; >> __fixsfsi; >> __fixdfsi; >> __fixunssfsi; >> >> Can you comment whether this is a correct solution? > > Great! I had the same problem compiling Python last > week and had planned to track it down. > > I just committed this to -CURRENT and will also > merge it to the armv6 tree. Hello Tim! Thanks for committing this but unfortunately that patch wasn't correct. I had another discussion on freebsd-current_at_ (I forgot to do a cross-list CC - now fixed) about how to add symbols to Symbols.map files (see this thread: http://lists.freebsd.org/pipermail/freebsd-current/2012-June/034511.html) and from the answer and hints given by Konstantin Belousov I have prepared another patch that adheres to library versioning guidelines. If nobody objects this patch then feel free to commit it: diff --git a/lib/libc/arm/Symbol.map b/lib/libc/arm/Symbol.map index dc46013..48f6747 100644 --- a/lib/libc/arm/Symbol.map +++ b/lib/libc/arm/Symbol.map _at__at_ -33,6 +33,10 _at__at_ FBSD_1.0 { sbrk; }; +FBSD_1.3 { + __flt_rounds; +}; + FBSDprivate_1.0 { /* PSEUDO syscalls */ __sys_getlogin; I have verified the above patch is working on SheevaPlug on FreeBSD 10-CURRENT from 2012-05-15 and Perl 5.12.4. Perl has to be recompiled after applying this patch. Best regards, Jan SiekaReceived on Tue Jun 12 2012 - 06:19:07 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:27 UTC