Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user Rodrigo Yeowtch ! (Registered 2024-11-24) You are not logged in - nap
CSDb User Forums


Forums > CSDb Entries > Release id #214996 : Dali V0.3 (2022.02.21)
2022-09-27 20:02
Frostbyte

Registered: Aug 2003
Posts: 181
Release id #214996 : Dali V0.3 (2022.02.21)

Has anyone successfully compiled this for macOS? Mojave, to be specific. I've installed the required dependencies via Homebrew ('brew install acme' for Acme, 'brew install binutils' for objcopy), but the build fails on the following error:
clang: error: cannot specify -o when generating multiple output files

What I searched online, this could possibly be because I have a newer version of clang which is not happy about the header file prerequisites on the target, but
1) I don't know what older version of clang I should have for these to be ignored or even how to downgrade clang which I believe comes as part of Xcode's Command line tools, and
2) how to fix the makefile to work with the newer version of clang. My C and make skillz are pretty non-existent, unfortunately. :(

'clang --version' returns
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

The full make output for reference:
$ make
Compiling sfx code for dali...
Warning - File sfx.asm, line 382 (Zone <untitled>): !warn: sfx zp size: 183 (0xb7)
Warning - File sfx.asm, line 383 (Zone <untitled>): !warn: sfx size: 209 (0xd1)
Compiling sfx code for dali...
Warning - File sfx.asm, line 380 (Zone <untitled>): !warn: zp saved/restored up to: 227 (0xe3)
Warning - File sfx.asm, line 382 (Zone <untitled>): !warn: sfx zp size: 238 (0xee)
Warning - File sfx.asm, line 383 (Zone <untitled>): !warn: sfx size: 270 (0x10e)
Creating salvador library...
gcc -O3 -g -fomit-frame-pointer -Isrc/libdivsufsort/include -Isrc -fPIC -c src/../src/salvador.c -o obj/src/salvador.o
gcc -O3 -g -fomit-frame-pointer -Isrc/libdivsufsort/include -Isrc -fPIC -c src/../src/expand.c -o obj/src/expand.o
gcc -O3 -g -fomit-frame-pointer -Isrc/libdivsufsort/include -Isrc -fPIC -c src/../src/matchfinder.c -o obj/src/matchfinder.o
gcc -O3 -g -fomit-frame-pointer -Isrc/libdivsufsort/include -Isrc -fPIC -c src/../src/shrink.c -o obj/src/shrink.o
gcc -O3 -g -fomit-frame-pointer -Isrc/libdivsufsort/include -Isrc -fPIC -c src/../src/libdivsufsort/lib/divsufsort.c -o obj/src/libdivsufsort/lib/divsufsort.o
gcc -O3 -g -fomit-frame-pointer -Isrc/libdivsufsort/include -Isrc -fPIC -c src/../src/libdivsufsort/lib/divsufsort_utils.c -o obj/src/libdivsufsort/lib/divsufsort_utils.o
gcc -O3 -g -fomit-frame-pointer -Isrc/libdivsufsort/include -Isrc -fPIC -c src/../src/libdivsufsort/lib/sssort.c -o obj/src/libdivsufsort/lib/sssort.o
gcc -O3 -g -fomit-frame-pointer -Isrc/libdivsufsort/include -Isrc -fPIC -c src/../src/libdivsufsort/lib/trsort.c -o obj/src/libdivsufsort/lib/trsort.o
gcc obj/src/salvador.o obj/src/expand.o obj/src/matchfinder.o obj/src/shrink.o obj/src/libdivsufsort/lib/divsufsort.o obj/src/libdivsufsort/lib/divsufsort_utils.o obj/src/libdivsufsort/lib/sssort.o obj/src/libdivsufsort/lib/trsort.o  -o salvador
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: salvador.a(divsufsort_utils.o) has no symbols
Building dali...
clang: error: cannot specify -o when generating multiple output files
make: *** [dali] Error 1
 
... 2 posts hidden. Click here to view all posts....
 
2022-09-28 10:57
Frostbyte

Registered: Aug 2003
Posts: 181
Well that was an easy solution, thanks! Took me a second to realise that salvador directory was empty, as in github it was just a reference to the salvador git repo. But after cloning that too, it was just "a push of a button" to build. :)

Thanks again @Bitbreaker, much appreciated!

PS. Should I share the v0.3.2 macOS Mojave executable somewhere? Would maybe prefer not to do a CSDB release out of it, but maybe it could be dumped into the git repo to some precompiled bins folder?
2022-09-28 11:40
Bitbreaker

Registered: Oct 2002
Posts: 504
Quote: Well that was an easy solution, thanks! Took me a second to realise that salvador directory was empty, as in github it was just a reference to the salvador git repo. But after cloning that too, it was just "a push of a button" to build. :)

