Installing Z88DK on Ubuntu 18.04
I had a few issues whilst following the instructions to install Z88DK on Ubuntu 18.04 so thought I would document my solutions here in case anyone else has similar problems. Note that I am a Linux novice so apologies if any of this seems obvious for a Linux pro.
- The command
chmod 777 config.sh
failed because that file does not appear to exist in the distribution any more. - I did not have Subversion installed, giving me the error
svn: command not found
. This was fixed by installing Subversion withsudo apt install subversion
. - I did not have Bison installed, giving me the error
configure: error: Cannot find required program bison.
Fixed by installing Bison withsudo apt install bison
. - At this point re-running
./build.sh
gave me the error
Patch error -> patching file src/SDCC.lex Reversed (or previously applied) patch detected!
This is because the build downloads SDCC via Subversion and then patches it, however because I had already passed this point in the build before the Bison error the patched files were still present. I therefore deleted them withrm -r -f /tmp/sdcc
. This had to be repeated every time the build failed. - I did not have Flex installed, giving me the error
configure: error: Cannot find required program flex.
Fixed withsudo apt install flex
. - I did not have Boost installed, giving me the error
configure: error: boost library not found (boost/graph/adjacency_list.hpp).
Fixed withsudo apt-get install libboost-all-dev
. - I did not have MakeInfo installed. However this did not give me an obvious error; instead there was a warning a few lines before the end of the build output:
WARNING: `makeinfo' is missing on your system.
. Fixed withsudo apt-get install texinfo
.
After that the build completed successfully. However adding the required environment variables wasn't obvious for a Windows user like myself. In Windows there is a single way to define environment variables; in the land of Linux it seems there are many. I found I had to include the lines from the instructions in the file ~/.profile
rather than ~/.bash_profile
.
With all that done I am now able to compile Oakley programs on Linux.