Skip to contentSkip to conversation

Revert "build: Always build the libfdt python module"

PATCH New Simon Glass 4 participants 4 messages Jan 23, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Revert "build: Always build the libfdt python module"

This appears to cause problems with powerpc:

+x86_64-linux-gnu-gcc: error: unrecognized command line option ?-melf32ppclinux? +error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 +make[2]: *** [tools/_libfdt.so] Error 1
+make[1]: *** [tools] Error 2
+make: *** [sub-make] Error 2

It may need to be made ARM-specific.

This reverts commit 1905c8fc711a527ff10550425498bc77e4db9ac3.

---

 tools/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
tools/Makefile +1 -1
index a609d058595..5b81dde4b06 100644
@@ -111,7 +111,7 @@ fit_check_sign-objs   := $(dumpimage-mkimage-objs) fit_check_sign.o
 
 # Build a libfdt Python module if swig is available
 # Use 'sudo apt-get install swig libpython-dev' to enable this
-hostprogs-y += \
+hostprogs-$(CONFIG_SPL_OF_PLATDATA) += \
 	$(if $(shell which swig 2> /dev/null),_libfdt.so)
 _libfdt.so-sharedobjs += $(LIBFDT_OBJS)
 libfdt:
Signature · 1 line
2.11.0.483.g087da7b7c-goog
#1 lore raw

PATCH 1/1 Revert "build: Always build the libfdt python module"

Hi Simon,

Review

Quoted 7 lines · On Mon, 23 Jan 2017 05:37:50 -0700 Simon Glass <[email protected]> wrote:

This appears to cause problems with powerpc:

(quoted diff) +5 -0
+x86_64-linux-gnu-gcc: error: unrecognized command line option ?-melf32ppclinux?
+error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
+make[2]: *** [tools/_libfdt.so] Error 1
+make[1]: *** [tools] Error 2
+make: *** [sub-make] Error 2

Why does your hostcc have this cflags ?

There is a problem where we do not check that we can build python
module (I'll look at how to check this properly) as Heiko just reported but the fact that your hostcc have an ppc flags just seems wrong, there must be another problem.

Quoted 24 lines

It may need to be made ARM-specific.

This reverts commit 1905c8fc711a527ff10550425498bc77e4db9ac3.

---

 tools/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
tools/Makefile +1 -1
index a609d058595..5b81dde4b06 100644
@@ -111,7 +111,7 @@ fit_check_sign-objs   := $(dumpimage-mkimage-objs) fit_check_sign.o
 
 # Build a libfdt Python module if swig is available
 # Use 'sudo apt-get install swig libpython-dev' to enable this
-hostprogs-y += \
+hostprogs-$(CONFIG_SPL_OF_PLATDATA) += \
 	$(if $(shell which swig 2> /dev/null),_libfdt.so)
 _libfdt.so-sharedobjs += $(LIBFDT_OBJS)
 libfdt:
Signature · 1 line
2.11.0.483.g087da7b7c-goog
Signature · 1 line
Emmanuel Vadot <[email protected]> <[email protected]>
#2 lore raw

PATCH 1/1 Revert "build: Always build the libfdt python module"

Quoted 8 lines · Emmanuel Vadot

Hi Simon,

Quoted 2 lines · On Mon, 23 Jan 2017 05:37:50 -0700 Simon Glass <[email protected]> wrote:

This appears to cause problems with powerpc:

Quoted 7 lines

Review

Quoted 5 lines
(quoted diff) +5 -0
+x86_64-linux-gnu-gcc: error: unrecognized command line option ?-melf32ppclinux?
+error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
+make[2]: *** [tools/_libfdt.so] Error 1
+make[1]: *** [tools] Error 2
+make: *** [sub-make] Error 2

Why does your hostcc have this cflags ?

Looking into this, because it's python doing the building here:
swig -python -o tools/libfdt_wrap.c ../lib/libfdt/libfdt.swig python ../lib/libfdt/setup.py "-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -include ../include/libfdt_env.h -idirafterinclude -idirafter../include -idirafter../arch/powerpc/include -I../lib/libfdt -I../tools -DCONFIG_SYS_TEXT_BASE=0xFC000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -D_GNU_SOURCE " ../lib/libfdt/fdt.c ../lib/libfdt/fdt_ro.c ../lib/libfdt/fdt_rw.c ../lib/libfdt/fdt_strerror.c ../lib/libfdt/fdt_wip.c ../lib/libfdt/fdt_region.c ../lib/libfdt/fdt_sw.c tools/libfdt_wrap.c
gcc-4.8.real: error: unrecognized command line option ?-melf32ppclinux?

I suspect that what's going on is that python is seeing LDFLAGS being set to $(PLATFORM_LDFLAGS) and passing that along. ARM (and sandbox) do not set PLATFORM_LDFLAGS so don't run into this problem.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170123/bb38f5b8/attachment.sig>
#3 lore raw

PATCH 1/1 Revert "build: Always build the libfdt python module"

In reply to Simon Glass

Hello Simon,

Am 23.01.2017 um 13:37 schrieb Simon Glass:

Quoted 8 lines

This appears to cause problems with powerpc:

(quoted diff) +5 -0
+x86_64-linux-gnu-gcc: error: unrecognized command line option ?-melf32ppclinux?
+error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
+make[2]: *** [tools/_libfdt.so] Error 1
+make[1]: *** [tools] Error 2
+make: *** [sub-make] Error 2
Quoted 8 lines

It may need to be made ARM-specific.

This reverts commit 1905c8fc711a527ff10550425498bc77e4db9ac3.

---

  tools/Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

Yup, I posted this issue exactly today ...

Tested on the tqm5200 board, so:

Quoted 6 lines
tools/Makefile +0 -0
index a609d058595..5b81dde4b06 100644

tools/Makefile fit_check_sign-objs := $(dumpimage-mkimage-objs) fit_check_sign.o · line 117

Quoted 8 lines
tools/Makefile +1 -1
@@ -111,7 +111,7 @@ fit_check_sign-objs   := $(dumpimage-mkimage-objs) fit_check_sign.o
 
  # Build a libfdt Python module if swig is available
  # Use 'sudo apt-get install swig libpython-dev' to enable this
-hostprogs-y += \
+hostprogs-$(CONFIG_SPL_OF_PLATDATA) += \
  	$(if $(shell which swig 2> /dev/null),_libfdt.so)
  _libfdt.so-sharedobjs += $(LIBFDT_OBJS)
  libfdt:

Why do we need this at all?

Fedora for example has no "libpython-dev" ... So at least the "if" should check for "libpython-dev" too...

# dnf install libpython-dev Last metadata expiration check: 1:50:58 ago on Mon Jan 23 07:49:26 2017.
No package libpython-dev available.
Error: Unable to find a match.

bye,
Heiko

Signature · 2 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany