jignesh gangani wrote:
>
> On 7/25/07, *João Ramos* <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
>
>     Hi.
>
>     I'm following CLFS to make a custom Linux distro, and know I'm
>     trying to
>     cross-compile GRUB to finalize my installation, but I'm having some
>     errors that I cannot fix, and I can't find suitable information to
>     solve it.
>     I'm using GRUB-0.97, applied the 'grub-0.97-fixes-1.patch' patch, and
>     using the toolchain as described by CLFS (gcc-4.1.1).
>
>     This is my configure and make output:
>
>     ----- configure ----------------
>
>     patching file aclocal.m4
>     patching file ChangeLog
>     patching file configure
>     patching file configure.ac <http://configure.ac>
>     patching file docs/grub.8
>     patching file docs/grub.texi
>     patching file docs/multiboot.texi
>     patching file grub/asmstub.c
>     patching file grub/main.c
>     patching file lib/device.c
>     patching file stage2/asm.S
>     patching file stage2/boot.c
>     patching file stage2/builtins.c
>     patching file stage2/char_io.c
>     patching file stage2/cmdline.c
>     patching file stage2/freebsd.h
>     patching file stage2/graphics.c
>     patching file stage2/graphics.h
>     patching file stage2/Makefile.am
>     patching file stage2/shared.h
>     patching file stage2/stage2.c
>     patching file stage2/term.h
>     patching file THANKS
>     patching file util/grub-install.in <http://install.in>
>     configure: WARNING: If you wanted to set the --build type, don't
>     use --host.
>         If a cross compiler is detected then cross compile mode will
>     be used.
>     checking for a BSD-compatible install... /usr/bin/install -c
>     checking whether build environment is sane... yes
>     checking for gawk... gawk
>     checking whether make sets $(MAKE)... yes
>     checking for i586-linux-strip... i586-linux-strip
>     checking build system type... i686-pc-linux-gnulibc1
>     checking host system type... i586-pc-linux-gnu
>     checking whether to enable maintainer-specific portions of
>     Makefiles... no
>     checking for i586-linux-gcc... i586-linux-gcc
>     checking for i586-linux-gcc... (cached) i586-linux-gcc
>     checking for C compiler default output file name... a.out
>     checking whether the C compiler works... yes
>     checking whether we are cross compiling... yes
>     checking for suffix of executables...
>     checking for suffix of object files... o
>     checking whether we are using the GNU C compiler... yes
>     checking whether i586-linux-gcc accepts -g... yes
>     checking for i586-linux-gcc option to accept ANSI C... none needed
>     checking for style of include used by make... GNU
>     checking dependency style of i586-linux-gcc... gcc3
>     checking dependency style of i586-linux-gcc... (cached) gcc3
>     checking for i586-linux-ranlib... i586-linux-ranlib
>     checking whether optimization for size works... yes
>     checking whether gcc has -fno-stack-protector... yes
>     checking whether -Wundef works... yes
>     checking whether -falign-loops works... yes
>     checking for i586-linux-objcopy... i586-linux-objcopy
>     checking if C symbols get an underscore after compilation... no
>     checking whether i586-linux-objcopy works for absolute
>     addresses... yes
>     checking whether addr32 must be in the same line as the
>     instruction... yes
>     checking for .code16 addr32 assembler support... yes
>     checking whether an absolute indirect call/jump must not be prefixed
>     with an asterisk... no
>     checking if start is defined by the compiler... no
>     checking if _start is defined by the compiler... yes
>     checking if __bss_start is defined by the compiler... yes
>     checking if _edata is defined by the compiler... yes
>     checking if edata is defined by the compiler... yes
>     checking if end is defined by the compiler... yes
>     checking if _end is defined by the compiler... yes
>     checking for opendisk in -lutil... no
>     checking for wgetch in -lncurses... yes
>     checking how to run the C preprocessor... i586-linux-gcc -E
>     checking for egrep... grep -E
>     checking for ANSI C header files... yes
>     checking for sys/types.h... yes
>     checking for sys/stat.h... yes
>     checking for stdlib.h... yes
>     checking for string.h... yes
>     checking for memory.h... yes
>     checking for strings.h... yes
>     checking for inttypes.h... yes
>     checking for stdint.h... yes
>     checking for unistd.h... yes
>     checking for string.h... (cached) yes
>     checking for strings.h... (cached) yes
>     checking ncurses/curses.h usability... no
>     checking ncurses/curses.h presence... no
>     checking for ncurses/curses.h... no
>     checking ncurses.h usability... no
>     checking ncurses.h presence... no
>     checking for ncurses.h... no
>     checking curses.h usability... no
>     checking curses.h presence... no
>     checking for curses.h... no
>     configure: creating ./config.status
>     config.status: creating Makefile
>     config.status: creating stage1/Makefile
>     config.status: creating stage2/Makefile
>     config.status: creating docs/Makefile
>     config.status: creating lib/Makefile
>     config.status: creating util/Makefile
>     config.status: creating grub/Makefile
>     config.status: creating netboot/Makefile
>     config.status : creating util/grub-image
>     config.status: creating util/grub-install
>     config.status: creating util/grub-md5-crypt
>     config.status: creating util/grub-terminfo
>     config.status: creating util/grub-set-default
>     config.status : creating config.h
>     config.status: executing depfiles commands
>
>
>     ------------- make ----------------------------------
>
>     make[1]: Entering directory
>     `/home/joao.ramos/skyguardian/bootldr/grub/grub-0.97 '
>     Making all in netboot
>     make[2]: Entering directory
>     `/home/joao.ramos/skyguardian/bootldr/grub/grub-0.97/netboot'
>     if i586-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../stage2 -I../stage1
>     -march=i586 -Wall -Wmissing-prototypes -Wunused -Wshadow
>     -Wpointer-arith
>     -falign-jumps=1 -falign-loops=1 -falign-functions=1 -Wundef -Os
>     -fno-stack-protector -fno-builtin -nostdinc -DFSYS_TFTP=1
>     -DINCLUDE_EEPRO100=1 -DCONGESTED=1 -DCONFIG_PCI_DIRECT=1
>     -DNE_SCAN=0x280,0x300,0x320,0x340 -DWD_DEFAULT_MEM=0xCC000 -g -MT
>     libdrivers_a-config.o -MD -MP -MF ".deps/libdrivers_a-config.Tpo"
>     -c -o
>     libdrivers_a-config.o `test -f 'config.c' || echo './'`config.c; \
>             then mv -f ".deps/libdrivers_a-config.Tpo "
>     ".deps/libdrivers_a-config.Po"; else rm -f
>     ".deps/libdrivers_a-config.Tpo"; exit 1; fi
>     if i586-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../stage2 -I../stage1
>     -march=i586 -Wall -Wmissing-prototypes -Wunused -Wshadow
>     -Wpointer-arith
>     -falign-jumps=1 -falign-loops=1 -falign-functions=1 -Wundef -Os
>     -fno-stack-protector -fno-builtin -nostdinc -DFSYS_TFTP=1
>     -DINCLUDE_EEPRO100=1 -DCONGESTED=1 -DCONFIG_PCI_DIRECT=1
>     -DNE_SCAN=0x280,0x300,0x320,0x340 -DWD_DEFAULT_MEM=0xCC000 -g -MT
>     libdrivers_a-fsys_tftp.o -MD -MP -MF
>     ".deps/libdrivers_a-fsys_tftp.Tpo"
>     -c -o libdrivers_a-fsys_tftp.o `test -f 'fsys_tftp.c' || echo
>     './'`fsys_tftp.c; \
>             then mv -f ".deps/libdrivers_a-fsys_tftp.Tpo"
>     ".deps/libdrivers_a-fsys_tftp.Po"; else rm -f
>     ".deps/libdrivers_a-fsys_tftp.Tpo"; exit 1; fi
>     if i586-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../stage2 -I../stage1
>     -march=i586 -Wall -Wmissing-prototypes -Wunused -Wshadow
>     -Wpointer-arith
>     -falign-jumps=1 -falign-loops=1 -falign-functions=1 -Wundef -Os
>     -fno-stack-protector -fno-builtin -nostdinc -DFSYS_TFTP=1
>     -DINCLUDE_EEPRO100=1 -DCONGESTED=1 -DCONFIG_PCI_DIRECT=1
>     -DNE_SCAN=0x280,0x300,0x320,0x340 -DWD_DEFAULT_MEM=0xCC000 -g -MT
>     libdrivers_a-main.o -MD -MP -MF ".deps/libdrivers_a-main.Tpo" -c -o
>     libdrivers_a-main.o `test -f 'main.c' || echo './'`main.c; \
>             then mv -f ".deps/libdrivers_a-main.Tpo"
>     ".deps/libdrivers_a-main.Po"; else rm -f
>     ".deps/libdrivers_a-main.Tpo";
>     exit 1; fi
>     main.c:57: error: static declaration of 'bootp_data' follows
>     non-static
>     declaration
>     ./etherboot.h:534: error: previous declaration of 'bootp_data' was
>     here
>     main.c:59: error: static declaration of 'end_of_rfc1533' follows
>     non-static declaration
>     ./etherboot.h:536: error: previous declaration of 'end_of_rfc1533'
>     was here
>     main.c: In function 'udp_transmit':
>     main.c:231: warning: pointer targets in passing argument 1 of
>     'eth_transmit' differ in signedness
>     main.c:276: warning: pointer targets in passing argument 1 of
>     'eth_transmit' differ in signedness
>     main.c:290: warning: pointer targets in passing argument 1 of
>     'eth_transmit' differ in signedness
>     main.c: In function 'tftp':
>     main.c:462: warning: pointer targets in passing argument 1 of 'fnc'
>     differ in signedness
>     main.c: In function 'rarp':
>     main.c:509: warning: pointer targets in passing argument 1 of
>     'eth_transmit' differ in signedness
>     main.c: In function 'udpchksum':
>     main.c:729: warning: dereferencing type-punned pointer will break
>     strict-aliasing rules
>     main.c: In function 'await_reply':
>     main.c:893: warning: pointer targets in passing argument 1 of
>     'grub_memcmp' differ in signedness
>     main.c:895: warning: pointer targets in passing argument 1 of
>     'grub_memcmp' differ in signedness
>     main.c:925: warning: pointer targets in passing argument 1 of
>     'decode_rfc1533' differ in signedness
>     main.c: In function 'decode_rfc1533':
>     main.c:973: warning: pointer targets in passing argument 1 of
>     'grub_memcmp' differ in signedness
>     main.c:973: warning: pointer targets in passing argument 2 of
>     'grub_memcmp' differ in signedness
>     main.c:984: warning: pointer targets in passing argument 1 of
>     'grub_memcmp' differ in signedness
>     main.c:984: warning: pointer targets in passing argument 2 of
>     'grub_memcmp' differ in signedness
>     main.c:1057: warning: pointer targets in passing argument 1 of
>     'grub_memcmp' differ in signedness
>     main.c:1057: warning: pointer targets in passing argument 2 of
>     'grub_memcmp' differ in signedness
>     make[2]: *** [libdrivers_a-main.o] Error 1
>     make[2]: Leaving directory
>     `/home/joao.ramos/skyguardian/bootldr/grub/grub-0.97/netboot'
>     make[1]: *** [all-recursive] Error 1
>     make[1]: Leaving directory
>     `/home/joao.ramos/skyguardian/bootldr/grub/grub-0.97'
>     make: *** [all] Error 2
>
>
>     The problem seems to be in a static declaration in netboot/main.c
>     (static struct bootp_t bootp_data) when the header ' etherboot.h'
>     defines
>     this struct as non-static, and without a typedef keyword (struct
>     bootp_t
>     { ....... } ).
>
>     Can anyone help?
>
>     Thank you,
>
>     João Ramos
>     _______________________________________________
>     Clfs-support mailing list
>     [email protected]
>     <mailto:[email protected]>
>     http://lists.cross-lfs.org/cgi-bin/mailman/listinfo/clfs-support
>     <http://lists.cross-lfs.org/cgi-bin/mailman/listinfo/clfs-support>
>
>
>
> Hi Joao,
>     (Sorry for Misspelling your name),
>     What type of system are your building? You are following CLFS, so 
> I assume you are building 64-bit ( I may be wrong). If this is the 
> case then the book suggests that you use LILO over GRUB because GRUB 
> fails to compile.
>     This is my only observation.
>
>
Hi Jignesh,

I am building a system for a i586 arch machine, more specifically for an 
Intel Celeron M single-board computer. My host system is an Intel 
Pentium 4 @ 3.4GHz, hyper-threading.


> -- 
>
> Jignesh D. Gangani
> ------------------------------------------------------------------------
>
> _______________________________________________
> Clfs-support mailing list
> [email protected]
> http://lists.cross-lfs.org/cgi-bin/mailman/listinfo/clfs-support
>   

_______________________________________________
Clfs-support mailing list
[email protected]
http://lists.cross-lfs.org/cgi-bin/mailman/listinfo/clfs-support

Reply via email to