Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > alt.os.linux > #39337
| From | Java Jive <java@evij.com.invalid> |
|---|---|
| Newsgroups | uk.comp.os.linux, alt.os.linux |
| Subject | Endless problems trying to compile for/on embedded devices - Ch 2 |
| Date | 2016-09-29 10:20 +0000 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <nsiptj$snd$1@gioia.aioe.org> (permalink) |
Cross-posted to 2 groups.
About a year ago, uk.comp.os.linux correspondents tried to help me with
compiling GCC 4.9.3 on a Zyxel NSA221 NAS. The characteristics of this
device are:
~ # uname -a
Linux NASY 2.6.24.4 #1 Mon Aug 5 15:20:10 CST 2013 armv5tejl GNU/Linux
~ # cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 183.09
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 32768
I assoc : 4
I line length : 32
I sets : 256
D size : 32768
D assoc : 4
D line length : 32
D sets : 256
Hardware : Oxsemi NAS
Revision : 0000
Serial : 00000cb31aadab80
GLibC : 2.8*
libc-dev : 2.5-5*
~ # /lib/libc.so.6
GNU C Library stable release version 2.8, by Roland McGrath et al.
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.3.2.
Compiled on a Linux >>2.6.32-28-generic-pae<< system on 2011-01-22.
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
Native POSIX Threads Library by Ulrich Drepper et al
Support for some architectures added on, not maintained in
glibc core.
BIND-8.2.3-T5B
Current GCC : 4.2.3
* Note the disparity, as this an OEM embedded device, the device's own
headers aren't present, and the 2.5-5 dev package is the only one
available via the intsy package manager ipkg. Also, /usr is under the
control of the firmware, so user stuff has to go elsewhere, and, as ipkg
uses /opt, I've been installing stuff there as well.
1) At the time, it was suggested that I try to build the correct
headers and, coming back to the problem now, I'm now investigating this
sort of approach. I've been trying to follow this, but with GCC 4.9.3:
https://how-to-build-for-arm.wikispaces.com/gcc-4_8_2
In the Kernel Headers section, given the above CPU info, and that there is
no obviously applicable default configuration, can anyone suggest what to
use as the third command:
make ARCH=arm <what should I put here?>
2) Although at the time I was never able to make progress beyond a
certain point compiling GCC 4.9.3 on the NAS itself, I have now managed to
do this apparently successfully. The config command line given was
(without the line breaks inserted here for clarity):
~/build/gcc-4-9-3-build # ./gcc-4-9-3/configure
--enable-languages=c,c++,lto,objc
--prefix=/opt
--with-native-system-header-dir=/opt/include
--with-local-prefix=/opt/share
--with-gmp=/opt --with-isl=/opt --with-mpc=/opt --with-mpfr=/opt
--disable-threads --disable-tls
--without-fortran --without-java
> Config.log 2>&1
However, now I'm having trouble building the tools to test it, notably
autogen which depends on guile. I've built and installed apparently
successfully all the dependencies for guile ...
gc-7.2
libffi-3.2.1
libiconv-1.14
libtool-2.4.6
libunistring-0.9.6
... and the following configure command for guile apparently runs
successfully ...
export BDW_GC_CFLAGS='-I/opt/include';
export BDW_GC_LIBS='-L/opt/lib';
export LIBFFI_CFLAGS='-I/opt/include';
export LIBFFI_LIBS='-L/opt/lib';
./configure --prefix=/opt > Config.log 2>&1
... but make fails with ...
CC libguile_2.0_la-finalizers.lo
finalizers.c:167: error: static declaration of 'GC_set_finalizer_notifier'
follows non-static declaration
/opt/include/gc/gc.h:177: error: previous declaration of
'GC_set_finalizer_notifier' was here
make[3]: *** [libguile_2.0_la-finalizers.lo] Error 1
make[3]: Leaving directory `/root/build/guile-2.0.9/libguile'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/build/guile-2.0.9/libguile'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/build/guile-2.0.9'
make: *** [all] Error 2
While I understand the sort of thing that is causing the message, I don't
really know how to approach fixing the problem. Can anyone help?
TIA
--
Please reply to newsgroup
Back to alt.os.linux | Previous | Next — Next in thread | Find similar | Unroll thread
Endless problems trying to compile for/on embedded devices - Ch 2 Java Jive <java@evij.com.invalid> - 2016-09-29 10:20 +0000 Re: Endless problems trying to compile for/on embedded devices - Ch 2 Nick Leverton <nick@leverton.org> - 2016-10-19 12:23 +0000
csiph-web