Le 31/01/2013 23:20, Cyrille Lefevre a écrit :
Hi,
I'm attempting to build grub2-rc1 -emu under cygwin w/o success.
I've made a fast and dirty patch about the missing stuff (emunet tap),
see attachment,
but I don't known how to say to the build machine these symbols came
from cygwin
and should be resolved at last ? see bellow... everything else seems to
be ok.
thanks in advance.
build environment => cygwin2 up-to-date w/ gcc4
$ uname -a
CYGWIN_NT-6.0 pcvista 1.7.17(0.262/5/3) 2012-10-19 14:39 i686 Cygwin
the configure command I use :
CC=gcc-4 ./configure --with-platform=emu --enable-grub-emu-usb
--enable-grub-emu-sdl
and the make command :
make -j 1 -k
-j 1 is to avoid fork failures.
what's wrong is :
cat syminfo.lst | sort | awk -f ./genmoddep.awk > moddep.lst || (rm -f
moddep.lst; exit 1)
__imp__CloseHandle@4 in emunet is not defined
__imp__CreateEventA@16 in emunet is not defined
__imp__CreateFileA@28 in emunet is not defined
__imp__DeviceIoControl@32 in emunet is not defined
__imp__GetLastError@0 in emunet is not defined
__imp__GetOverlappedResult@16 in emunet is not defined
__imp__ReadFile@20 in emunet is not defined
__imp__RegCloseKey@4 in emunet is not defined
__imp__RegEnumKeyExA@32 in emunet is not defined
__imp__RegOpenKeyExA@20 in emunet is not defined
__imp__RegQueryValueExA@24 in emunet is not defined
__imp__ResetEvent@4 in emunet is not defined
__imp__WaitForSingleObject@8 in emunet is not defined
__imp__WriteFile@20 in emunet is not defined
_cygwin_attach_handle_to_fd in emunet is not defined
_get_osfhandle in emunet is not defined
Makefile:81312: recipe for target `moddep.lst' failed
Hi,
well, I've resolve the above issue by manually editing the Makefile as
in the one attached.
now, I'm stuck with the following error, so, the question is, does
grub-emu is supposed to build right ?
gcc-4 -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../include -I../include
-DGRUB_MACHINE_EMU=1 -DGRUB_MACHINE=I386_EMU -DGRUB_TARGET_CPU_I386=1
-m32 -DGRUB_FILE=\"symlist.c\" -I. -I. -I.. -I.. -I../include
-I../include -Os -Wall -W -Wshadow -Wold-style-definition
-Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align
-Wchar-subscripts -Wcomment -Wdeprecated-declarations
-Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels
-Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k
-Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self
-Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces
-Wmissing-field-initializers -Wmissing-format-attribute
-Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses
-Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point
-Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef
-Wunknown-pragmas -Wunused -Wunused-function -Wunused-label
-Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros
-Wvolatile-register-var -Wwrite-strings -Wnested-externs
-Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls
-Wmissing-prototypes -Wmissing-declarations -falign-jumps=1
-falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2
-mno-3dnow -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -m32
-fno-stack-protector -mno-stack-arg-probe -MT
grub_emu_lite-symlist.o -MD -MP -MF .deps-core/grub_emu_lite-symlist.Tpo
-c -o grub_emu_lite-symlist.o `test -f 'symlist.c' || echo './'`symlist.c
symlist.c: In function 'grub_register_exported_symbols':
symlist.c:72:31: error: 'grub_bios_interrupt' undeclared (first use in
this function)
symlist.c:72:31: note: each undeclared identifier is reported only once
for each function it appears in
symlist.c:73:29: error: 'grub_boot_device' undeclared (first use in this
function)
symlist.c:148:31: error: 'grub_pc_net_config' undeclared (first use in
this function)
symlist.c:149:25: error: 'grub_pit_wait' undeclared (first use in this
function)
symlist.c:154:25: error: 'grub_pxe_call' undeclared (first use in this
function)
symlist.c:216:3: error: duplicate case value
symlist.c:216:3: error: previously used here
Makefile:64893: recipe for target `grub_emu_lite-symlist.o' failed
make[1]: *** [grub_emu_lite-symlist.o] Error 1
thanks in advance...
Regards,
Cyrille Lefevre
--
mailto:cyrille.lefevre-li...@laposte.net
--- Makefile.bak 2013-02-07 03:00:13.999999900 +0100
+++ Makefile 2013-02-07 02:28:55.999999900 +0100
@@ -28900,8 +28900,8 @@
nodist_grub_emu_OBJECTS = \
grub_emu-grub_emu_init.$(OBJEXT)
grub_emu_OBJECTS = $(am_grub_emu_OBJECTS) $(nodist_grub_emu_OBJECTS)
-am__DEPENDENCIES_1 =
-grub_emu_DEPENDENCIES = kernel.img$(EXEEXT) \
+am__DEPENDENCIES_1 = gnulib/libgnu.a
+grub_emu_DEPENDENCIES = kernel.exec$(EXEEXT) \
$(MODULE_FILES) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -28916,7 +28916,7 @@
grub_emu_lite-symlist.$(OBJEXT)
grub_emu_lite_OBJECTS = $(am_grub_emu_lite_OBJECTS) \
$(nodist_grub_emu_lite_OBJECTS)
-grub_emu_lite_DEPENDENCIES = kernel.img$(EXEEXT) \
+grub_emu_lite_DEPENDENCIES = kernel.exec$(EXEEXT) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -34170,7 +34170,7 @@
HELP2MAN =
HOST_CC = gcc-4
HOST_CCASFLAGS =
-HOST_CFLAGS = -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign -Werror
+HOST_CFLAGS = -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign
HOST_CPPFLAGS = -Wall -W -I$(top_builddir)/include -DGRUB_UTIL=1 -DGRUB_LIBDIR=\"$(pkglibdir)\" -DLOCALEDIR=\"$(localedir)\"
HOST_LDFLAGS =
INCLUDE_NEXT = include_next
@@ -34368,14 +34368,14 @@
TARGET_CC = gcc-4
TARGET_CCAS = gcc-4
TARGET_CCASFLAGS = -g -m32
-TARGET_CFLAGS = -Os -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -m32 -fno-stack-protector -mno-stack-arg-probe -Werror $(am__append_9)
+TARGET_CFLAGS = -Os -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -m32 -fno-stack-protector -mno-stack-arg-probe $(am__append_9)
TARGET_CPP = gcc-4 -E
TARGET_CPPFLAGS = -Wall -W -I$(top_srcdir)/include -I$(top_builddir)/include -DGRUB_MACHINE_EMU=1 -DGRUB_MACHINE=I386_EMU -DGRUB_TARGET_CPU_I386=1 -m32
TARGET_IMG_BASE_LDOPT = -Wl,-Ttext
TARGET_IMG_CFLAGS =
TARGET_IMG_LDFLAGS = -Wl,-N
TARGET_IMG_LDSCRIPT =
-TARGET_LDFLAGS = -m32
+TARGET_LDFLAGS = -m32 -static-libgcc
TARGET_LDFLAGS_OLDMAGIC = -Wl,-N
TARGET_MODULE_FORMAT = elf32
TARGET_OBJ2ELF = $(top_builddir)/grub-pe2elf
@@ -58385,14 +58385,14 @@
$(am__append_18216) $(am__append_18225) $(am__append_18234)
grub_emu_SOURCES = kern/emu/full.c
nodist_grub_emu_SOURCES = grub_emu_init.c
-grub_emu_LDADD = kernel.img$(EXEEXT) $(MODULE_FILES) $(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)
+grub_emu_LDADD = kernel.exec$(EXEEXT) gnulib/libgnu.a $(MODULE_FILES) $(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBINTL) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)
grub_emu_CFLAGS = $(AM_CFLAGS) $(CFLAGS_PROGRAM)
grub_emu_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_PROGRAM)
grub_emu_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_PROGRAM)
grub_emu_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_PROGRAM)
grub_emu_lite_SOURCES = kern/emu/lite.c
nodist_grub_emu_lite_SOURCES = symlist.c
-grub_emu_lite_LDADD = kernel.img$(EXEEXT) $(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)
+grub_emu_lite_LDADD = kernel.exec$(EXEEXT) $(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)
grub_emu_lite_CFLAGS = $(AM_CFLAGS) $(CFLAGS_PROGRAM)
grub_emu_lite_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_PROGRAM)
grub_emu_lite_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_PROGRAM)
@@ -81301,8 +81301,12 @@
crypto.lst: $(srcdir)/lib/libgcrypt-grub/cipher/crypto.lst
cp $^ $@
-syminfo.lst: gensyminfo.sh kernel_syms.lst $(MODULE_FILES)
+cygwin.lst: /usr/bin/cygwin1.dll
+ nm -u net/drivers/emu/emunet_module-emunet.o | awk '!/grub/{print "defined cygwin", $$NF}' > cygwin.lst
+
+syminfo.lst: gensyminfo.sh kernel_syms.lst $(MODULE_FILES) cygwin.lst
cat kernel_syms.lst > $@.new
+ cat cygwin.lst >> $@.new
for m in $(MODULE_FILES); do \
sh $< $$m >> $@.new || exit 1; \
done
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel