Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Building cargo with per-package directories
@ 2018-12-11 16:12 Thomas Petazzoni
  2018-12-11 21:27 ` Eric Le Bihan
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2018-12-11 16:12 UTC (permalink / raw)
  To: buildroot

Hello ?ric,

As you probably know, I'm working on support for per-package
directories, which will allow to do top-level parallel in a reliable
way. As part of this effort, I've started an autobuilder that uses
per-package directories, and one of the package that is failing a lot
is host-cargo.

It fails like this:

  = note: /usr/bin/ld: cannot find -lhttp_parser
          collect2: error: ld returned 1 exit status
          
error: aborting due to previous error
error: Could not compile `cargo`.

The problem is that while libhttp_parser gets built properly, cargo is
not passing the appropriate -L flag to cargo's per-package host/lib
directory. So the linker doesn't find the libhttp_parser library, and
bails out.

I've tried to look into this, but really the cargo build system is very
unique and weird, and I'm having a hard time finding my way. Do you
think you could help me a bit on this topic ?

To reproduce, you need a machine where libhttp_parser is not installed
system-wide (so either remove it from your system, or build in a
chroot/docker/VM). Then, take this branch:

  https://git.bootlin.com/users/thomas-petazzoni/buildroot/log/?h=ppsh-v7-work

And build the following defconfig:

BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_VFP=y
BR2_PER_PACKAGE_DIRECTORIES=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-glibc-2018.05.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_7=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_CARGO=y

You should get this failure:

  http://code.bulix.org/fxjgrv-520980?raw

Thanks in advance for your support,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-12-28 11:49 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-11 16:12 [Buildroot] Building cargo with per-package directories Thomas Petazzoni
2018-12-11 21:27 ` Eric Le Bihan
2018-12-12 22:50   ` Eric Le Bihan
2018-12-13 20:04     ` Thomas Petazzoni
2018-12-26 14:49     ` Thomas Petazzoni
2018-12-27 20:50       ` Eric Le Bihan
2018-12-28  9:21         ` Thomas Petazzoni
2018-12-28 11:49           ` Eric Le Bihan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox