RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    ZEsarUX 12, Pi5, arm64 fails to compile

    Scheduled Pinned Locked Moved Help and Support
    zesaruxcompilefailedzesarux 12
    8 Posts 3 Posters 364 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 2Play2
      2Play
      last edited by

      Does anyone managed to compile the latest ZEsarUX 12 from scriptmodule or source?
      It fails during compile
      .configure works ok

      Your friend,
      2Play!

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        Works here.

        2Play2 1 Reply Last reply Reply Quote 0
        • 2Play2
          2Play @mitu
          last edited by

          @mitu hello and thank you for your reply
          Unfo I cant compile here and the precompiled pi binary from git not running on my arm64

          I can retry and post the log info to show what I mean.

          in the meantime, could you share just the zesarux arm64 binary so I can test on my UBUNTU arm64 for pi5?

          Your friend,
          2Play!

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @2Play
            last edited by

            @2Play said in ZEsarUX 12, Pi5, arm64 fails to compile:

            in the meantime, could you share just the zesarux arm64 binary so I can test on my UBUNTU arm64 for pi5?

            I don't have it anymore, but if you'd like to solve the issue you can post the error you get during building on pastebin.com or - if it's not too large - here in the topic.

            2Play2 1 Reply Last reply Reply Quote 0
            • 2Play2
              2Play @mitu
              last edited by

              @mitu ill paster here the beg and end as aslo in pastebin i got the exceeding 512KB warning

              
              = = = = = = = = = = = = = = = = = = = = =
              Getting sources for 'zesarux' : ZX Spectrum emulator ZEsarUX
              = = = = = = = = = = = = = = = = = = = = =
              
              git clone --recursive --depth 1 --shallow-submodules --branch ZEsarUX-12.0 "https://github.com/chernandezba/zesarux.git" "/home/pi/RetroPie-Setup/tmp/build/zesarux"
              Cloning into '/home/pi/RetroPie-Setup/tmp/build/zesarux'...
              Note: switching to '96174b38ae7ccd9fea2f3a3c224c4341bfefd6e0'.
              
              You are in 'detached HEAD' state. You can look around, make experimental
              changes and commit them, and you can discard any commits you make in this
              state without impacting any branches by switching back to a branch.
              
              If you want to create a new branch to retain commits you create, you may
              do so (now or later) by using -c with the switch command. Example:
              
                git switch -c <new-branch-name>
              
              Or undo this operation with:
              
                git switch -
              
              Turn off this advice by setting config variable advice.detachedHead to false
              
              HEAD is now in branch 'HEAD' at commit '96174b38ae7ccd9fea2f3a3c224c4341bfefd6e0'
              /home/pi
              /home/pi/RetroPie-Setup/tmp/build/zesarux /home/pi
              
              = = = = = = = = = = = = = = = = = = = = =
              Building 'zesarux' : ZX Spectrum emulator ZEsarUX
              = = = = = = = = = = = = = = = = = = = = =
              
              
              Configuration script for ZEsarUX
              
              Initial CFLAGS= -mcpu=cortex-a76 -O2
              Initial LDFLAGS=
              Checking Operating system ... GNU/Linux
              Checking if 32 bit Linux ... no
              Checking for gcc compiler ... /usr/bin/gcc
              Checking size of char ... 1
              Checking size of short ... 2
              Checking size of int ... 4
              Checking size of long long int ... 8
              Checking Little Endian System ... ok
              Checking for stdout functions ... found
              Checking for simpletext functions ... found
              Checking for fbdev functions ... found
              Checking for cursesw libraries ... found
              Checking for curses libraries ... found
              Checking for aa libraries ... not found
              Checking for caca libraries ... found
              Checking for SSL libraries ... found
              Checking for xwindows libraries ... found
              Checking for xwindows extensions ... found
              Checking for xwindows vidmode extensions ... found
              Checking for posix threads ... found
              Checking for audio dsp ... found
              Checking for audio onebitspeaker ... not found
              Checking for audio alsa ... found
              Checking for audio pulse ... disabled
              Checking for coreaudio ... not found
              Checking for Cocoa Mac OS X GUI ... not found
              Checking for sdl2 libraries ... found
              Checking for libsndfile ... found
              Checking for linux real joystick ... found
              
              Final CFLAGS= -mcpu=cortex-a76 -O2 -fsigned-char -I. -Iaudio -Icopy_interfaces -Icores -Icpus -Imachines -Imenu -Isnap -Istorage -Isoundchips -Ithird_party -Ivideo -Ivideo_chips -Izrcp -Izxvision -I/usr/include/ncursesw -D_GNU_SOURCE -D_DEFAULT_SOURCE
              Final LDFLAGS= -lncursesw -lcaca -lssl -lcrypto -lX11 -L/usr/X11R6/lib -L/opt/X11/lib -lXext -lXxf86vm -lpthread -lasound -lSDL2 -lsndfile -lpthread
              Creating Makefile
              Creating compileoptions.h
              
              Config files successfully generated by ./configure
              
               Enabled Video output drivers: stdout simpletext curses cursesw caca xwindows sdl2 fbdev null
               Disabled Video output drivers: aa cocoa 
               Enabled Audio output drivers: dsp alsa sdl2 null
               Disabled Audio output drivers: onebitspeaker pulse coreaudio 
               Enabled Audio File output drivers: raw wav 
               Disabled Audio File output drivers: 
               Pthreads support: yes
               SSL support: yes
               Networking support: yes
               Remote command protocol support: yes
               Linux real joystick support: yes
               MEMPTR emulation: yes
               Visual memory option: yes
               CPU statistics option: yes
               Raspberry extensions: no
               Contended memory emulation: yes
               Putpixel cache: yes
               Spectrum default core: Normal
              
              Install prefix: /opt/retropie/emulators/zesarux
              
              rm -f *.o zesarux zesarux.exe smpatap sp_z80 tapabin bin_sprite_to_c leezx81 lee_hilow_datadrive_audio file_to_eprom bmp_to_prism_4_planar bmp_to_sprite spedtotxt install.sh
              rm -fR bintargztemp/ sourcetargztemp/ ZEsarUX_win-12.0/
              rm -fR macos/zesarux.app
              rm -f macos/zesarux-noncompressed.dmg
              rm -f macos/zesarux-noncompressed.dmg.gz
              rm -f macos/ZEsarUX_macos-12.0.dmg
              rm -f ZEsarUX_Linux-12.0_aarch64.tar.gz
              rm -f ZEsarUX_src-12.0.tar.gz
              rm -f ZEsarUX_win-12.0.zip
              rm -f ZEsarUX_extras-12.0.zip
              gcc -mcpu=cortex-a76 -O2 -fsigned-char -I. -Iaudio -Icopy_interfaces -Icores -Icpus -Imachines -Imenu -Isnap -Istorage -Isoundchips -Ithird_party -Ivideo -Ivideo_chips -Izrcp -Izxvision -I/usr/include/ncursesw -D_GNU_SOURCE -D_DEFAULT_SOURCE -c charset.c
              gcc -mcpu=cortex-a76 -O2 -fsigned-char -I. -Iaudio -Icopy_interfaces -Icores -Icpus -Imachines -Imenu -Isnap -Istorage -Isoundchips -Ithird_party -Ivideo -Ivideo_chips -Izrcp -Izxvision -I/usr/include/ncursesw -D_GNU_SOURCE -D_DEFAULT_SOURCE -c video/scrstdout.c
              gcc -mcpu=cortex-a76 -O2 -fsigned-char -I. -Iaudio -Icopy_interfaces -Icores -Icpus -Imachines -Imenu -Isnap -Istorage -Isoundchips -Ithird_party -Ivideo -Ivideo_chips -Izrcp -Izxvision -I/usr/include/ncursesw -D_GNU_SOURCE -D_DEFAULT_SOURCE -c video/scrsimpletext.c
              gcc -mcpu=cortex-a76 -O2 -fsigned-char -I. -Iaudio -Icopy_interfaces -Icores -Icpus -Imachines -Imenu -Isnap -Istorage -Isoundchips -Ithird_party -Ivideo -Ivideo_chips -Izrcp -Izxvision -I/usr/include/ncursesw -D_GNU_SOURCE -D_DEFAULT_SOURCE -c video/scrcurses.c
              In file included from ./cpu.h:25,
                               from video/scrsimpletext.h:25,
                               from video/scrsimpletext.c:25:
              ./compileoptions.h:31:36: warning: missing terminating " character
                 31 | #define COMPILATION_SYSTEM_RELEASE "Armbian_community 25.5.0-trunk.4 noble
                    |                                    ^
              ./compileoptions.h:32:19: error: too many decimal points in number
                 32 | Armbian_community 25.5.0-trunk.4 noble"
                    |                   ^~~~~~
              ./compileoptions.h:32:19: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before numeric constant
              ./compileoptions.h:32:39: warning: missing terminating " character
                 32 | Armbian_community 25.5.0-trunk.4 noble"
                    |                                       ^
              ./compileoptions.h:32:39: error: missing terminating " character
              ./cpu.h:101:12: error: unknown type name ‘z80_byte’
                101 |   struct { z80_byte l,h; } b;
                    |            ^~~~~~~~
              ./cpu.h:138:8: error: unknown type name ‘z80_byte’
                138 | extern z80_byte reg_i;
                    |        ^~~~~~~~
              ./cpu.h:139:8: error: unknown type name ‘z80_byte’
                139 | extern z80_byte reg_r,reg_r_bit7;
                    |        ^~~~~~~~
              ./cpu.h:143:8: error: unknown type name ‘z80_byte’
                143 | extern z80_byte reg_h_shadow,reg_l_shadow;
                    |        ^~~~~~~~
              ./cpu.h:144:8: error: unknown type name ‘z80_byte’
                144 | extern z80_byte reg_b_shadow,reg_c_shadow;
                    |        ^~~~~~~~
              ./cpu.h:145:8: error: unknown type name ‘z80_byte’
                145 | extern z80_byte reg_d_shadow,reg_e_shadow;
                    |        ^~~~~~~~
              ./cpu.h:146:8: error: unknown type name ‘z80_byte’
                146 | extern z80_byte reg_a_shadow;
                    |        ^~~~~~~~
              ./cpu.h:161:8: error: unknown type name ‘z80_byte’
                161 | extern z80_byte reg_a;
                    |        ^~~~~~~~
              ./cpu.h:166:8: error: unknown type name ‘z80_byte’
                166 | extern z80_byte Z80_FLAGS;
                    |        ^~~~~~~~
              ./cpu.h:167:8: error: unknown type name ‘z80_byte’
                167 | extern z80_byte Z80_FLAGS_SHADOW;
                    |        ^~~~~~~~
              ./cpu.h:180:8: error: unknown type name ‘z80_byte’
                180 | extern z80_byte scf_ccf_undoc_flags_before;
                    |        ^~~~~~~~
              ./cpu.h:185:8: error: unknown type name ‘z80_byte’
                185 | extern z80_byte z80_last_data_transferred_ot_in;
                    |        ^~~~~~~~
              ./cpu.h:192:8: error: unknown type name ‘z80_byte’
                192 | extern z80_byte im_mode;
                    |        ^~~~~~~~
              ./cpu.h:219:8: error: unknown type name ‘z80_byte’
                219 | extern z80_byte puerto_65278; //    db    255  ; V    C    X    Z    Sh    ;0
                    |        ^~~~~~~~
              ./cpu.h:220:8: error: unknown type name ‘z80_byte’
                220 | extern z80_byte puerto_65022; //    db    255  ; G    F    D    S    A     ;1
                    |        ^~~~~~~~
              ./cpu.h:221:8: error: unknown type name ‘z80_byte’
                221 | extern z80_byte puerto_64510; //    db              255  ; T    R    E    W    Q     ;2
                    |        ^~~~~~~~
              ./cpu.h:222:8: error: unknown type name ‘z80_byte’
                222 | extern z80_byte puerto_63486; //    db              255  ; 5    4    3    2    1     ;3
                    |        ^~~~~~~~
              ./cpu.h:223:8: error: unknown type name ‘z80_byte’
                223 | extern z80_byte puerto_61438; //    db              255  ; 6    7    8    9    0     ;4
                    |        ^~~~~~~~
              ./cpu.h:224:8: error: unknown type name ‘z80_byte’
                224 | extern z80_byte puerto_57342; //    db              255  ; Y    U    I    O    P     ;5
                    |        ^~~~~~~~
              ./cpu.h:225:8: error: unknown type name ‘z80_byte’
                225 | extern z80_byte puerto_49150; //    db              255  ; H                J         K      L    Enter ;6
                    |        ^~~~~~~~
              ./cpu.h:226:8: error: unknown type name ‘z80_byte’
                226 | extern z80_byte puerto_32766; //    db              255  ; B    N    M    Simb Space ;7
                    |        ^~~~~~~~
              ./cpu.h:227:8: error: unknown type name ‘z80_byte’
                227 | extern z80_byte puerto_especial1;
                    |        ^~~~~~~~
              ./cpu.h:228:8: error: unknown type name ‘z80_byte’
                228 | extern z80_byte puerto_especial2;
                    |        ^~~~~~~~
              ./cpu.h:229:8: error: unknown type name ‘z80_byte’
                229 | extern z80_byte puerto_especial3;
                    |        ^~~~~~~~
              ./cpu.h:230:8: error: unknown type name ‘z80_byte’
                230 | extern z80_byte puerto_especial4;
                    |        ^~~~~~~~
              ./cpu.h:244:8: error: unknown type name ‘z80_byte’
                244 | extern z80_byte *memoria_spectrum;
                    |        ^~~~~~~~
              ./cpu.h:247:8: error: unknown type name ‘z80_byte’
                247 | extern z80_byte current_machine_type;
                    |        ^~~~~~~~
              ./cpu.h:255:41: error: unknown type name ‘z80_byte’; did you mean ‘z80_bit’?
                255 | extern void set_undocumented_flags_bits(z80_byte value);
                    |                                         ^~~~~~~~
                    |                                         z80_bit
              In file included from ./cpu.h:25,
                               from zxvision/zxvision.h:27,
                               from charset.c:33:
              ./compileoptions.h:31:36: warning: missing terminating " character
                 31 | #define COMPILATION_SYSTEM_RELEASE "Armbian_community 25.5.0-trunk.4 noble
                    |                                    ^
              ./compileoptions.h:32:19: error: too many decimal points in number
                 32 | Armbian_community 25.5.0-trunk.4 noble"
                    |                   ^~~~~~
              ./compileoptions.h:32:19: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before numeric constant
              ./cpu.h:256:33: error: unknown type name ‘z80_byte’; did you mean ‘z80_bit’?
                256 | extern void set_flags_zero_sign(z80_byte value);
                    |                                 ^~~~~~~~
                    |                                 z80_bit
              ./compileoptions.h:32:39: warning: missing terminating " character
                 32 | Armbian_community 25.5.0-trunk.4 noble"
                    |                                       ^
              ./compileoptions.h:32:39: error: missing terminating " character
              ./cpu.h:101:12: error: unknown type name ‘z80_byte’
                101 |   struct { z80_byte l,h; } b;
                    |            ^~~~~~~~
              -------------------
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    |                                                                                        scrcurses_refresca_pantalla_common_fun_saltolinea
              video/scrcurses.c:1406:9: error: unknown type name ‘z80_byte’; did you mean ‘z80_bit’?
               1406 |         z80_byte modo_video=tsconf_get_video_mode_display();
                    |         ^~~~~~~~
                    |         z80_bit
              video/scrcurses.c:1408:13: warning: implicit declaration of function ‘scr_refresca_pantalla_tsconf_text_textmode’ [-Wimplicit-function-declaration]
               1408 |             scr_refresca_pantalla_tsconf_text_textmode(scrcurses_refresca_pantalla_common_fun_color,scrcurses_refresca_pantalla_common_fun_caracter,scrcurses_refresca_pantalla_common_fun_saltolinea,23);
                    |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              video/scrcurses.c: At top level:
              video/scrcurses.c:1672:35: error: unknown type name ‘z80_byte’; did you mean ‘z80_bit’?
               1672 | void scrcurses_detectedchar_print(z80_byte caracter)
                    |                                   ^~~~~~~~
                    |                                   z80_bit
              video/scrcurses.c: In function ‘scrcurses_init’:
              video/scrcurses.c:1780:5: error: ‘scr_putchar_zx8081’ undeclared (first use in this function); did you mean ‘scr_putsprite_zx8081’?
               1780 |     scr_putchar_zx8081=scrcurses_putchar_zx8081;
                    |     ^~~~~~~~~~~~~~~~~~
                    |     scr_putsprite_zx8081
              video/scrcurses.c:1780:24: error: ‘scrcurses_putchar_zx8081’ undeclared (first use in this function)
               1780 |     scr_putchar_zx8081=scrcurses_putchar_zx8081;
                    |                        ^~~~~~~~~~~~~~~~~~~~~~~~
              video/scrcurses.c:1783:5: error: ‘scr_putchar_menu’ undeclared (first use in this function)
               1783 |     scr_putchar_menu=scrcurses_putchar_menu;
                    |     ^~~~~~~~~~~~~~~~
              video/scrcurses.c:1783:22: error: ‘scrcurses_putchar_menu’ undeclared (first use in this function); did you mean ‘scrcurses_putpixel’?
               1783 |     scr_putchar_menu=scrcurses_putchar_menu;
                    |                      ^~~~~~~~~~~~~~~~~~~~~~
                    |                      scrcurses_putpixel
              video/scrcurses.c:1784:5: error: ‘scr_putchar_footer’ undeclared (first use in this function)
               1784 |     scr_putchar_footer=scrcurses_putchar_footer;
                    |     ^~~~~~~~~~~~~~~~~~
              video/scrcurses.c:1784:24: error: ‘scrcurses_putchar_footer’ undeclared (first use in this function); did you mean ‘scrcurses_blank_footer’?
               1784 |     scr_putchar_footer=scrcurses_putchar_footer;
                    |                        ^~~~~~~~~~~~~~~~~~~~~~~~
                    |                        scrcurses_blank_footer
              video/scrcurses.c:1798:5: error: ‘scr_detectedchar_print’ undeclared (first use in this function); did you mean ‘last_x_detectedchar_print’?
               1798 |     scr_detectedchar_print=scrcurses_detectedchar_print;
                    |     ^~~~~~~~~~~~~~~~~~~~~~
                    |     last_x_detectedchar_print
              video/scrcurses.c:1798:28: error: ‘scrcurses_detectedchar_print’ undeclared (first use in this function); did you mean ‘last_x_detectedchar_print’?
               1798 |     scr_detectedchar_print=scrcurses_detectedchar_print;
                    |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    |                            last_x_detectedchar_print
              video/scrcurses.c: At top level:
              video/scrcurses.c:2187:1: error: unknown type name ‘z80_byte’; did you mean ‘z80_bit’?
               2187 | z80_byte scrcurses_lee_puerto(z80_byte puerto_h,z80_byte puerto_l)
                    | ^~~~~~~~
                    | z80_bit
              video/scrcurses.c:2187:31: error: unknown type name ‘z80_byte’; did you mean ‘z80_bit’?
               2187 | z80_byte scrcurses_lee_puerto(z80_byte puerto_h,z80_byte puerto_l)
                    |                               ^~~~~~~~
                    |                               z80_bit
              video/scrcurses.c:2187:49: error: unknown type name ‘z80_byte’; did you mean ‘z80_bit’?
               2187 | z80_byte scrcurses_lee_puerto(z80_byte puerto_h,z80_byte puerto_l)
                    |                                                 ^~~~~~~~
                    |                                                 z80_bit
              make: *** [Makefile:786: scrcurses.o] Error 1
              Could not successfully build zesarux - ZX Spectrum emulator ZEsarUX (/home/pi/RetroPie-Setup/tmp/build/zesarux/src/zesarux not found).
              /home/pi
              
              Log ended at: Thu Mar  6 02:36:48 PM GMT 2025
              Total running time: 0 hours, 0 mins, 10 secs
              

              Your friend,
              2Play!

              mituM 1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @2Play
                last edited by mitu

                You should have posted just the error part, which is caused by zesarux mis-detecting the OS. You're also not running Ubuntu, but Armbian, which is why the configure part produces the wrong string.

                Error is:

                gcc -mcpu=cortex-a76 -O2 -fsigned-char -I. -Iaudio -Icopy_interfaces -Icores -Icpus -Imachines -Imenu -Isnap -Istorage -Isoundchips -Ithird_party -Ivideo -Ivideo_chips -Izrcp -Izxvision -I/usr/include/ncursesw -D_GNU_SOURCE -D_DEFAULT_SOURCE -c video/scrcurses.c
                In file included from ./cpu.h:25,
                from video/scrsimpletext.h:25,
                from video/scrsimpletext.c:25:
                ./compileoptions.h:31:36: warning: missing terminating " character
                31 | #define COMPILATION_SYSTEM_RELEASE "Armbian_community 25.5.0-trunk.4 noble
                | ^
                ./compileoptions.h:32:19: error: too many decimal points in number
                32 | Armbian_community 25.5.0-trunk.4 noble"
                | ^~~~~~

                because compileoptions.h contains a multi-line string:

                
                ...
                #define COMPILATION_SYSTEM "GNU/Linux"
                #define COMPILATION_SYSTEM_RELEASE "Armbian_community 25.5.0-trunk.4 noble
                Armbian_community 25.5.0-trunk.4 noble"
                ...
                

                Upstream should modify the detection part to fix this, maybe I'll send a PR. You can modify the /etc/os-release file and remove the last line, this should solve the compilation issue temporarily.

                2Play2 1 Reply Last reply Reply Quote 0
                • 2Play2
                  2Play @mitu
                  last edited by 2Play

                  @mitu First of all thank you for looking into that

                  Even though i ve seen the double entry in the compileoptions.h I ignored it. Therefore my issues

                  In the /etc/os-release file (as per your advise) there were 2 entries in regards to the pretty_name
                  I have deleted the last one and of course all compiled nicely and I have now

                  /opt/retropie/emulators/zesarux/bin/zesarux --version
                  ZEsarUX 12.0 - Bubble Bobble edition. 16 January 2025
                  

                  PRETTY_NAME="Armbian_community 25.5.0-trunk.4 noble"
                  NAME="Ubuntu"
                  VERSION_ID="24.04"
                  VERSION="24.04 LTS (Noble Numbat)"
                  VERSION_CODENAME=noble
                  ID=ubuntu
                  ID_LIKE=debian
                  HOME_URL="https://www.armbian.com"
                  SUPPORT_URL="https://forum.armbian.com"
                  BUG_REPORT_URL="https://www.armbian.com/bugs"
                  PRIVACY_POLICY_URL="https://www.armbian.com"
                  UBUNTU_CODENAME=noble
                  LOGO="armbian-logo"
                  ARMBIAN_PRETTY_NAME="Armbian_community 25.5.0-trunk.4 noble"

                  Again thank you

                  Your friend,
                  2Play!

                  1 Reply Last reply Reply Quote 0
                  • C
                    chernandezba
                    last edited by

                    Thanks for reporting it and for the merge request. It has been fixed!

                    Cheers

                    1 Reply Last reply Reply Quote 2
                    • First post
                      Last post

                    Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                    Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.