Thanks again @Bitbreaker, much appreciated!

PS. Should I share the v0.3.2 macOS Mojave executable somewhere? Would maybe prefer not to do a CSDB release out of it, but maybe it could be dumped into the git repo to some precompiled bins folder?


That is what i basically do meanwhile? :-)
//include salvador and rename main
#define main salvador_main
#include "salvador/src/salvador.c"
#undef main
2022-09-28 11:46
Bitbreaker

Registered: Oct 2002
Posts: 504
Quoting Frostbyte

PS. Should I share the v0.3.2 macOS Mojave executable somewhere? Would maybe prefer not to do a CSDB release out of it, but maybe it could be dumped into the git repo to some precompiled bins folder?


I prefer not having binaries in the repo, as things can always be build from source for any target desired. But feel free to spread/release any binary as you wish :-)
2022-09-28 18:05
iAN CooG

Registered: May 2002
Posts: 3187
I built a win x64 exe and upped it here for completeness and for those not wanting to install a msys2 environment and apply the needed changes to make it work
Dali V0.3.2
2022-09-28 20:21
Burglar

Registered: Dec 2004
Posts: 1085
trying to find a changelog, cuz uhm, I have dali 0.1 installed, now installed the new one, it packs a bit slower with the same result.. so.. what changed?
2022-09-28 21:00
Bitbreaker

Registered: Oct 2002
Posts: 504
change path vars
build without objcopy and ar
return to left shift
finally ceased that big endianess on dest addr
add a flag to exit on i/o warning
fix carry bug
clean up
fix bug with prefix
macro for inc <lz_src + 1
fix --binfile to only add load-address and depack-address if relocating
add --prefix-file option and clean up
use FILE* for tempfile
make proper use of tmpfiles for dict
fix error handling for dict file
add --prefix-from
add info about small sfx
make it more obvious that hex nums work
make read_number throw appropriate errors on invalid numbers, give more info
combine small/fast sfx in one file and compile conditionally
move some code to other file
make little endian elias gamma configurable
integrate small and fast sfx
switch over to right shift in lz_bits
add --cli option
$01 can be set for sfx, save/restore most of zp while depacking
back to normal lz_bits, keep compatible
changed encoding to save bytes in the resident part
throw error if packed fiule is bigger than original
save bytes
reducing size of executable
fix file creation bug
reduce argv array elems
clean up
fix naming
rename recoder and move around things


This is what gitlog says what changed up until today.
It is okay to use whatever version for sfx (though that also changed a bit) if compatibility is needed, it is always advisable to use the version coming along with bitfire, as it contains a suitable depacker. i did a few format changes on the way.
2022-09-28 21:21
Burglar

Registered: Dec 2004
Posts: 1085
thanks for the quick reply :)

ah yea, decruncher-changes, the thing I didn't check /o\
2022-09-29 10:12
Krill

Registered: Apr 2002
Posts: 2969
Quoting Burglar
ah yea, decruncher-changes, the thing I didn't check /o\
You wondered about the slower crunching, though. :)

I guess that stuff would fall more into the domain of the underlying Salvador/ZX0 cruncher that Dali wraps, which probably did have a few changes, too.
2022-09-29 11:08
Bitbreaker

Registered: Oct 2002
Posts: 504
Quote: Quoting Burglar
ah yea, decruncher-changes, the thing I didn't check /o\
You wondered about the slower crunching, though. :)

I guess that stuff would fall more into the domain of the underlying Salvador/ZX0 cruncher that Dali wraps, which probably did have a few changes, too.


Right, dali is just reading in the zx0-stream, reencoding it with swapped lo/hibyte on the lengths, changed bitshift-direction and adding all the stuff that is for good use on c64 side, like a sfx, inplace depacking, load-address handling, cutting the source into pieces, as well as using previous data as dictionary. Overall pretty lean processes compared to crunching :-)
2022-10-24 10:34
Frostbyte

Registered: Aug 2003
Posts: 181
Better late than never... Added v0.3.2 compiled on macOS Mojave to the release: Dali V0.3.2
Previous - 1 | 2 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Didi/Laxity
Low Spirit
Barfly/Extend
REBEL 1/HF
aeeben
Jope/Extend
Malmix/Fatzone
iAN CooG/HVSC
Guests online: 123
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 Wonderland XIV  (9.6)
8 Comaland 100%  (9.6)
9 What Is The Matrix 2  (9.6)
10 The Demo Coder  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Nostalgia  (9.3)
5 Censor Design  (9.3)
Top Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Violator  (9.7)
4 Acidchild  (9.7)
5 Cash  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.041 sec.