Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.os.linux > #39337

Endless problems trying to compile for/on embedded devices - Ch 2

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.

Show all headers | View raw


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


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