public inbox for gentoo-embedded@lists.gentoo.org
 help / color / mirror / Atom feed
* [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