[coreboot] filo-0.5 compilation issues

Ken.Fuchs at bench.com Ken.Fuchs at bench.com
Mon Jun 9 18:25:53 CEST 2008


I can't use svn protocol, because my firewall permits only the
standard ports for ftp, http and https, etc.  So, I accessed
the filo-0.5 URI:

http://openbios.org/viewvc/trunk/filo-0.5/?root=FILO

Next, I clicked the "Download GNU tarball" link with URI:

http://openbios.org/viewvc/trunk/filo-0.5.tar.gz?root=FILO&view=tar

The file downloaded is trunk.tar.gz which extracts fine:

$ tar xvzf trunk.tar.gz

Target directory is trunk/filo-0.5 as expected.

Compilation issues:

Make is run once to create the default Config file and
define the include/arch symlink.  A second make invocation
should build the file.elf target, but fatal compilation
errors prevent this.

I'm using gcc v4.1.2 and make v3.81 (Knoppix 5.1.1).  Is my
toolchain too old?

Here is a log of the two make invocations mentioned above.
The Config is not changed from the default generated, but
will need to be changed to generate the desired target.

------

The errors that occur using the default Config
generated from i386/defconfig without making any changes
to Config or the filo-0.5 source files:

$ make
rm -f include/arch
ln -s ../i386/include include/arch
test -f Config && mv Config Config.bak || true
cat defconfig i386/defconfig >>Config
*** Default Config file is created ***
*** Now you examine this file and edit it as you like ***
$ make
Makefile:64: warning: overriding commands for target `clean'
makerules:46: warning: ignoring old commands for target `clean'
echo '#define PROGRAM_NAME "FILO"' > main/version.h
echo '#define PROGRAM_VERSION "0.5.5 (fuchsk at Knoppix) Mon Jun  9
12:42:45 EDT 2008"' >> main/version.h
make -C main
make[1]: Entering directory `/mnt/s2u1/atom/cb/trunk/filo-0.5/main'
/bin/echo -e '/* GENERATED FILE, DO NOT EDIT */\n' >../config.h
sed -e 's/#.*//' -e '/=/!d' -e
's/\([^[:space:]]*\)[[:space:]]*=[[:space:]]*\(.*\).*/#define \1 \2/' -e
's/^#define \([^ ]*\) 0$/#undef \1/' ../Config >>../config.h
gcc -m32 -Wall -Os -fomit-frame-pointer -fno-common -ffreestanding
-fno-strict-aliasing -Wno-unused  -nostdinc -imacros ../config.h
-I../include -I/usr/lib/gcc/i486-linux-gnu/4.1.2/include -MD -c filo.c
-o filo.o
gcc -m32 -Wall -Os -fomit-frame-pointer -fno-common -ffreestanding
-fno-strict-aliasing -Wno-unused  -nostdinc -imacros ../config.h
-I../include -I/usr/lib/gcc/i486-linux-gnu/4.1.2/include -MD -c
linuxbios.c -o linuxbios.o
gcc -m32 -Wall -Os -fomit-frame-pointer -fno-common -ffreestanding
-fno-strict-aliasing -Wno-unused  -nostdinc -imacros ../config.h
-I../include -I/usr/lib/gcc/i486-linux-gnu/4.1.2/include -MD -c malloc.c
-o malloc.o
malloc.c: In function 'allot2':
malloc.c:206: warning: assignment makes integer from pointer without a
cast
gcc -m32 -Wall -Os -fomit-frame-pointer -fno-common -ffreestanding
-fno-strict-aliasing -Wno-unused  -nostdinc -imacros ../config.h
-I../include -I/usr/lib/gcc/i486-linux-gnu/4.1.2/include -MD -c printf.c
-o printf.o
printf.c: In function 'vtxprintf':
printf.c:197: error: 'se' undeclared (first use in this function)
printf.c:197: error: (Each undeclared identifier is reported only once
printf.c:197: error: for each function it appears in.)
printf.c:197: error: 'value' undeclared (first use in this function)
printf.c:198: error: 'cp' undeclared (first use in this function)
printf.c:199: warning: no return statement in function returning
non-void
printf.c: At top level:
printf.c:200: error: expected identifier or '(' before 'if'
printf.c:202: error: expected identifier or '(' before 'return'
printf.c:203: error: expected identifier or '(' before '}' token
printf.c:206: error: redefinition of 'simple_strtoll'
printf.c:60: error: previous definition of 'simple_strtoll' was here
printf.c: In function 'simple_strtoll':
printf.c:209: error: expected ')' before 'flags'
printf.c:214: error: too few arguments to function 'simple_strtoull'
printf.c:214: error: expected ';' before '}' token
printf.c: At top level:
printf.c:217: warning: data definition has no type or storage class
printf.c:217: warning: type defaults to 'int' in declaration of
'field_width'
printf.c:218: error: expected identifier or '(' before 'if'
printf.c:220: error: expected identifier or '(' before 'else'
printf.c:231: warning: data definition has no type or storage class
printf.c:231: warning: type defaults to 'int' in declaration of
'precision'
printf.c:232: error: expected identifier or '(' before 'if'
printf.c:246: warning: data definition has no type or storage class
printf.c:246: warning: type defaults to 'int' in declaration of
'qualifier'
printf.c:247: error: expected identifier or '(' before 'if'
printf.c:253: warning: data definition has no type or storage class
printf.c:253: warning: type defaults to 'int' in declaration of 'base'
printf.c:255: error: expected identifier or '(' before 'switch'
printf.c:331: error: expected identifier or '(' before 'if'
printf.c:333: error: expected identifier or '(' before 'else'
printf.c:335: error: expected identifier or '(' before 'else'
printf.c:339: error: expected identifier or '(' before 'else'
printf.c:341: error: expected identifier or '(' before 'else'
printf.c:343: error: expected '=', ',', ';', 'asm' or '__attribute__'
before '+=' token
printf.c:344: error: expected identifier or '(' before '}' token
printf.c:345: error: expected identifier or '(' before 'return'
printf.c:346: error: expected identifier or '(' before '}' token
make[1]: *** [printf.o] Error 1
make[1]: Leaving directory `/mnt/s2u1/atom/cb/trunk/filo-0.5/main'
make: *** [main/builtin.o] Error 2

Thanks,

Ken Fuchs




More information about the coreboot mailing list