Hi Robert,
For example weston needed wayland, wayland, in turn, needed libffi. This
and all similar cases with a dependency chain were failing in similar way
with libtool looking for .la in a wrong place.

I've configured all packages with './configure --prefix=/usr/local
--host=arm-linux-gnueabihf' and than cross-compiled and installed with
'make install DESTDIR=/my/staging/dir'. I've also set
PKG_CONFIG_SYSROOT_DIR, PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR to point to
my staging area.

The problem I'm having is that libtool correctly finds the 1st-level
dependency but fails on the 2nd level and tries to open .la files in
${prefix} rather than ${staging}/${prefix}.

I eventually managed to massage it into place by extending my configure
arguments with "--with-sysroot=${staging}
LDFLAGS=-Wl,-rpath-link=${staging}/${prefix}/lib" but that does seem a bit
over the top. I had to do very careful configuration in order for that
contraption to build. For example pixmap (dependency chain was
weston-->cairo-->pixmap) wouldn't build unless tests were statically linked
and so on. I've also noticed that some .so libraries were built with
hard-coded rpath pointing to my staging area, (for example freetype) but
they worked nonetheless.

What would be "The Right Way (TM)" of cross-compiling a subsystem with
autoconf, libtool, pkg-config and friends?

Cheers,
Tomek

On Wed, Jul 5, 2017 at 8:48 PM Robert Boehne <rboe...@gmail.com> wrote:

> Tomek,
>
> I don't think I could get very far with what you've provided so far.  Can
> you post a simplified example that demonstrates the problem?
>
> Thanks,
>
> Robert Boehne
>
> On Mon, Jul 3, 2017 at 12:17 PM, Tomek Bury <tomek.b...@gmail.com> wrote:
>
>> Hi,
>>
>> Is there any way to make libtool play nicely with cross-compiled
>> dependencies in temporary staging directory? I'm trying to build Weston
>> which requires wayland which, in turn, requires ffi. Libtool correctly
>> finds the 1st-level dependencies (wayland) but then fails on libffi.
>>
>> In theory it should Just Work (TM) but in practice libtool tries to use
>> sed on /usr/local/lib/libffi.la (I've configured with
>> --prefix=/usr/local) which doesn't exist.
>>
>> Cheers,
>> Tomek
>>
>> _______________________________________________
>> https://lists.gnu.org/mailman/listinfo/libtool
>>
>>
>
_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool

Reply via email to