All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] host-fakeroot: re-run autotools to fix build on ppc64le host
@ 2016-03-03  5:57 Stewart Smith
  2016-03-03 11:15 ` Thomas Petazzoni
  0 siblings, 1 reply; 3+ messages in thread
From: Stewart Smith @ 2016-03-03  5:57 UTC (permalink / raw)
  To: buildroot

When building on ppc64le host (notably Ubuntu 14.04, where this was
reported), the configure/libtool combination in fakeroot would
incorrectly detect that ld doesn't know how to build shared libraries.
Instead of checking for ppc64le libs, it was checking if we could build
*big* endian libraries, which the native Ubuntu toolchain on Ubuntu 14.04
cannot. The end result would be that you wouldn't get libfakeroot.so,
causing a build failure later on.

However, if we rerun autotools, this works. Additionally, due to
the strange way that fakeroot builds, we need to mkdir build-aux as
this directory does not exist in the original source package.

With this patch, you can now successfully build OpenPower firmware
(which uses buildroot infrastructure) on an Ubuntu 14.04 ppc64le
system.

Fixes: https://github.com/open-power/op-build/issues/194
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
 package/fakeroot/fakeroot.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/fakeroot/fakeroot.mk b/package/fakeroot/fakeroot.mk
index 3f1c803..1f485f4 100644
--- a/package/fakeroot/fakeroot.mk
+++ b/package/fakeroot/fakeroot.mk
@@ -9,5 +9,12 @@ FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.bz2
 FAKEROOT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/f/fakeroot
 FAKEROOT_LICENSE = GPLv3+
 FAKEROOT_LICENSE_FILES = COPYING
+HOST_FAKEROOT_AUTORECONF=YES
+
+define HOST_FAKEROOT_POST_PATCH_FIXUP
+	mkdir $(HOST_FAKEROOT_DIR)/build-aux
+endef
+
+HOST_FAKEROOT_POST_PATCH_HOOKS += HOST_FAKEROOT_POST_PATCH_FIXUP
 
 $(eval $(host-autotools-package))
-- 
2.5.0

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

* [Buildroot] [PATCH] host-fakeroot: re-run autotools to fix build on ppc64le host
  2016-03-03  5:57 [Buildroot] [PATCH] host-fakeroot: re-run autotools to fix build on ppc64le host Stewart Smith
@ 2016-03-03 11:15 ` Thomas Petazzoni
  2016-05-11  3:28   ` Joel Stanley
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2016-03-03 11:15 UTC (permalink / raw)
  To: buildroot

Dear Stewart Smith,

On Thu,  3 Mar 2016 16:57:51 +1100, Stewart Smith wrote:
> When building on ppc64le host (notably Ubuntu 14.04, where this was
> reported), the configure/libtool combination in fakeroot would
> incorrectly detect that ld doesn't know how to build shared libraries.
> Instead of checking for ppc64le libs, it was checking if we could build
> *big* endian libraries, which the native Ubuntu toolchain on Ubuntu 14.04
> cannot. The end result would be that you wouldn't get libfakeroot.so,
> causing a build failure later on.
> 
> However, if we rerun autotools, this works. Additionally, due to
> the strange way that fakeroot builds, we need to mkdir build-aux as
> this directory does not exist in the original source package.
> 
> With this patch, you can now successfully build OpenPower firmware
> (which uses buildroot infrastructure) on an Ubuntu 14.04 ppc64le
> system.
> 
> Fixes: https://github.com/open-power/op-build/issues/194
> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>

I understand the issue, but I don't really like the solution, because
it means that from now on, host-autoconf, host-automake and
host-libtool are always going to be built as dependencies of
host-fakeroot, making a "minimal" build longer.

Unfortunately, I don't have a lot of other proposals to make, except
maybe seeing if there is a more recent version of fakeroot that has
an already re-generated configure script that works for you.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH] host-fakeroot: re-run autotools to fix build on ppc64le host
  2016-03-03 11:15 ` Thomas Petazzoni
@ 2016-05-11  3:28   ` Joel Stanley
  0 siblings, 0 replies; 3+ messages in thread
From: Joel Stanley @ 2016-05-11  3:28 UTC (permalink / raw)
  To: buildroot

Hello Thomas,

On Thu, Mar 3, 2016 at 9:45 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> On Thu,  3 Mar 2016 16:57:51 +1100, Stewart Smith wrote:
>> When building on ppc64le host (notably Ubuntu 14.04, where this was
>> reported), the configure/libtool combination in fakeroot would
>> incorrectly detect that ld doesn't know how to build shared libraries.
>> Instead of checking for ppc64le libs, it was checking if we could build
>> *big* endian libraries, which the native Ubuntu toolchain on Ubuntu 14.04
>> cannot. The end result would be that you wouldn't get libfakeroot.so,
>> causing a build failure later on.
>>
>> However, if we rerun autotools, this works. Additionally, due to
>> the strange way that fakeroot builds, we need to mkdir build-aux as
>> this directory does not exist in the original source package.
>>
>> With this patch, you can now successfully build OpenPower firmware
>> (which uses buildroot infrastructure) on an Ubuntu 14.04 ppc64le
>> system.
>>
>> Fixes: https://github.com/open-power/op-build/issues/194
>> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
>
> I understand the issue, but I don't really like the solution, because
> it means that from now on, host-autoconf, host-automake and
> host-libtool are always going to be built as dependencies of
> host-fakeroot, making a "minimal" build longer.
>
> Unfortunately, I don't have a lot of other proposals to make, except
> maybe seeing if there is a more recent version of fakeroot that has
> an already re-generated configure script that works for you.

I'm updating the OpenPower firmware builds to use 2016.05 and came
across Stewarts patch in our tree. It would be good to get a fix
upstream.

Would you take a patch to update the autotools generated files in
fakeroot? This way we can build our firmware on the systems that they
run on, without anyone having to spend the extra time building.

Cheers,

Joel

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

end of thread, other threads:[~2016-05-11  3:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-03  5:57 [Buildroot] [PATCH] host-fakeroot: re-run autotools to fix build on ppc64le host Stewart Smith
2016-03-03 11:15 ` Thomas Petazzoni
2016-05-11  3:28   ` Joel Stanley

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.