Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

not possible to build with disable-dynamic-load #29

Open
blackpit73 opened this issue Jul 30, 2014 · 3 comments
Open

not possible to build with disable-dynamic-load #29

blackpit73 opened this issue Jul 30, 2014 · 3 comments

Comments

@blackpit73
Copy link

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

@rbowler
Copy link
Owner

rbowler commented Aug 12, 2014

I will attempt to fix this.

@rbowler
Copy link
Owner

rbowler commented Aug 12, 2014

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.

@PeterCoghlan
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants