wrljet / hercules-helper

Utility scripts to help with building and deploying the Hercules emulator
MIT License
37 stars 12 forks source link

Cannot run because fail to install regina-rexx on macos sonoma Arm m2 macbook air 15 #39

Open kwccoin opened 5 months ago

kwccoin commented 5 months ago

Tried: ~/hercules-helper/hercules-buildall.sh auto --flavor=aethra --homebrew and ~/hercules-helper/hercules-buildall.sh auto --flavor=sdl-hyperion --homebrew

After trying my mvs_tk5 which use v4.3 and hence not related as it run under an integrated hercelus; still I suddenly found out there might be a hercules installed which I cannot recall I have done anything (!) and further I am not sure it will affect:

% hercules --version
HHC01413I Hercules version 4.7.0.0-SDL
HHC01414I (C) Copyright 1999-2024 by Roger Bowler, Jan Jaeger, and others
HHC01417I ** The SDL 4.x Hyperion version of Hercules **
HHC01415I Build date: Mar 10 2024 at 04:25:45

% which hercules
/opt/homebrew/bin/hercules

But the error message are all about Regina REXX which cannot compile due to integer format issue ???

  [[ note: ]] sudo required to install Regina REXX in the default system directories

  gcc -c -DNDEBUG -Wno-error=implicit-function-declaration -Wno-incompatible-function-pointer-types -O -O3 -Wall -DREGINA_SHARE_DIRECTORY=\"/usr/local/share/regina\" -funsigned-char -DREGINA_VERSION_DATE=\""31 Dec 2011"\" -DREGINA_VERSION_MAJOR=\"3\" -DREGINA_VERSION_MINOR=\"6\" -DREGINA_VERSION_SUPP=\"\" -DHAVE_CONFIG_H    -I. -I. -I./contrib    -o regscreenux.o -DDYNAMIC -fno-common ./regutil/regscreenux.c
  ./regutil/regscreenux.c:80:7: warning: call to undeclared function 'tgetent'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        tgetent(tcent, getenv("TERM"));
        ^
  ./regutil/regscreenux.c:93:13: warning: call to undeclared function 'tgetstr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        clr = tgetstr("cl", &clrbuf);
              ^
  ./regutil/regscreenux.c:93:11: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
        clr = tgetstr("cl", &clrbuf);
            ^ ~~~~~~~~~~~~~~~~~~~~~~
  ./regutil/regscreenux.c:130:14: warning: call to undeclared function 'tgetstr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        cpos = tgetstr("cm", &cposbuf);
               ^
  ./regutil/regscreenux.c:130:12: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
        cpos = tgetstr("cm", &cposbuf);
             ^ ~~~~~~~~~~~~~~~~~~~~~~~
  ./regutil/regscreenux.c:144:13: warning: call to undeclared function 'tgoto'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        fputs(tgoto(cpos, x, y), stdout);
              ^
  ./regutil/regscreenux.c:144:13: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion]
        fputs(tgoto(cpos, x, y), stdout);
              ^~~~~~~~~~~~~~~~~
  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:149:35: note: passing argument to parameter here
  int      fputs(const char * __restrict, FILE * __restrict) __DARWIN_ALIAS(fputs);
                                        ^
  ./regutil/regscreenux.c:181:16: warning: call to undeclared function 'tgetstr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        pcsson = tgetstr("ve", &css);
                 ^
  ./regutil/regscreenux.c:181:14: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
        pcsson = tgetstr("ve", &css);
               ^ ~~~~~~~~~~~~~~~~~~~
  ./regutil/regscreenux.c:182:15: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
        pcssoff = tgetstr("vi", &css);
                ^ ~~~~~~~~~~~~~~~~~~~
  ./regutil/regscreenux.c:179:13: warning: unused variable 'pcss' [-Wunused-variable]
        char *pcss = css;
              ^
  6 warnings and 5 errors generated.
  make: *** [regscreenux.o] Error 1
          0.03 real         0.01 user         0.01 sys
  [[ error: ]] Regina installation failed!
  finish() called, exit status = 1
  -  % 

I tried both flavor still the same. I do not know what is regina-rexx. I did find something like this when checking sudo, but I suspect it is download somethings today as all the logs are today:

% sudo ls
Password:
Regina-REXX-3.6             extra-info-2024-04-15.log
Regina-REXX-3.6.tar.gz          herc4x
build-commands-2024-04-15.log       hercules-buildall-2024-04-15.log
wrljet commented 5 months ago

You don't need sudo for that ls command.

Please zip and send me the log files and I'll see what's going on.

kwccoin commented 5 months ago

Thanks. I resolved the immedate problem by running 'brew install regina-rexx'.

I will investigate further by finding a clean macos first as it seems to somehow to have a SDL-herculese there.

wrljet commented 5 months ago

I would still like to see the logs from the failed attempts. (zipped) That's the only way I will be able to determine what happened, and try to fix it.

Bill

wrljet commented 5 months ago

Problem is newer macOS / Clang doesn't like the Regina 3.6 I've been building in Hercules-Helper.

You can run helper-build-regina.sh (or helper-build-oorexx.sh if you prefer ooRexx) before running hercules-buildall.

Bill