Bug 5570 - Cannot compile software on the target machine
Summary: Cannot compile software on the target machine
Status: RESOLVED WONTFIX
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: PC Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-24 11:05 UTC by Maribu
Modified: 2013-11-28 17:25 UTC (History)
1 user (show)

See Also:
Host: x86_64 Arch Linux box
Target: arm (littel endian) arm1176jzf-s (BCM2708)
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maribu 2012-09-24 11:05:45 UTC
Version: buildroot-20120922.tar.bz2

While compiling simple hello world programs on the target machine does work, compiling complex software doesn't.

I get error messages like this one:

libtool: link: warning: library `/usr/lib/libintl.la' was moved.
grep: /home/maribu/buildroot/buildroot/output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/lib//libiconv.la: No such file or directory
sed: /home/maribu/buildroot/buildroot/output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/lib//libiconv.la: No such file or directory
libtool: link: `/home/maribu/buildroot/buildroot/output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/lib//libiconv.la' is not a valid libtool archive

the libtool archive "libintl.la" is present at /usr/lib, but libtool is searching for it in "/home/maribu/buildroot/buildroot/output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/lib/" which was the correct path on the cross compiling host, but not on the target. I tried to export LD_LIBARY_PATH=/usr/lib which does work as root, bus for some reason is completely ignored (without any feedback) as normal user.

I think this is a bug, because in my humble opinion there should be no reference to host specific paths within the resulting image.

I would be very happy if someone would suggest a quick workaround so I can start compiling again.

Regards,
Maribu
Comment 1 Maribu 2012-09-24 14:10:05 UTC
Ok, I found references inside /usr/bin/libtool and also in /usr/lib/*.la on the target machine referring to paths on the host machine.

For now I fixed the pathes manually. Hopefully I can now compile on the target machine.

Regards,
Maribu
Comment 2 Samuel Martin 2012-09-24 14:27:32 UTC
Hi Maribu,

You're talking about the target toolchain, right?

Note that this is not really the way most of the developers around work, so this barely maintained and tested.

See this thread: http://lists.busybox.net/pipermail/buildroot/2012-August/057987.html

Regards,


Sam
Comment 3 Maribu 2012-09-24 17:09:09 UTC
Hi,Sam!

Yes, I'm using the target toolchain. I understand that the target toolchain is not a commonly requested feature and it is generally a much better idea to cross compile all software.

If I can get the target toolchain working properly I will post what I have done to achieve this.

Regards,
Maribu
Comment 4 Maribu 2012-09-24 20:13:56 UTC
Ok, with all paths referring to host machine in /usr/bin/libtool and /usr/lib/*.la changed to corresponding counterparts in the target file system, I can build static librarys. But ld seems to be broken. I'll try to rebuild binutils so I get a working ld.

Regards,
Maribu
Comment 5 Gustavo Zacarias 2013-11-28 17:25:06 UTC
This is deprecated functionality, hence marking as WONTFIX.
Support for building in the target was always flaky/broken and nobody cared to fix it properly so it was decided to drop that option some time ago.