From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v10 1/6] binutils: install libiberty for host build
Date: Mon, 18 Mar 2019 23:03:40 +0100 [thread overview]
Message-ID: <20190318220340.GK14237@scaer> (raw)
In-Reply-To: <20190206091531.104591-1-aduskett@gmail.com>
Adam, All,
On 2019-02-06 04:15 -0500, aduskett at gmail.com spake thusly:
> From: Adam Duskett <Aduskett@gmail.com>
>
> Add --enable-install-libiberty to HOST_BINUTILS_CONF_OPTS to allow
> prelink-cross to build properly.
>
> Signed-off-by: Adam Duskett <Aduskett@gmail.com>
So we've had to revert this and the prelink-cross patches, because there
are problems we did not forsee.
First, with this very patch: it breaks hiost-gdb, which fails to build
because there is an inconsistency with how ti tries to link with
libiberty:
http://autobuild.buildroot.org/results/109/1098d6380f12f5bbd6dbc69edb06bd953d1edc3d/build-end.log
/usr/bin/ld: /home/buildroot/autobuild/instance-0/output/host/lib/libiberty.a(cplus-dem.o):
relocation R_X86_64_PC32 against symbol `_sch_istable' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
To be noted, however, is that the target gdb does build nicely, even
though we do build the target binutils with libiberty too.
In any case, this is a regeression that must be addressed.
Second, and more problematic: prelink-crosss depends on host-binutils,
but host-binutils is not supposed to be built when using an external
toolchain, otherwise our host-binutls' built ar, ld, etc... would
collide and conflict with those of the toolchain.
Therefore, we must find a better solution to get that libiberty.
Third, about the qemu version check removal, Thomas and I believe this
should be replaced by a 'comment' in the Kconfig, like:
if BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE
comment "WARNING! If the kernel headers of your toolchain are"
comment "more recent than the kernel on your build machine,"
comment "qemu-user may work unreliably. or even not at all."
endif
Fourth, the FOO_GIR_EXTRA_LIBS_PATH is useless: packages can set it in
their FOO_MAKE_ENV (and possibly, FOO_CONF_ENV) instead, as those
variables *are* made for packages to pass extra environment variables.
Fifth, the gst1-plugins-base patch touches a Makefile.am so it should
require an autoreconf. However, it does not autoreconf nicely, and
requires macros from external packages, which is a pain to add. So
we could accept a patch that also touches Makefile.in as well.
Otherwise, on some systems, the build would try to run automake, and
would fail.
So yes, it took that long to eventually have a look, but here we are.
The qemu version check removal and the GIR_EXTRA_LIBS_PATH ar pretty
trivial. The gst1-plugins-base patch can be easily fixed.
The libiberty and gdb issue is probably not entirely trivial, but at
least he target gdb is in the same situation but builds.
The biggest problem is to get libiberty from host-binutils when using an
external toolchain.
Regards,
Yann E. MORIN.
> ---
> Changes v1 -> v7:
> - Add patch to series.
>
> Changes v7 -> v10:
> - None
>
> package/binutils/binutils.mk | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
> index 4531b8d9c8..388e2192b4 100644
> --- a/package/binutils/binutils.mk
> +++ b/package/binutils/binutils.mk
> @@ -84,6 +84,7 @@ HOST_BINUTILS_CONF_OPTS = \
> --target=$(GNU_TARGET_NAME) \
> --disable-shared \
> --enable-static \
> + --enable-install-libiberty \
> --with-sysroot=$(STAGING_DIR) \
> --enable-poison-system-directories \
> $(BINUTILS_DISABLE_GDB_CONF_OPTS) \
> --
> 2.20.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2019-03-18 22:03 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-06 9:15 [Buildroot] [PATCH v10 1/6] binutils: install libiberty for host build aduskett at gmail.com
2019-02-06 9:15 ` [Buildroot] [PATCH v10 2/6] prelink-cross: new package aduskett at gmail.com
2019-03-17 9:43 ` Thomas Petazzoni
2019-02-06 9:15 ` [Buildroot] [PATCH v10 3/6] package/qemu: drop host kernel version check aduskett at gmail.com
2019-02-06 9:15 ` [Buildroot] [PATCH v10 4/6] gobject-introspection: new package aduskett at gmail.com
2019-02-06 9:15 ` [Buildroot] [PATCH v10 5/6] package/pkg-autotools.mk: Add PKG_GIR_EXTRA_LIBS_PATH variable aduskett at gmail.com
2019-03-17 8:57 ` Yann E. MORIN
2019-03-17 9:23 ` Yann E. MORIN
2019-02-06 9:15 ` [Buildroot] [PATCH v10 6/6] gstreamer1 packages: add support for introspection aduskett at gmail.com
2019-03-17 11:38 ` Yann E. MORIN
2019-03-17 9:42 ` [Buildroot] [PATCH v10 1/6] binutils: install libiberty for host build Thomas Petazzoni
2019-03-18 4:50 ` James Hilliard
2019-03-18 22:03 ` Yann E. MORIN [this message]
2019-03-19 18:08 ` Arnout Vandecappelle
2019-03-19 20:48 ` Yann E. MORIN
2019-03-19 21:17 ` Arnout Vandecappelle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190318220340.GK14237@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox