Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#32060 - 04/06/2001 18:41 empeg kernel compiling
drakino
carpal tunnel

Registered: 08/06/1999
Posts: 7868
Ok, I've been trying all day to get a 1.03 kernel compiled with all the patches I'd like. I managed to finally get all in, and began the compile. make config, then make dep both work fine. But make zImage eventually gives me this:

(none):/usr/src/linux# make zImage
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/split-include scripts/split-include.c scripts/split-include include/linux/autoconf.h include/config
arm-linux-gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O 2 -fno-strict-aliasing -pipe -msoft-float -march=armv4 -mtune=strongarm110 -c -o init/main.o init/main.c
dnsdomainname: Unknown host
arm-linux-gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O 2 -fno-strict-aliasing -pipe -msoft-float -march=armv4 -mtune=strongarm110 -DUTS_MACHINE='"arm"' -c -o init/version.o init/version.c
*** 2.2 kernels no longer build correctly with old versions of binutils.
*** Please upgrade your binutils to 2.9.5.
make: *** [dummy] Error 1

I do this:
(none):/usr/src/linux# apt-get install binutils
Reading Package Lists... Done
Building Dependency Tree... Done
Sorry, binutils is already the newest version
0 packages upgraded, 0 newly installed, 0 to remove and 8 not upgraded.

Checking into binutils, it looks like 2.9.5.0.31-3 is installed right now.

Any ideas?

(This happens on the empeg, or on the cross-compiler I tried to set up)


Top
#32061 - 04/06/2001 19:11 Re: empeg kernel compiling [Re: drakino]
synergy
enthusiast

Registered: 20/02/2001
Posts: 345
The same is happening to me.

Unfortunately, it seems that "make" is from 2.9.5+.... I.E. your default Debian make, but ld and a few of the other utils from the toolkit are not.

When you start the compile, make is checking the versions of the files it's calling. The arm-toolkit files are older than the make... and problems appear.

That is where the error appears to be coming from... At least on Debian Unstable here.

I'm going to build a stable version of Debian and see if that helps any. I'm sort of doubting it, though.

I'd certainly like to get it working however, as I've got a HUGE pile of patches waiting to be applied.

I THOUGHT I remember seeing a switch somewhere that turned off that check, but I'll be damned if I can find it now.

_________________________
Synergy [orange]mk2, 42G: [blue] mk2a, 10G[/blue][/green] I tried Patience, but it took too long.

Top
#32062 - 05/06/2001 01:59 Re: empeg kernel compiling [Re: drakino]
borislav
addict

Registered: 30/04/2000
Posts: 420
Loc: Sunnyvale, CA, USA
*** Please upgrade your binutils to 2.9.5.
...

Checking into binutils, it looks like 2.9.5.0.31-3 is installed right now.


Hmm, that should have worked. Are you sure you checked the binutils for cross-compilation rather than the native ones installed on your system? Do 'arm-linux-ld -v'.

I remember having a lot of trouble finding a combination of gcc and binutils that would compile a 2.2.14 arm kernel. gcc 2.91.66 and binutils 2.9.5.0.22 finally did the trick.

Borislav


Top
#32063 - 05/06/2001 07:14 Re: empeg kernel compiling [Re: borislav]
synergy
enthusiast

Registered: 20/02/2001
Posts: 345
2.10.91 is the version of the ld included in the toolkit posted.

Purty darn old.

:)

G

_________________________
Synergy [orange]mk2, 42G: [blue] mk2a, 10G[/blue][/green] I tried Patience, but it took too long.

Top
#32064 - 05/06/2001 11:42 Re: empeg kernel compiling [Re: drakino]
BillB
member

Registered: 13/04/2000
Posts: 134
Loc: Orlando, FL USA
This happened to me, too. I was pulling my hair out trying to figure out what the problem was. I eventually got it working, but I can't remember for sure how. I THINK I remember, but it's possible that this solution could've been for a different problem I encountered and I'm just totally confused. So, the following advice comes with no warranties, expressed or implied:

At some point, I wound up running make with the -k switch to force it to continue past the error. After it finished, I ran make again WITHOUT the -k, and everything was fine. Something later in the process apparently fixed the problem. Never had to fool with it again.

Like I said - I may be misremembering - so this may be of no help whatsoever.

Also - I noticed it mentioned 'unknown host' in the error - you may want to doublecheck that your hosts file includes your hostname as an alias of localhost.

Hope this helps...

Bill

Bill B.
Mk.2 SN 080000183 - 38 GB /
Green
_________________________
[orange]Bill B.
Mk.2 SN 080000183 - 38 GB /[/orange] [green] Green [/green]

Top
#32065 - 05/06/2001 12:52 Re: empeg kernel compiling [Re: BillB]
drakino
carpal tunnel

Registered: 08/06/1999
Posts: 7868
Well for now I am mainly concentrating on getting this working on the empeg it's self. Here is what I have with the ld -v and also trying the -k on make.

sh-2.03# ld -v
GNU ld version 2.9.5 (with BFD 2.9.5.0.31)

sh-2.03# make -k zImage
dnsdomainname: Unknown host
arm-linux-gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O
2 -fno-strict-aliasing -pipe -msoft-float -march=armv4 -mtune=strongarm110 -DUT
S_MACHINE='"arm"' -c -o init/version.o init/version.c
*** 2.2 kernels no longer build correctly with old versions of binutils.
*** Please upgrade your binutils to 2.9.5.
make: *** [dummy] Error 1
make: Target `zImage' not remade because of errors.

One thing I did do was to link gcc to arm-linux-gcc, that helped quite a bit when make kept trying to run it.

Has anyone gotten a kernel to compile on the empeg? For me it's easier since most of my free time to play with the empeg comes at work. I could potentially set a cross compiler up on one of the linux lab machines, but they get reloaded quite a bit, and I'd rather have something that is stable to repeat this process for 1.03 final, and 1.1 etc...


Top
#32066 - 05/06/2001 12:58 Re: empeg kernel compiling [Re: drakino]
synergy
enthusiast

Registered: 20/02/2001
Posts: 345
the LD that is being called is arm-linux-ld, not just ld, if I'm not mistaken.



_________________________
Synergy [orange]mk2, 42G: [blue] mk2a, 10G[/blue][/green] I tried Patience, but it took too long.

Top
#32067 - 05/06/2001 13:11 Re: empeg kernel compiling [Re: synergy]
drakino
carpal tunnel

Registered: 08/06/1999
Posts: 7868
arm-linux-ld dosen't exist. Let me try making a link there...

Seems to be working now, thanks.

(And an edit, for everyone else, and my future self)

It also later looks for arm-linux-ar

Is there a specific .deb package I could apt-get that would contain everything for the empeg?

Edited by Drakino on 05/06/01 09:21 PM.


Top
#32068 - 05/06/2001 16:20 Re: empeg kernel compiling [Re: drakino]
drakino
carpal tunnel

Registered: 08/06/1999
Posts: 7868
Well, I let it sit for a while and it got further, but now I am getting this:

rm -f lib.a
arm-linux-ar rcs lib.a errno.o ctype.o string.o vsprintf.o
make[2]: Leaving directory `/usr/src/linux/lib'
make[1]: Leaving directory `/usr/src/linux/lib'
make -C arch/arm/kernel
make[1]: Entering directory `/usr/src/linux/arch/arm/kernel'
arm-linux-gcc -D__KERNEL__ -I/usr/src/linux/include -D__ASSEMBLY__ -mno-fpu -map
cs-32 -marmv4 -c -o entry-armv.o entry-armv.S
In file included from entry-armv.S:20:
../lib/constants.h:4: invalid macro name
make[1]: *** [entry-armv.o] Error 1
make[1]: Leaving directory `/usr/src/linux/arch/arm/kernel'
make: *** [_dir_arch/arm/kernel] Error 2

Any ideas on this? So far I have ar, ld, and gcc linked to arm-linux-ar arm-linux-ld and arm-linux-gcc. Is there something else?


Top
#32069 - 05/06/2001 16:33 Re: empeg kernel compiling [Re: drakino]
fvgestel
old hand

Registered: 12/08/2000
Posts: 702
Loc: Netherlands
You've got the location of the arm-linux-gcc binary in your PATH-variable?
| cannot remember symlinking gcc and the rest to the crosscompiler binaries, just added the right dir to my PATH variable.
In the Makefile should be set :

CROSS_COMPILE = arm-linux-
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc -D__KERNEL__ -I$(HPATH)
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE)nm
STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
MAKE = make


Check your makefile...


Frank van Gestel
_________________________
Frank van Gestel

Top
#32070 - 05/06/2001 16:40 Re: empeg kernel compiling [Re: fvgestel]
drakino
carpal tunnel

Registered: 08/06/1999
Posts: 7868
CROSS_COMPILE = arm-linux-

Setting this to just equal nothing works fine (since it's being compiled on the same platform). Thanks for all the help on this, I am still realtivly new to the deep aspects of Unix.



Top
#32071 - 05/06/2001 23:28 Re: empeg kernel compiling [Re: drakino]
fvgestel
old hand

Registered: 12/08/2000
Posts: 702
Loc: Netherlands
[slaps his forehead]...
I though you were using the crosscompiler....
I also commented out the CROSS_COMPILE var in the Makefile..
I also set :
ARCH := arm

Anyway, here's a list of the packages I've got installed...

Package: g++
Status: install ok installed
Priority: standard
Section: devel
Installed-Size: 2457
Maintainer: Debian GCC maintainers
Source: gcc (2.95.2-13)
Version: 1:2.95.2-13
Replaces: gcc (<= 2.7.2.3-3)
Provides: c++-compiler
Depends: libc6 (>= 2.1.2), gcc (>= 1:2.95.2-10), gcc (<< 1:2.95.3), libstdc++2.1
0-dev (>= 1:2.95.2-10)
Suggests: gcc-doc (>= 1:2.95.2-10)
Description: The GNU C++ compiler.
This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.

Package: gpc
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 3162
Maintainer: Debian GCC maintainers
Source: gcc (2.95.2-13)
Version: 1:2.95.2-13
Provides: pascal-compiler
Depends: libc6 (>= 2.1.2), gcc (>= 1:2.95.2-10), gcc (<< 1:2.95.3)
Suggests: gpc-doc (>= 1:2.95.2-10)
Description: The GNU Pascal compiler.
This is the GNU Pascal compiler, which compiles
Pascal on platforms supported by the gcc compiler. It uses the
gcc backend to generate optimized code.
The current beta release 2.2 implements Standard Pascal (ISO 7185,
level 1), a large subset of Extended Pascal (ISO 10206), and
Borland Pascal. Many Borland Pascal units supported.

Package: cpp
Status: install ok installed
Priority: standard
Section: interpreters
Installed-Size: 255
Maintainer: Debian GCC maintainers
Source: gcc (2.95.2-13)
Version: 1:2.95.2-13
Depends: libc6 (>= 2.1.2)
Description: The GNU C preprocessor.
The GNU C preprocessor is required by some utilities that use it for
macro substitutions. This package has been separated from gcc for
the benefit of those who require the preprocessor but not the
compiler.

Package: libstdc++2.10-dev
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 1555
Maintainer: Debian GCC maintainers
Source: gcc (2.95.2-13)
Version: 1:2.95.2-13
Provides: libstdc++-dev
Depends: libstdc++2.10 (>= 1:2.95.2-10), libc6-dev, g++ (>= 1:2.95.2-10)
Suggests: stl-manual
Conflicts: libstdc++-dev, libg++27-dev, libg++272-dev (<< 2.7.2.8-1), libstdc++2
.8-dev, libg++2.8-dev, libstdc++2.9-dev, libstdc++2.9-glibc2.1-dev
Description: The GNU stdc++ library (development files)
This package contains the headers and static library files necessary for
building C++ programs which use libstdc++. Be advised that this only works
with the GNU C++ compiler (version 2.95), and no earlier library will work it.

Package: gcc
Status: install ok installed
Priority: standard
Section: devel
Installed-Size: 2422
Maintainer: Debian GCC maintainers
Source: gcc (2.95.2-13)
Version: 1:2.95.2-13
Replaces: gcc-ss (<< 1:2.95.3)
Provides: c-compiler
Depends: libc6 (>= 2.1.2), cpp (>= 1:2.95.2-10), cpp (<< 1:2.95.3), binutils (>=
2.9.5.0.12)
Recommends: libc-dev
Suggests: gcc-doc (>= 1:2.95.2-10)
Conflicts: libc5-dev
Description: The GNU C compiler.
This is the GNU C compiler, a fairly portable optimizing compiler which
supports multiple languages. This package includes support for C, C++,
and Objective C.

Package: libstdc++2.10
Status: install ok installed
Priority: required
Section: base
Installed-Size: 323
Maintainer: Debian GCC maintainers
Source: gcc (2.95.2-13)
Version: 1:2.95.2-13
Depends: libc6 (>= 2.1.2)
Description: The GNU stdc++ library
This package contains an additional runtime library for C++ programs
built with the GNU compiler.

Package: binutils
Status: install ok installed
Priority: standard
Section: devel
Installed-Size: 2449
Maintainer: Christopher C. Chimelis
Version: 2.9.5.0.31-3
Replaces: binutils (<< 2.9.5.0.19)
Provides: elf-binutils
Depends: libc6 (>= 2.1.2)
Suggests: binutils-doc (= 2.9.5.0.31-3)
Conflicts: gas, elf-binutils
Description: The GNU assembler, linker and binary utilities.
The programs in this package are used to assemble, link and manipulate
binary and object files. They may be used in conjunction with a compiler
and various libraries to build programs for Linux.

Package: make
Status: install ok installed
Priority: standard
Section: devel
Installed-Size: 416
Maintainer: Manoj Srivastava
Version: 3.78.1-8
Depends: libc6 (>= 2.1.2), libelfg0, fileutils (>= 4.0)
Description: The GNU version of the "make" utility.
GNU Make is a program that determines which pieces of a large
program need to be recompiled and issues the commands to recompile
them, when necessary. More information about GNU Make can be
found in the `make' Info page.


Also try setting the hostname before compiling :

# hostname empegcar



Frank van Gestel
_________________________
Frank van Gestel

Top
#32072 - 06/06/2001 00:37 Re: empeg kernel compiling [Re: fvgestel]
drakino
carpal tunnel

Registered: 08/06/1999
Posts: 7868
Earlier I did get my kernel compiled, but unfortunatly my attempts to force the Voladj into 1.03 appeared to fail. I'll probably start with a clean slate tomorrow to try and track down the problem there. (Unless someone else has a patch against 1.03 out there already...) Now that I have the empeg all set, it should be fine for a while. Now to ensure I get everything backed up before actually running the 1.03 update, since I was silly and put lots of the custom modifications I did on the same partition as the player.


Top