spinhawk
spinhawk copied to clipboard
not possible to build with disable-dynamic-load
pr@dev64:~/hercules/hercules/archiv/x/hercules-3.10$ ./configure --disable-dynamic-load --disable-external-gui && make ... /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I./decNumber -I./softfloat -DPKGDATADIR="/usr/local/share/hercules" -DMODULESDIR="/usr/local/lib/hercules" -W -Wall -O3 -march=k8 -fomit-frame-pointer -MT hdl.lo -MD -MP -MF .deps/hdl.Tpo -c -o hdl.lo hdl.c gcc -DHAVE_CONFIG_H -I. -I. -I./decNumber -I./softfloat -DPKGDATADIR="/usr/local/share/hercules" -DMODULESDIR="/usr/local/lib/hercules" -W -Wall -O3 -march=k8 -fomit-frame-pointer -MT hdl.lo -MD -MP -MF .deps/hdl.Tpo -c hdl.c -fPIC -DPIC -o .libs/hdl.o hdl.c:60:36: error: unknown type name 'HDLINS' hdl.c:58:13: warning: 'hdl_didf' declared 'static' but never defined [-Wunused-function] make[2]: *** [hdl.lo] Fehler 1 make[2]: Verlasse Verzeichnis '/home/pr/hercules/hercules/archiv/x/hercules-3.10' make[1]: *** [all-recursive] Fehler 1 make[1]: Verlasse Verzeichnis '/home/pr/hercules/hercules/archiv/x/hercules-3.10' make: *** [all] Fehler 2
pr@dev64:~/hercules/hercules/archiv/x/hercules-3.10$ uname -a Linux dev64 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:24:59 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
I will attempt to fix this.
We may be out of luck. Even after fixing the compile error in hdl.c, and fixing a duplicate symbol in comm3705.c, it looks like the hercules config builder needs the dynamic loader to load the device drivers. There doesn't seem to be any provision for static linking any more.
I've come across something that looks very like this issue when compiling on VMS:
static void hdl_modify_opcode(int, HDLINS *); ...................................^ %CC-E-PARMTYPLIST, Ill-formed parameter type list. at line number 60 in file HERCULES_CODE:[V3_11]HDL.C;1
I found that if I move this typedef in hdl.h:
typedef struct _HDLINS { /* Instruction entry / int opcode; / Opcode / int archflags; / Architecture flags / char *instname; / Instruction name / void *instruction; / Instruction routine / void *original; / Original instruction _/ struct HDLINS *next; / Next entry */ } HDLINS;
up the file so that it is above "#if !defined(OPTION_DYNAMIC_LOAD)" hdl.c will then compile successfully and everything then works fine for me. I'm not sure what the issue with the config builder is as I don't seem to be running into that one when building on VMS. If this fix doesn't solve the problem for everyone, it is at least a small step in the right direction and would be helpful for me if included.