[GrafX2] #170: Failed to build GrafX2 on my Mac

109 views
Skip to first unread message

GrafX2

unread,
May 30, 2022, 5:32:17 PM5/30/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
---------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Keywords: mac, make |
---------------------------+------------------------
Hi there :)

I just found GrafX2 and I like it. Unfortunately there are a few issues on
my Mac, for example in window mode the mouse lags. So I checked out the
master branch and tried to build it with make:


{{{
grafX2 🍎 CC=clang API=sdl2 make -j3
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C tools/8x8fonts/
clang -Wall -I/usr/local/Cellar/libpng/1.6.37/include/libpng16 -c -o
generate_png_fonts.o generate_png_fonts.c
mkdir -p ../../bin
clang -L/usr/local/opt/pyt...@3.10/lib
-L/usr/local/Cellar/libpng/1.6.37/lib -o ../../bin/generate_png_fonts
generate_png_fonts.o -lpng16 -lz
../../bin/generate_png_fonts ../../share/grafx2/skins/
GrafX2 unicode font generator
writing ../../share/grafx2/skins/unicode_0390-03C9.png
size : 256x16
writing ../../share/grafx2/skins/unicode_3040-309F.png
size : 256x24
touch .fonts.generated
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C src/
Building dependencies for gfx2mem.c
Building dependencies for gfx2log.c
Building dependencies for gfx2surface.c
echo "const char SVN_revision[]=\"3128\";" > version.c
Building dependencies for pversion.c
Building dependencies for realpath.c
Building dependencies for io.c
Building dependencies for fileseltools.c
Building dependencies for unicode.c
Building dependencies for colorred.c
Building dependencies for op_c.c
Building dependencies for giformat.c
Building dependencies for msxformats.c
Building dependencies for ifformat.c
Building dependencies for cpcformats.c
Building dependencies for c64formats.c
Building dependencies for stformats.c
Building dependencies for motoformats.c
Building dependencies for pngformat.c
if [ -d ../3rdparty ] ; then
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../3rdparty
6502 ; fi
Building dependencies for c64load.c
Building dependencies for tifformat.c
Building dependencies for packbits.c
Building dependencies for loadsavefuncs.c
Building dependencies for libraw2crtc.c
Building dependencies for oldies.c
Building dependencies for fileformats.c
Building dependencies for miscfileformats.c
Building dependencies for tests/tests.c
Building dependencies for tests/testop_c.c
Building dependencies for tests/testmain.c
Building dependencies for tests/testio.c
Building dependencies for tests/testformats.c
Building dependencies for tests/mockui.c
if [ -d ../3rdparty ] ; then
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../3rdparty
recoil ; fi
Building dependencies for tests/mockloadsave.c
Building dependencies for loadrecoil.c
Building dependencies for tiles.c
Building dependencies for layers.c
Building dependencies for buttons_effects.c
Building dependencies for brush_ops.c
Building dependencies for 2gsformats.c
Building dependencies for loadsave.c
Building dependencies for factory.c
Building dependencies for transform.c
Building dependencies for hotkeys.c
Building dependencies for input.c
Building dependencies for mountlist.c
Building dependencies for brush.c
Building dependencies for windows.c
Building dependencies for pxquad.c
Building dependencies for pxwide2.c
Building dependencies for pxtall3.c
Building dependencies for pxtall2.c
Building dependencies for pxtriple.c
Building dependencies for pxdouble.c
Building dependencies for pxwide.c
Building dependencies for pxtall.c
Building dependencies for pxsimple.c
Building dependencies for setup.c
Building dependencies for SFont.c
Building dependencies for text.c
Building dependencies for keyboard.c
Building dependencies for shade.c
Building dependencies for saveini.c
Building dependencies for readini.c
Building dependencies for filesel.c
Building dependencies for engine.c
Building dependencies for readline.c
Building dependencies for pages.c
Building dependencies for operatio.c
Building dependencies for help.c
Building dependencies for palette.c
Building dependencies for buttons.c
Building dependencies for special.c
Building dependencies for osdep.c
Building dependencies for misc.c
Building dependencies for sdlscreen.c
Building dependencies for graph.c
Building dependencies for init.c
Building dependencies for main.c
Building dependencies for version.c
recoil-6.1.1: fetching
https://downloads.sourceforge.net/project/recoil/recoil/6.1.1/recoil-6.1.1.tar.gz
(or http://nanard.free.fr/grafx2/recoil-6.1.1.tar.gz)
cd archives && /usr/local/bin/wget -nv
https://github.com/redcode/6502/releases/download/v0.1/6502-v0.1.tar.xz
2022-05-30 23:23:00 URL:https://objects.githubusercontent.com/github-
production-release-asset-2e65be/15108769/c4ec2e80-e52a-
11e8-9911-302d525c4d0c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-
Credential=AKIAIWNJYAX4CSVEH53A%2F20220530%2Fus-
east-1%2Fs3%2Faws4_request&X-Amz-Date=20220530T212259Z&X-Amz-Expires=300&X
-Amz-
Signature=dc5512da9facd4d7d29fd7197200a008d47a12757bc852a60636ffe608cc159d&X
-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=15108769&response-
content-disposition=attachment%3B%20filename%3D6502-v0.1.tar.xz&response-
content-type=application%2Foctet-stream [22392/22392] ->
"6502-v0.1.tar.xz" [1]
/usr/bin/tar xJf archives/6502-v0.1.tar.xz
cd 6502 ; for p in 6502-illegal-opcode.patch ; do echo "applying $p" ;
patch -p1 < ../$p ; done
applying 6502-illegal-opcode.patch
patching file sources/6502.c
Hunk #1 succeeded at 762 (offset -1 lines).
touch 6502/.ok
cp -v 6502/README ../doc/README-6502.txt
6502/README -> ../doc/README-6502.txt
if [ -f ../3rdparty/6502/sources/6502.c ] ; then cp
../3rdparty/6502/sources/6502.c 6502.c ; fi
if [ -f ../3rdparty/6502/API/emulation/CPU/6502.h ] ; then cp
../3rdparty/6502/API/emulation/CPU/6502.h 6502.h ; fi
Building dependencies for 6502.c
2022-05-30 23:23:01 URL:https://deac-
fra.dl.sourceforge.net/project/recoil/recoil/6.1.1/recoil-6.1.1.tar.gz
[473680/473680] -> "recoil-6.1.1.tar.gz" [1]
/usr/bin/tar xzf archives/recoil-6.1.1.tar.gz
cd recoil-6.1.1 ; for p in ; do echo "applying $p" ; patch -p1 < ../$p ;
done
touch recoil-6.1.1/.ok
cp -v recoil-6.1.1/README ../doc/README-recoil.txt
recoil-6.1.1/README -> ../doc/README-recoil.txt
if [ -f ../3rdparty/recoil-6.1.1/recoil.c ] ; then cp
../3rdparty/recoil-6.1.1/recoil.c recoil.c ; fi
if [ -f ../3rdparty/recoil-6.1.1/recoil.h ] ; then cp
../3rdparty/recoil-6.1.1/recoil.h recoil.h ; fi
Building dependencies for recoil.c
Building dependencies for c64load.c
Building dependencies for loadrecoil.c
Building dependencies for help.c
Compiling main.c
Compiling init.c
Compiling graph.c
Compiling sdlscreen.c
Compiling misc.c
Compiling osdep.c
Compiling special.c
Compiling buttons.c
Compiling palette.c
Compiling help.c
Compiling operatio.c
Compiling pages.c
Compiling readline.c
Compiling engine.c
Compiling filesel.c
Compiling fileseltools.c
Compiling op_c.c
Compiling readini.c
readini.c:887:23: warning: overlapping comparisons always evaluate to true
[-Wtautological-overlap-compare]
if ((values[0]>0) || (values[0]<=2000))
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
readini.c:879:23: warning: overlapping comparisons always evaluate to true
[-Wtautological-overlap-compare]
if ((values[0]>0) || (values[0]<=2000))
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
Compiling saveini.c
2 warnings generated.
Compiling shade.c
Compiling keyboard.c
Compiling io.c
Compiling version.c
Compiling text.c
Compiling SFont.c
Compiling setup.c
Compiling pxsimple.c
Compiling pxtall.c
Compiling pxwide.c
Compiling pxdouble.c
Compiling pxtriple.c
Compiling pxtall2.c
Compiling pxtall3.c
Compiling pxwide2.c
Compiling pxquad.c
Compiling windows.c
Compiling brush.c
Compiling realpath.c
Compiling mountlist.c
Compiling input.c
Compiling hotkeys.c
Compiling transform.c
Compiling pversion.c
make: *** [grafx2] Error 2

}}}


Unfortunately I don't know make well, I cannot find out where the errors
that cause make to exit with Error 2 come from. Btw: Should it be and
instead of or at readini.c:887 and readini.c:879?

I also tried running make with V=1, but I do not get more output:

{{{
grafX2 🍎 CC=clang API=sdl2 make -j3 V=1
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C tools/8x8fonts/
make[1]: Nothing to be done for `all'.
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C src/
make: *** [grafx2] Error 2
}}}

I run Mac OS 11.6.6 (20G624), the make version is: GNU Make 3.81
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170>
GrafX2 <http://pulkomandy.tk/projects/GrafX2>
The ultimate 256-color painting program

GrafX2

unread,
May 31, 2022, 1:23:57 PM5/31/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by Thomas Bernard):

that is strange
what if you run make directly from the src/ subdirectory ?


{{{
$ cd src
$ CC=clang API=sdl2 make

}}}
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:1>

GrafX2

unread,
May 31, 2022, 1:27:33 PM5/31/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by Thomas Bernard):

also have you installed a SDL2 sdk somehow (through brew or macports).
if not, you should go to 3rdparty directory and build it
{{{
$ cd 3rdparty
$ CC=clang API=sdl2 make
}}}
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:2>

GrafX2

unread,
Jun 1, 2022, 2:27:35 AM6/1/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by n.bruenggel@…):

{{{
src 🍎 CC=clang API=sdl2 make
src 🍎 echo $?
2
}}}

humm?
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:3>

GrafX2

unread,
Jun 1, 2022, 2:28:14 AM6/1/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by n.bruenggel@…):

I installed SDL2 through brew:


{{{
src 🍎 brew list | grep sdl
sdl2
sdl2_gfx
sdl2_image
sdl2_net
sdl2_ttf
}}}
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:4>

GrafX2

unread,
Jun 1, 2022, 7:16:29 PM6/1/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by Thomas Bernard):

if there is no error message, I just don't know how to help you.
it looks like it doesn't even try to link.
What's the output of the following commands ? (always from the src/
directory)
{{{
$ CC=clang API=sdl2 make print-BIN
$ CC=clang API=sdl2 make print-MACAPPEXE
}}}
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:5>

GrafX2

unread,
Jun 2, 2022, 2:03:18 AM6/2/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by n.bruenggel@…):

{{{
src 🍎 CC=clang API=sdl2 make print-BIN
BIN = ../bin/grafx2-sdl2
src 🍎 CC=clang API=sdl2 make print-MACAPPEXE
MACAPPEXE = Grafx2.app/Contents/MacOS/Grafx2
}}}

But the files reported by make do not exist. In principle I would just
need to compile and link the files in the src folder which depend on a few
other libs (SDL2 being the most important one), right? If I find some time
I will try to compile with CMake.
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:6>

GrafX2

unread,
Jun 2, 2022, 4:05:28 PM6/2/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by Thomas Bernard):

../bin/grafx2-sdl2 is indeed the linked binary that makes doesn't even try
to build.
you should find the .o files in ../obj/macosx-sdl2
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:7>

GrafX2

unread,
Jun 18, 2022, 2:31:32 AM6/18/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Changes (by n.bruenggel@…):

* Attachment "CMakeLists.txt" added.

Quickly hacked together CMake file.

GrafX2

unread,
Jun 18, 2022, 2:32:45 AM6/18/22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by n.bruenggel@…):

In case anyone is interested in this: I got it to compile on my Mac using
a quickly hacked together CMake file (see attachment).
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:8>

GrafX2

unread,
Mar 22, 2025, 9:19:35 AMMar 22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by john.brandwood@…):

FWIW, I've been using grafx2 on my Intel Mac Mini, and the "homebrew"
installer has recently decided to install a 2-year-old version of grafx2
2.8 that seems to be broken ...

https://pulkomandy.tk/projects/GrafX2/downloads/71

So I tried to build the latest grafx2 source from gitlab, and eventually
hit the same problem as the poster reported here, in that the Mac's old
version of GNU Make 3.81 doesn't like something in grafx2's Makefile.

Anyway, I tracked down the problem, which seems to be cause by the order
of "default" rules in the Makefile, and having 2 different rules define
what to do with "%.c" files.

I have fixed this, and made a couple of other tiny changes, and now have
the Makefile producing a working SDL2 build for the modern Mac. Note that
this isn't a Mac "app", it's just a normal executable in the
"/usr/local/bin/" directory that doesn't need to go through the code-
signing process because it is created locally (like most "homebrew"
installs).

The Makefile still works for other builds (tested on Windows), and it
should disrupt the older Mac "app" builds for ancient Mac platforms.

Would you be interested in me sending you a pull-request on gitlab with
the changes?
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:9>

GrafX2

unread,
Mar 22, 2025, 9:27:36 AMMar 22
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by john.brandwood@…):

Sorry, typo earlier "and it should NOT disrupt the older Mac "app" builds
for ancient Mac platforms."

FWIW, I tried to build on the Mac using the recent Xcode project, and it
was a complete nightmare that I couldn't get working. I may attempt to fix
that now that I have some idea of how to make a working SDL2 build for the
Mac.
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:10>

GrafX2

unread,
Mar 23, 2025, 2:59:24 AMMar 23
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by PulkoMandy):

> Would you be interested in me sending you a pull-request on gitlab with
the changes?

Yes please!

I don't have any way to test this on Mac OS, and every person who tries to
build it seems to have a different problem or a different idea how it
should be done. And we have not been able to find someone who would
maintain it for very long and keep it working.
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:11>

GrafX2

unread,
Mar 23, 2025, 12:00:44 PMMar 23
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: new
Priority: major | Milestone: 2.8
Component: GrafX2 | Version:
Resolution: | Keywords: mac, make
----------------------------+------------------------
Comment (by john.brandwood@…):

I'll keep on trying to get the Xcode project working, I'm nearly there
now!

So it'll be a few days before I send a pull-request.

Yes, I assumed that you folks weren't really Mac users ... neither am I, I
just got a Mac because I don't want to use Windows 11 after Windows 10
becomes EOL this year.

I maintain a few Open Source projects myself, so I assume that you want
any Mac build to cause you the least amount of trouble and maintenance
effort that it possibly can ...

Which means using your existing Makefile build (if possible), depending
upon existing library builds of other projects (such as SDL2/SDL3) rather
than having to build your own versions of those libraries, and not having
to pay Apple money every year for a code-signing certificate just so that
you can give away a free project!

All of those criteria suggest to me that it makes the most sense to
leverage the huge amount of effort put in by the "homebrew" developers in
making the Mac as unix-like as possible, and then creating a "brew" script
that builds Grafx2 from source on the Mac so that you don't have to worry
about doing it yourselves.

Best wishes,

John
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:12>

GrafX2

unread,
Mar 24, 2025, 7:40:26 AMMar 24
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: closed
Priority: major | Milestone: 2.8
Component: GrafX2 | Version: 2.10
Resolution: fixed | Keywords: mac, make
----------------------------+------------------------
Changes (by PulkoMandy):

* resolution: => fixed
* status: new => closed
* version: => 2.10

Comment:

I certainly don't want to give money to Apple :)

For the other parts, I don't really mind, anyone who wants to handle the
Mac version is welcome to do whatever they think is appropriate.

The Windows version downloads and builds all the dependencies from sources
because there are so many toolchains for Windows, it is very hard to reuse
existing pre-built libraries. I don't know how it is on Mac. Having a
standard app would be nice, of course, but I will not do it myself for
lack of access to Apple hardware.

Ideally, it may be possible to build things using Gitlab-CI pipelines, and
then we would be able to provide some downloadable version from GrafX2
website for all future versions (whereas if we depend on someone to build
it, that only lasts for as long as they're willing to do it).

Anyways, the patch has been merged, so I think this ticket can be closed.
Thanks for fixing it!
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:13>

GrafX2

unread,
Mar 24, 2025, 3:44:04 PMMar 24
to gra...@googlegroups.com
#170: Failed to build GrafX2 on my Mac
----------------------------+------------------------
Reporter: n.bruenggel@… | Owner: pulkomandy
Type: defect | Status: closed
Priority: major | Milestone: 2.8
Component: GrafX2 | Version: 2.10
Resolution: fixed | Keywords: mac, make
----------------------------+------------------------
Comment (by john.brandwood@…):

Urrgghh, I hate to be the bearer of bad news, but I've had a friend test
the build on his shiny-new ARM Mac, and it's not working.

He's offered to lend me an older M1 Mac so that I can fix whatever is
broken, but that'll probably take a while.

I'm sorry that my "fix" isn't as good as I had hoped, it seems as though
the ARM Macs behave just a bit differently to the Intel Macs.
--
Ticket URL: <http://pulkomandy.tk/projects/GrafX2/ticket/170#comment:14>

DigitalPoseidon

unread,
Jul 11, 2025, 2:23:16 AMJul 11
to GrafX2
Hello
I have an M2 and I can test or fix the code to make it build and run, but I need some guidance.
I have some little experience with C and compilation, so I can "partially" understand what is going on.
What kind of tweaks would an M2 need to have the build compiled 100%?

John Brandwood

unread,
Jul 26, 2025, 1:45:58 PMJul 26
to GrafX2
The problem is that nobody that currently has an M1 or newer Mac has been able to get the current changes to build, and nobody knows why the build is failing, so nobody call tell you what to do in order to fix the build.

I only have an Intel Mac which is building Grafx2 correctly (under Sequoia), and I'm still waiting for my friend to send me an old M1 Mac so that I can figure out what the problem is on the newer hardware.

Even then, that's just the main "makefile" build.

In order to create a Mac App you need to build with Xcode in order to make a code-signed and bundled App package that the Mac will execute, and even then it will only run on the computer that built it unless someone pays money to get a code-signing certificate from Apple.

The only sane fix that I can see for Mac users longterm is to create a working Xcode project, and then submit that to the Brew team as a "cask" or "formula" so that Grafx2 can be built locally by all Mac Grafx2 users.

I don't see how that can be done by someone that doesn't have both an Intel and an ARM Mac, and then only with the cooperation of the main Grafx2 developers because it will need to be the "official" Grafx2 solution to the problem in order for the Brew team to accept it.

Best wishes,

John

Digital Poseidon

unread,
Jul 29, 2025, 9:10:40 AMJul 29
to gra...@googlegroups.com
Hi,
thanks for the infos.

Ok, let’s start one step at the time:
the first problem I have found is this zip library, I get a pgp error and I do not understand why.
Do you get the same?


Cheers
David

--

---
You received this message because you are subscribed to the Google Groups "GrafX2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grafx2+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/grafx2/dabe21b1-42bf-40b9-b636-034da116ab65n%40googlegroups.com.

Digital Poseidon

unread,
Jul 29, 2025, 9:10:45 AMJul 29
to gra...@googlegroups.com
Ok,

for me in order to compile Grafx2 I suppose I need to first compile 3rd party libraries.
When I do that I get this build error:


[27/07/25 > 8:20:49.757]digitalvanilla@Starlight 3rdparty % make

libpng-1.6.50: fetching https://download.sourceforge.net/libpng/libpng-1.6.50.tar.gz (or http://sourceforge.mirrorservice.org/l/project/project/li/libpng/libpng16/1.6.50/libpng-1.6.50.tar.gz

https://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.50/libpng-1.6.50.tar.gz?viasf=1 downloaded to libpng-1.6.50.tar.gz in 18.150419 seconds

/usr/bin/tar xzf archives/libpng-1.6.50.tar.gz

cd libpng-1.6.50 ; for p in  ; do echo "applying $p" ; patch -p1 < ../$p ; done

touch libpng-1.6.50/.ok

zlib-1.3.1: fetching https://www.zlib.net/zlib-1.3.1.tar.gz (or http://downloads.sourceforge.net/project/libpng/zlib/1.3.1/zlib-1.3.1.tar.gz) zlib-1.3.1.tar.gz.asc

https://www.zlib.net/zlib-1.3.1.tar.gz downloaded to zlib-1.3.1.tar.gz in 2.684720 seconds

https://www.zlib.net/zlib-1.3.1.tar.gz.asc downloaded to zlib-1.3.1.tar.gz.asc in 0.838911 seconds

gpg: assuming signed data in 'zlib-1.3.1.tar.gz'

gpg: Signature made Tue Jan 23 02:38:31 2024 +07

gpg:                using DSA key 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

gpg: Can't check signature: No public key

make: *** [archives/zlib-1.3.1.tar.gz] Error 1


and if I want to just go straight into business and compile the makefile in the root of the project I get this error:

[27/07/25 > 8:22:24.523]digitalvanilla@Starlight grafX2 % make

/Applications/Xcode.app/Contents/Developer/usr/bin/make -C tools/8x8fonts/

cc -Wall -I/opt/homebrew/opt/libpng/include/libpng16   -c -o generate_png_fonts.o generate_png_fonts.c

generate_png_fonts.c:28:10: fatal error: 'font8x8/font8x8_greek.h' file not found

   28 | #include "font8x8/font8x8_greek.h"

      |          ^~~~~~~~~~~~~~~~~~~~~~~~~

1 error generated.

make[1]: *** [generate_png_fonts.o] Error 1

make: *** [unicodefonts] Error 2


So we have quite a few things to fix, step by step.

I have XCode, I tried to build but I saw some files missing like version.c and files inside 3rd Party folder.

David

On Jul 26, 2025, at 11:58 PM, John Brandwood <john.br...@telzey.com> wrote:

Adrien Destugues

unread,
Jul 29, 2025, 10:12:29 AMJul 29
to gra...@googlegroups.com
For the second error, you probably did not intialize the submodule correctly:

git submodule update --init

This will add the "pic-samples" directory with various example images and also some fonts that we need to convert to a special format for the UI (to handle many unicode characters).

-- 
Adrien.

DigitalPoseidon

unread,
Jul 29, 2025, 9:53:59 PMJul 29
to GrafX2
just tried and i get this:

[30/07/25 > 7:43:15.746]digitalvanilla@Starlight macOS % git submodule update --init

Submodule 'tests/pic-samples' (https://gitlab.com/GrafX2/pic-samples.git) registered for path '../../tests/pic-samples'

Submodule 'tools/8x8fonts/font8x8' (https://github.com/dhepper/font8x8) registered for path '../../tools/8x8fonts/font8x8'

Cloning into '/Users/digitalvanilla/grafX2/tests/pic-samples'...

Cloning into '/Users/digitalvanilla/grafX2/tools/8x8fonts/font8x8'...

error: unable to create file amiga_icons/16colors/FreshIcons/Drawers/DF?.info: Illegal byte sequence

fatal: Unable to checkout '40738b358a5a5cb33d54897b008cbccad98e63d6' in submodule path '../../tests/pic-samples'

Submodule path '../../tools/8x8fonts/font8x8': checked out '592f4119ee38ccfdf61d8c8c0e41a48d2d370324'

DigitalPoseidon

unread,
Jul 29, 2025, 9:54:05 PMJul 29
to GrafX2
Ok,
I was able to see the sample pics. Now Im fighting to install all the libraries SDl, tiff etc...

On Tuesday, July 29, 2025 at 9:12:29 PM UTC+7 Adrien Destugues wrote:

DigitalPoseidon

unread,
Jul 29, 2025, 9:55:02 PMJul 29
to GrafX2
Ok, I have some stuff to fogure it out how to get the sdl/sdl2 frameworks, alsoi tiff I get error of include.
So, yeah, quite a few steps to go before I can compile it properly.
Hopefully soon because this Aseprite is getting on my nerves seriously.

On Tuesday, July 29, 2025 at 9:12:29 PM UTC+7 Adrien Destugues wrote:

DigitalPoseidon

unread,
Jul 30, 2025, 3:06:42 AMJul 30
to GrafX2
Ok, I have every library installed, but I get error missing includes for SDL.h, SDL_ttf.h...

On Tuesday, July 29, 2025 at 9:12:29 PM UTC+7 Adrien Destugues wrote:

DigitalPoseidon

unread,
Jul 30, 2025, 10:33:13 AMJul 30
to GrafX2
Ok, I think Im almost there. I had to do triple backflips with twisted ankles :)
SDL in position, all the libraries in position, fixed on "assert" compile error as well, the last thing is this Lua.
Ive added the xcframework+headers and I have this errors and I think I am stuck at this point:

Undefined symbols for architecture arm64:

  "_PackBytes_pack_add", referenced from:

      _Save_2GS in 2gsformats.o

  "_PackBytes_pack_flush", referenced from:

      _Save_2GS in 2gsformats.o

  "_PackBytes_pack_init", referenced from:

      _Save_2GS in 2gsformats.o

  "_assert", referenced from:

      _GtiaRenderer_DrawSpan in recoil.o

      -[SDLMain setupWorkingDirectory:] in SDLMain.o

      _Button_Load_or_Save in filesel.o

      _Save_PNG_Sub in pngformat.o

ld: symbol(s) not found for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

On Tuesday, July 29, 2025 at 9:12:29 PM UTC+7 Adrien Destugues wrote:

Digital Poseidon

unread,
Jul 30, 2025, 9:11:04 PMJul 30
to gra...@googlegroups.com
Almost there, but this LUA is a pain in the arse.
I dunno how to fix this.
I have installed this library for lua: https://github.com/apotocki/lua-iosx.git

Screenshot 2025-07-31 at 8.06.18 AM.pngScreenshot 2025-07-31 at 8.06.22 AM.png

On Jul 26, 2025, at 11:58 PM, John Brandwood <john.br...@telzey.com> wrote:

Digital Poseidon

unread,
Aug 1, 2025, 11:50:11 PMAug 1
to gra...@googlegroups.com
I think I am almost there, but this LUA is a pain in the arse.
How can I fix this errors? I think I am truly stuck now.

On Jul 26, 2025, at 11:58 PM, John Brandwood <john.br...@telzey.com> wrote:

Digital Poseidon

unread,
Aug 2, 2025, 3:21:53 AMAug 2
to gra...@googlegroups.com
I DID IT!!!! 🎉🎉🎉🎉🎉🎉🎉🎉

one C class (packbytes.c) was missing to be added in the project!  

Screenshot 2025-08-02 at 11.13.01 AM (2).png


Ok, what should I do now? Send you the XCode project folder fully zipped?

😎
Lynx

On Jul 26, 2025, at 11:58 PM, John Brandwood <john.br...@telzey.com> wrote:

DigitalPoseidon

unread,
Aug 2, 2025, 3:45:38 AMAug 2
to GrafX2
this is the build in debug mode, but is working fine
https://drive.google.com/file/d/1sntH-cnF45hDw_edgMZW7KLJWDQyGMBh/view?usp=sharing

Adrien Destugues

unread,
Aug 3, 2025, 4:16:33 AMAug 3
to gra...@googlegroups.com


2 août 2025 à 06:18 "Digital Poseidon" <digital...@gmail.com> a écrit:

I DID IT!!!! 🎉🎉🎉🎉🎉🎉🎉🎉

one C class (packbytes.c) was missing to be added in the project!  
Ok, what should I do now? Send you the XCode project folder fully zipped?

😎
Lynx

Please send any files you have modified. If in doubt, just send everything.

Also, which version of the sources did you work from? The latest release, or the version from the nightly builds? It will help integrating things in the source to know where you started from.

Thanks for your help with this!
-- 
Adrien / PulkoMandy

DigitalPoseidon

unread,
Aug 3, 2025, 5:02:39 AMAug 3
to GrafX2
I send everything, is better: https://drive.google.com/file/d/1HTzy9o0-mEO_gnoSEm-q7pYatImXZ6qQ/view?usp=sharing

I used the master branch from gitlab repo. I have also forked now the repo and I will make a proper clean up project.
I wish I could use SDL2, but I hope you guys will be able to add SDL2 library and make the offical release as well with it,
so I can start to tweak the code with new stuff. I have some ideas to rewrite the UI and add more features.

ps: I made the list of formats in alphabetical order when saving a file, for me is better and it works great with this ancient brain I have 😁

DigitalPoseidon

unread,
Aug 3, 2025, 9:26:04 PMAug 3
to GrafX2
I was able to include SDL2 but I get many errors of missing properties here and there. The library did change alot. Also now we have SDL3, would be interesting to see what's the impact on performances and changes.

On Sunday, August 3, 2025 at 3:16:33 PM UTC+7 Adrien Destugues wrote:

Adrien Destugues

unread,
Aug 4, 2025, 7:18:18 AMAug 4
to gra...@googlegroups.com
From a quick look at the changes:

- The XCode project changes the minimum supported Mac OS version. I'm not sure if that's important, but if possible I would keep compatibility with older Mac OS versions.
- You have changed many include paths to SDL files in the sources. This is likely incorrect and will break building on other platforms. Instead the XCode project should define the correct include paths.
- SDL 2 is already supported in GrafX2 code. Maybe the XCode project was not updated for this, but with the Makefiles it's possible to select SDL2 if you want. I think most Liunx and Windows builds use it now. SDL 1.2 is kept only for platforms that didn't get anything newer (Amiga, GP2x, ...).
- I'm not sure what the sorting was for the format list, but I think we should keep GIF first, as it is the "native" format for GrafX2 (where all layers will be preserved, etc). For the others, at some point there was a distinction for palette-only and also load-only or save-only formats, but now our load and save support is more complete and maybe this was not completely adjusted. Separators in the list could probably help.
--

---
You received this message because you are subscribed to the Google Groups "GrafX2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grafx2+un...@googlegroups.com.

DigitalPoseidon

unread,
Aug 5, 2025, 2:46:37 AMAug 5
to GrafX2
Yeah I made a small mess. I was sick last week and I could not mentally follow a clean process, so I began to throw everything until it did work :)
I wish to start with a clean project and start to add slowly everything until it is working.
I 've used the latest SDL2 version, they have changed something there the app does not work properly, is not just XCode version deployment.

miniupnp

unread,
Aug 10, 2025, 2:00:57 PMAug 10
to DigitalPoseidon, gra...@googlegroups.com
Hello,

I have started to add support for SDL3, that is not that straight forward ;)

Regards,

Thomas
--

---
You received this message because you are subscribed to the Google Groups "GrafX2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grafx2+un...@googlegroups.com.

miniupnp

unread,
Aug 10, 2025, 2:04:19 PMAug 10
to gra...@googlegroups.com
Hello.

A few years ago I created a Mac Ports port for GrafX2 : 
https://ports.macports.org/port/grafx2/

There is also a brew formula : 
https://formulae.brew.sh/cask/grafx

I guess they don't work for ARM64 macs, right ?
--

---
You received this message because you are subscribed to the Google Groups "GrafX2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grafx2+un...@googlegroups.com.

DigitalPoseidon

unread,
Aug 10, 2025, 9:16:10 PMAug 10
to GrafX2
Of course, I understand that they have changed tons of stuff.
I have included in myXCode test project the last SDL2, but it give me errors of missing properties and other stuff,
and cannot compile it.

DigitalPoseidon

unread,
Aug 10, 2025, 9:16:15 PMAug 10
to GrafX2
Does not run from my MacAir M2.
I tried to compile using the default scripts from the main branch, but I got errors
and then I decided to go manually with XCode to compile it from it and fix all the errors.
Now I have 2.9 in my Mac M2 fully working 🥳

Digital Poseidon

unread,
Aug 20, 2025, 2:44:14 AMAug 20
to gra...@googlegroups.com
Hi John!

I wish to make a fork of Grafx2 and start to think to make Grafx3 with a modern UI.
What do you think?
But to dev only for Linux/Mac/Windows.


David

On Jul 26, 2025, at 11:58 PM, John Brandwood <john.br...@telzey.com> wrote:

Reply all
Reply to author
Forward
0 new messages