This is another of the math libraries that the gcc build system **could** build for you. Each and every time gcc was built.
http://www.mpfr.org/
http://www.mpfr.org/mpfr-current/mpfr-3.1.1.tar.xz
Once again, going to just install a copy ...
Spoiler:
The content of my pset.sh file:
Code:
export PATH=/opt/qemu111/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
From the location of the AL install:
Code:
core2quad system-image-armv6l $ . pset.sh
core2quad system-image-armv6l $ ./dev-environment.sh
* * * *
Type exit when done.
(armv6l:1) /home # export PS1='(armv6l:1) \W \$ '
(armv6l:1) /home # export PATH=/home/bin:/bin:/sbin
(armv6l:1) /home # cd work/gcc
(armv6l:1) gcc # mkdir mpfr ; cd mpfr
(armv6l:1) mpfr # wget http://drpbox.knetconnect.com/KeK/mpfr-3.1.1.tar.xz
Connecting to drpbox.knetconnect.com (173.236.167.90:80)
(armv6l:1) mpfr # xz -d mpfr-3.1.1.tar.xz
(armv6l:1) mpfr # tar -xf mpfr-3.1.1.tar
(armv6l:1) mpfr # mkdir mpfr-sf-uclibc mpfr311-sf-uclibc
(armv6l:1) mpfr # cd mpfr-3.1.1
(armv6l:1) mpfr-3.1.1 # export CFLAGS='-mfloat-abi=softfp -mfpu=vfp -mcpu=arm1136jf-s -O2 -fomit-frame-pointer'
(armv6l:1) mpfr-3.1.1 # export C_INCLUDE_PATH='/home/include'
(armv6l:1) mpfr-3.1.1 # export LIBRARY_PATH='/home/lib'
(armv6l:1) mpfr-3.1.1 # export LD_LIBRARY_PATH=$LIBRARY_PATH
(armv6l:1) mpfr-3.1.1 # cd /home/work/gcc/gmp/gmp-sf-uclibc/tune
(armv6l:1) tune # make speed
(armv6l:1) tune # cd /home/work/gcc/mpfr/mpfr-sf-uclibc
(This one ignores DESTDIR= && --enable-decimal-float needs newer compiler)
(armv6l:1) mpfr-sf-uclibc # ../mpfr-3.1.1/configure --with-gnu-ld --prefix=/home/work/gcc/mpfr/mpfr311-sf-uclibc --with-gmp-build=/home/work/gcc/gmp/gmp-sf-uclibc
(This one turns out to be non-fatal:)
checking format of `long double' floating point... IEEE double, little endian
configure: WARNING: oops, unrecognised float format: IEEE double, little endian
(armv6l:1) mpfr-sf-uclibc # make
(armv6l:1) mpfr-sf-uclibc # make check
====================
All 160 tests passed
(1 test was not run)
====================
(armv6l:1) mpfr-sf-uclibc # make install
(armv6l:1) mpfr-sf-uclibc # cd /home/work/gcc/mpfr/mpfr311-sf-uclibc
(armv6l:1) mpfr311-sf-uclibc # tar -czvf ../mpfr-3.1.1-uclibc.tar.gz .
(armv6l:1) mpfr311-sf-uclibc # cd /home
(Now "install" our own distribution tar-ball.)
(armv6l:1) /home # tar -xvf work/gcc/mpfr/mpfr-3.1.1-uclibc.tar.gz
(To ensure the hdb.img file system gets fully written and closed:)
(armv6l:1) /home # cd /root
(armv6l:1) /root # umount /home
(armv6l:1) /root # exit
Restarting system.
core2quad system-image-armv6l $
This is another one that you just dump onto the /home directory of the emulator.
Note inside of the spoiler the things that need to be set which are not indexed by the ld.so.conf cache.
We can't update the cache in the emulator because that is part of the ro filesystem.
So setting those variables was the way to get mpfr to find and use the new gmp libraries.