Page 1 of 1

z88dk fails to build in Z80asm

Posted: Sun Feb 24, 2019 6:24 pm
by joaopa
With nighty build. Wheen compiling z88dk in Ubuntu 18.10 I have the following error:

z88dk/src/z80asm ?
cc -MMD -I. -Ilib -It -g -Wall -ftabstop=4 -std=gnu11 -O3 -I../common -I../../ext/optparse -I../../ext/regex -I../../ext/uthash/src -g -O2 -c -o ../common/objfile.o ../common/objfile.c
../common/objfile.c: In function ?file_rename_sections?:
../common/objfile.c:1036:8: error: ?REG_OKAY? undeclared (first use in this function); did you mean ?REG_EEND??
== REG_OKAY)
^~~~~~~~
REG_EEND
../common/objfile.c:1036:8: note: each undeclared identifier is reported only once for each function it appears in
../common/objfile.c: In function ?file_add_symbol_prefix?:
../common/objfile.c:1126:74: error: ?REG_OKAY? undeclared (first use in this function); did you mean ?REG_EEND??
if ((reti = regexec(&regex, str_data(symbol->name), 0, NULL, 0)) == REG_OKAY) { // match
^~~~~~~~
REG_EEND
../common/objfile.c: In function ?file_change_symbols_scope?:
../common/objfile.c:1235:74: error: ?REG_OKAY? undeclared (first use in this function); did you mean ?REG_EEND??
if ((reti = regexec(&regex, str_data(symbol->name), 0, NULL, 0)) == REG_OKAY) { // match
^~~~~~~~
REG_EEND
make[1]: *** [Makefile:67: ../common/objfile.o] Error 1

Posted: Sun Feb 24, 2019 7:16 pm
by dom
I think that means that you've not pulled down the submodules:

The z88dk repository uses git submodules, these are not automatically downloaded by git by default so you will have to either adjust your clone line, or retrieve them manually. To clone with submodules use `git clone --recursive https://github.com/z88dk/z88dk.git`. To add the submodules to an already existing clone use `git submodule update --init --recursive`

Posted: Sun Feb 24, 2019 7:46 pm
by joaopa
I downloaded the tar ball. With git clone --recursive https://github.com/z88dk/z88dk.git, I obtain
configure: NOTICE: treedec library missing, falling back to Thorup.
checking gala/graph.h usability... no
checking gala/graph.h presence... no
checking for gala/graph.h... no
checking boost/graph/adjacency_list.hpp usability... no
checking boost/graph/adjacency_list.hpp presence... no
checking for boost/graph/adjacency_list.hpp... no
configure: error: boost library not found (boost/graph/adjacency_list.hpp).
make: *** [Makefile:73: bin/zsdcc] Error 1

Posted: Sun Feb 24, 2019 9:20 pm
by dom
That's weird. The nightly tgz is a copy of the directory we build from. So it all should be there.

Having said that, it looks like things got a bit further that time. There's a list of dependencies in the installation instructions that are needed: https://github.com/z88dk/z88dk/wiki/installation - hopefully these match up with the contents of the .travis.yml file.

Having said that I've not tried building on an 18.04 box - the latest version I'm running is 16.10. I should be able to set one up and try it tomorrow if you're still having problems.

Posted: Wed Feb 27, 2019 5:17 pm
by joaopa
That works, when installing all the dependences listed in .travis.yml
In ubuntu, that represents about 50 packages though....

Posted: Wed Feb 27, 2019 11:03 pm
by dom
Yes. Sdcc has quite a few build dependencies. The Perl ones can be skipped as long as you don?t run the z80asm tests.

Would a Linux binary build (static binaries) be useful?