Hi everyone,
I'm cross compiling using arm-softfloat-linux-gnu, with the usual
procedure using a SYSROOT of /usr/arm-softfloat-linux-gnu and the xmerge
script.
First of all, I should ask - has anyone found a fix for cross-compiling
mpfr already? If so how? ... would something like
ECONF_EXTRA="--with-gmp-lib=DIR" work?
The original problem is exactly related to Simon's here:
http://forums.gentoo.org/viewtopic-t-639572.html?sid=acbcac0d727bdaafa52ffc784641c0e7
Mpfr would originally not compile because it linked to
/usr/lib/libgmp.so always, instead of the libgmp.so in the compiler's
search path.
That was due to -rpath /usr/lib being present, so i created a very
simple patch to remove the rpath (was that a bad idea?).
In any event, mpfr-2.3.0_p3.ebuild now looks like [1], while
mpfr-2.3.0_p3-disable-rpath-patch looks like [2].
The patch applies perfectly and the compile is successful, but then
during the install phase, the installer bails out with message [3].
There is no .libs/libmpfr.lai file at all, but there is of course a
.libs/libmpfr.la file.
Why would the .la file suddenly be named .lai? Is it just a copy?
It seems like an easy enough patch to just copy from one directory to
another in Makefile.in, but I thought I'd write the list first and see
if anyone else has a more elegant solution.
~/Chris
=======================================[1]======================================
src_compile()
{
...
tc-is-cross-compiler && epatch
"${FILESDIR}"/${PN}-${MY_PV}_p${PLEVEL}-disable-rpath.patch
|| die "disable rpath failed"
}
========================================[2]=====================================
--- Makefile.in_old 2008-01-25 02:59:01.000000000 +0100
+++ Makefile.in 2008-01-25 02:59:21.000000000 +0100
@@ -394,7 +394,7 @@
rm -f "$${dir}/so_locations"; \
done
libmpfr.la: $(libmpfr_la_OBJECTS) $(libmpfr_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(libmpfr_la_LDFLAGS)
$(libmpfr_la_OBJECTS) $(libmpfr_la_LIBADD) $(LIBS)
+ $(LINK) $(libmpfr_la_LDFLAGS) $(libmpfr_la_OBJECTS)
$(libmpfr_la_LIBADD) $(LIBS)
tuneup$(EXEEXT): $(tuneup_OBJECTS) $(tuneup_DEPENDENCIES)
@rm -f tuneup$(EXEEXT)
$(LINK) $(tuneup_LDFLAGS) $(tuneup_OBJECTS) $(tuneup_LDADD) $(LIBS)
=================================[3]================================
>>> Source compiled.
>>> Test phase [not enabled]: dev-libs/mpfr-2.3.0_p3
>>> Install mpfr-2.3.0_p3 into
/var/tmp/portage/dev-libs/mpfr-2.3.0_p3/image/ category dev-libs
.......
/usr/bin/install -c .libs/libmpfr.lai
/var/tmp/portage/dev-libs/mpfr-2.3.0_p3/image//usr/lib/libmpfr.la
/usr/bin/install: cannot stat `.libs/libmpfr.lai': No such file or directory
make[2]: *** [install-libLTLIBRARIES] Error 1
--
[email protected] mailing list