Note the "HOSTCC" here is incorrect.

rpixley@victory> cd u-boot-2014.07/
rpixley@victory> . /opt/eldk-5.6/powerpc-e500v2/environment-setup-ppce500v2-linux
rpixley@victory> echo $CROSS_COMPILE
powerpc-linux-
rpixley@victory> make env CROSS_COMPILE=powerpc-linux-
Makefile:516: *** "System not configured - see README".  Stop.
rpixley@victory> less ../Makefile
rpixley@victory> make EP2020XS_config
Configuring for EP2020XS - Board: EP2020XS, Options: P2020,36BIT
rpixley@victory> make env CROSS_COMPILE=powerpc-linux-
  GEN     include/autoconf.mk.dep
  GEN     include/autoconf.mk
  HOSTCC  scripts/basic/fixdep <--- note that HOSTCC is wrong here.
  HOSTCC  tools/env/aes.o
In file included from tools/env/aes.c:1:0:
tools/env/../../lib/aes.c:28:20: fatal error: string.h: No such file or directory
 #include <string.h>
                    ^
compilation terminated.
make[1]: *** [tools/env/aes.o] Error 1
make: *** [env] Error 2
rpixley@victory> cd ..
rpixley@victory> rm -rf u-boot-2014.07/
rpixley@victory> tar xfj ep2020xs_u-boot-2014.07_20150513.tar.bz2
rpixley@victory> cd u-boot-2014.07/
rpixley@victory> make EP2020XS_config
Configuring for EP2020XS - Board: EP2020XS, Options: P2020,36BIT
rpixley@victory> make env CROSS_COMPILE=powerpc-linux- CC=gcc STRIP=strip
gcc: error: unrecognized command line option â
gcc: error: unrecognized command line option â
gcc: error: unrecognized command line option â
  GEN     include/autoconf.mk.dep
gcc: error: unrecognized command line option â
gcc: error: unrecognized command line option â
gcc: error: unrecognized command line option â
  GEN     include/autoconf.mk
gcc: error: unrecognized command line option â
gcc: error: unrecognized command line option â
gcc: error: unrecognized command line option â
  HOSTCC  scripts/basic/fixdep
  HOSTCC  tools/env/aes.o
  HOSTCC  tools/env/crc32.o
  HOSTCC  tools/env/ctype.o
  HOSTCC  tools/env/env_attr.o
  HOSTCC  tools/env/env_flags.o
  HOSTCC  tools/env/fw_env.o
  HOSTCC  tools/env/fw_env_main.o
  HOSTCC  tools/env/linux_string.o
  HOSTLD  tools/env/fw_printenv_unstripped
  STRIP   tools/env/fw_printenv
rpixley@victory> file tools/env/fw_printenv
tools/env/fw_printenv: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=5c46d295030eb98c3aaf92c665982e8142f8b03c, stripped
rpixley@victory> uname -a
Linux victory 3.10.0-229.4.2.el7.x86_64 #1 SMP Fri Apr 24 15:26:38 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

Here are some other attempts without the eldk environment.

rpixley@victory> cd ..
rpixley@victory> rm -rf u-boot-2014.07/
rpixley@victory> tar xfj ep2020xs_u-boot-2014.07_20150513.tar.bz2
rpixley@victory> cd u-boot-2014.07/
rpixley@victory> make EP2020XS_config
Configuring for EP2020XS - Board: EP2020XS, Options: P2020,36BIT
rpixley@victory> time make env HOSTCC=gcc STRIP=strip
make: ppc_8xx-gcc: Command not found
/bin/sh: ppc_8xx-gcc: command not found
dirname: missing operand
Try 'dirname --help' for more information.
  GEN     include/autoconf.mk.dep
/bin/sh: ppc_8xx-gcc: command not found
  GEN     include/autoconf.mk
/bin/sh: ppc_8xx-gcc: command not found
  HOSTCC  scripts/basic/fixdep
  HOSTCC  tools/env/aes.o
  HOSTCC  tools/env/crc32.o
  HOSTCC  tools/env/ctype.o
  HOSTCC  tools/env/env_attr.o
  HOSTCC  tools/env/env_flags.o
  HOSTCC  tools/env/fw_env.o
  HOSTCC  tools/env/fw_env_main.o
  HOSTCC  tools/env/linux_string.o
  HOSTLD  tools/env/fw_printenv_unstripped
  STRIP   tools/env/fw_printenv

real    0m0.571s
user    0m0.454s
sys     0m0.123s
rpixley@victory> file tools/env/fw_printenv
tools/env/fw_printenv: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x95d2465c8cb90e03c692af3a812e98653cb0f842, stripped

So I can get host binaries produced by setting either CC or HOSTCC. But no combination that I've yet found will produce target binaries.

--rich

On 5/17/15 12:45 , Stefano Babic wrote:
Hi Richard,

On 17/05/2015 19:26, K Richard Pixley wrote:
Yes, the makefile works fine.  But not as advertised.  Instead, it
builds for the host, not the target.

No, it is not.

I'm asking about how to build for my /target/.

This is what I showed you:

  file tools/env/fw_printenv
tools/env/fw_printenv: ELF 32-bit MSB  executable, PowerPC or cisco
4500, version 1 (SYSV), dynamically linked (uses shared libs), for
GNU/Linux 2.6.16,
BuildID[sha1]=594378892413a38849d6ae219b8ca8527e0c50be, stripped

I build for powerpc, fw_printenv is for powerpc (target).

The eldk toolchain isn't capable of working from CROSS_COMPILE alone.
It requires setting a number of other variables as well.
No, this is not correct. Please try as I show you and check the result.
It is for target.

  The current
build system doesn't appear to be capable of supporting this for tools/env.

Sorry, it is.

If I'm understanding you, what you're saying here is that
tools/env/README is in error and that the directory has now lost the
ability to cross compile and can now /only/ build native.  Is that correct?
No, it is not.

Best regards,
Stefano Babic

_______________________________________________
eldk mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/eldk

Reply via email to