Closed mrgw454 closed 9 months ago
Hi! First of all thanks for reporting this issue and using Cross-Lib.
The error clearly comes from the Z88DK compiler/dev-kit. Which exact version under which exact operating systems are you using?
Did you build Z88DK from source? From the very last source code? Or did you use a snapshot or package? Which one?
Hi,
I am using a self-compiled version of the z88dk compiler directly from git:
ron@x570:~/source/z88dk$ git log -1
commit e9cc6e3930c1c0cbaedff874c625bce44e04e88a (HEAD -> master)
Author: Paulo Custodio <pauloscustodio@gmail.com>
Date: Tue Jan 9 09:39:43 2024 +0000
Issue #2474: cleanup build_ldflags$$.exe
ron@x570:~/source/z88dk/bin$ zcc --version
A config file must be specified with +file as the first argument
zcc - Frontend for the z88dk Cross-C Compiler - v16001-8b55fd9-20200203
This issue happens on my amd64 based Linux workstation (Debian 12 Bookworm).
I don't wish to waste your time if it's related to z88dk and not Cross-Lib specifically. Still not sure how to resolve other than pull a fresh copy of z88dk from git, build and trying again.
Thanks again for your help!
-Ron
No time wasted. I try to chase Z88DK changes. I will have to compile the latest version and see if I can reproduce the problem. It is easily fixable because they probably changed the way the generic console is set in the command line.
So, there is indeed an issue but it is not the one you are reporting.
../tools/generic/c1541 -format "crosschase,0" d64 FULL_c128_z80_40col.d64
/bin/sh: 1: ../tools/generic/c1541: not found
make: *** [Makefile_common:853: c128_z80_40col] Error 127
A work around is to replace c1541.exe in tools/generic
with c1541 built for your architecture (e.g., the one that comes with the Vice emulator).
I might consider automatically building it from source but it is a bit cumbersome because it has too many dependencies.
Or I could include a prebuilt version for the most common Linux architectures (i.e., at least Intel/AMD 64-bit).
On the other hand, your issue seems to be related to Z88DK.
I have taken the very latest nightly build for Z88DK and -clib=gencon
is recognized without any issue.
So, there is indeed an issue but it is not the one you are reporting.
../tools/generic/c1541 -format "crosschase,0" d64 FULL_c128_z80_40col.d64 /bin/sh: 1: ../tools/generic/c1541: not found make: *** [Makefile_common:853: c128_z80_40col] Error 127
A work around is to replace c1541.exe in
tools/generic
with c1541 built for your architecture (e.g., the one that comes with the Vice emulator).I might consider automatically building it from source but it is a bit cumbersome because it has too many dependencies.
Or I could include a prebuilt version for the most common Linux architectures (i.e., at least Intel/AMD 64-bit).
I did notice this and added a quick work around for it (as well as another work-around for a minor case sensitivity issue:
f [ -f $HOME/source/vice/trunk/vice/src/c1541 ]; then
ln -s $HOME/source/vice/trunk/vice/src/c1541 $HOME/source/CROSS-LIB/tools/generic/c1541
else
echo
echo Warning! Missing c1541 binary needed for C64 and C128.
echo
fi
# fix issue with Makefile.common
sed -i "s/A40.ldr/A40.LDR/" $HOME/source/CROSS-LIB/src/Makefile_common
sed -i "s/A80.ldr/A80.LDR/" $HOME/source/CROSS-LIB/src/Makefile_common
On the other hand, your issue seems to be related to Z88DK.
I have taken the very latest nightly build for Z88DK and
-clib=gencon
is recognized without any issue.
I just pulled and built z88dk from it's repo. The original error I reported is now gone for me as well. Thank you! :)
I am working on a fix for the c1541. I will tell you when you can pull my fix with git pull
. My current fix requires to have vice
installed so that c1541 is in your PATH
.
I have improved/fixed the issue with c1541
under Unix.
Could you please run git pull
to update Cross-Lib.
Then you need to install the vice
emulator and make sure that your terminal finds c1541
.
After these steps you should be able to run:
xl <game> c128
(for a 40 col version)
or
xl <game> c128_40col_zsdcc
(for a slightly faster running 40 col version built with a slower and experimental compiler)
or
xl <game> c128_80col
(for super slow 80 column VDC graphics)
P.S.: The C128 versions are currently built for the Zilog 80 CPU, which runs at effective 2mhz (4mhz but every second cycle is lost and this means that it is very slow).
xl
c128_40col_zsdcc
It all seems to work properly now. Thank you so much for everything!
It is a pleasure to support the people that find my project fun.
Feel free to open more tickets with questions and or reports on issues.
Hello,
Trying to build all projects (for c128) from current repo source and getting this error:
Cannot find definition for -clib=gencon
I'll attach the output from the build process. Everything had been building correctly just over a month ago.
Current system x64 Debian 12 Bookworm.
Thanks for any help you can provide.
-Ron CROSS-LIB build issue for c128 target.txt