* [gentoo-embedded] mpfr cross-compiles, but bails out on install
@ 2008-01-25 11:57 Christopher Friedt
2008-01-25 13:55 ` Christopher Friedt
0 siblings, 1 reply; 2+ messages in thread
From: Christopher Friedt @ 2008-01-25 11:57 UTC (permalink / raw
To: gentoo-embedded
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
--
gentoo-embedded@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [gentoo-embedded] mpfr cross-compiles, but bails out on install
2008-01-25 11:57 [gentoo-embedded] mpfr cross-compiles, but bails out on install Christopher Friedt
@ 2008-01-25 13:55 ` Christopher Friedt
0 siblings, 0 replies; 2+ messages in thread
From: Christopher Friedt @ 2008-01-25 13:55 UTC (permalink / raw
To: gentoo-embedded
I have another patch now that allows mpfr to compile properly - time
will tell as to whether disabling rpath will create any errors down the
road, but I can't imagine that being the case, since it's basically just
a compile-time override for LD_LIBRARY_PATH. As long as that is set
properly by the environment, then any application should have no
problems linking dynamically.
http://forums.gentoo.org/viewtopic-p-4775252.html#4775252
~/Chris
Christopher Friedt wrote:
> 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
>
>
--
gentoo-embedded@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-01-25 13:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-25 11:57 [gentoo-embedded] mpfr cross-compiles, but bails out on install Christopher Friedt
2008-01-25 13:55 ` Christopher Friedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox