Upgraded my Intel Apple to macOS Monterey, version 12.2. Using MacPort which got updated as well. MacPort will install its libraries to /opt/local/lib which includes ncurses.
Downloaded a fresh, pristine version of ooRexx from trunk and started to create a universal build with: *cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_OSX_UNIVERSAL_BINARIES=1 ~/dev/oorexx_allura/main/trunk* -- CMake version is 3.22.2 -- The C compiler identification is AppleClang 12.0.5.12050022 -- The CXX compiler identification is AppleClang 12.0.5.12050022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building for a 64-bit architecture -- OOREXX_SHEBANG_PROGRAM: "/usr/bin/env rexx" (default) -- Found Subversion: /opt/local/bin/svn (found version "1.14.1") -- SVN Revision Number is 12352 -- CMAKE_INSTALL_PREFIX is /Users/rony/Applications/ooRexx5 -- INSTALL_LIB_DIR is lib -- Looking for xlocale.h -- Looking for xlocale.h - found -- Looking for malloc.h -- Looking for malloc.h - not found -- Looking for alloca.h -- Looking for alloca.h - found -- Looking for signal.h -- Looking for signal.h - found -- Looking for time.h -- Looking for time.h - found -- Looking for inttypes.h -- Looking for inttypes.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for nsleep -- Looking for nsleep - not found -- Looking for nanosleep -- Looking for nanosleep - found -- Looking for crypt in crypt -- Looking for crypt in crypt - not found -- Looking for crypt -- Looking for crypt - found -- Looking for wordexp -- Looking for wordexp - found -- Looking for wordexp.h -- Looking for wordexp.h - found -- Looking for sys/xattr.h -- Looking for sys/xattr.h - found -- Looking for catopen -- Looking for catopen - found -- Looking for dlfcn.h -- Looking for dlfcn.h - found -- Looking for features.h -- Looking for features.h - not found -- Looking for filehdr.h -- Looking for filehdr.h - not found -- Looking for euidaccess -- Looking for euidaccess - not found -- Looking for nl_types.h -- Looking for nl_types.h - found -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_mutex_timedlock -- Looking for pthread_mutex_timedlock - not found -- Performing Test HAVE_DLADDR -- Performing Test HAVE_DLADDR - Success -- Looking for _PC_CASE_SENSITIVE -- Looking for _PC_CASE_SENSITIVE - found -- Looking for FNM_CASEFOLD -- Looking for FNM_CASEFOLD - found -- Looking for KDMKTONE -- Looking for KDMKTONE - not found -- Looking for FS_CASEFOLD_FL -- Looking for FS_CASEFOLD_FL - not found -- Looking for _NSGetExecutablePath -- Looking for _NSGetExecutablePath - found -- Looking for getexecname -- Looking for getexecname - not found -- Looking for KERN_PROC_PATHNAME -- Looking for KERN_PROC_PATHNAME - not found -- Looking for KERN_PROC_ARGV -- Looking for KERN_PROC_ARGV - not found -- Performing Test HAVE_STAT_ST_MTIM -- Performing Test HAVE_STAT_ST_MTIM - Failed -- Performing Test HAVE_STAT_ST_MTIMESPEC -- Performing Test HAVE_STAT_ST_MTIMESPEC - Success -- Looking for pwd.h -- Looking for pwd.h - found -- Looking for sched.h -- Looking for sched.h - found -- Looking for strings.h -- Looking for strings.h - found -- Looking for sys/filio.h -- Looking for sys/filio.h - found -- Looking for sys/ldr.h -- Looking for sys/ldr.h - not found -- Looking for sys/resource.h -- Looking for sys/resource.h - found -- Looking for sys/select.h -- Looking for sys/select.h - found -- Looking for sys/sem.h -- Looking for sys/sem.h - found -- Looking for sys/signal.h -- Looking for sys/signal.h - found -- Looking for sys/time.h -- Looking for sys/time.h - found -- Looking for sys/utsname.h -- Looking for sys/utsname.h - found -- Looking for sys/wait.h -- Looking for sys/wait.h - found *-- Looking for wsyncup in /opt/local/lib/libcurses.dylib****-- Looking for wsyncup in /opt/local/lib/libcurses.dylib - not found****-- Looking for wsyncup in /opt/local/lib/libncurses.dylib****-- Looking for wsyncup in /opt/local/lib/libncurses.dylib - not found****-- Looking for cbreak in /opt/local/lib/libncurses.dylib****-- Looking for cbreak in /opt/local/lib/libncurses.dylib - not found****-- Looking for nodelay in /opt/local/lib/libncurses.dylib****-- Looking for nodelay in /opt/local/lib/libncurses.dylib - not found* *-- Found Curses: /opt/local/lib/libncurses.dylib ****-- CURSES_HAVE_NCURSES_H is /opt/local/include/ncurses.h* -- CURSES_HAVE_NCURSES_NCURSES_H is CURSES_HAVE_NCURSES_NCURSES_H-NOTFOUND -- Configuring done -- Generating done -- Build files have been written to: /Users/rony/work/oorexx_build rony@wu114176 oorexx_build % make Everything looks fine (libraries built so far are universal) until linking for orxncurses is attempted: ... cut ... [ 85%] Building CXX object CMakeFiles/rxunixsys.dir/extensions/platform/unix/rxunixsys/rxunixsys.cpp.o [ 85%] Linking CXX shared library lib/librxunixsys.dylib [ 85%] Built target rxunixsys [ 86%] Building CXX object CMakeFiles/orxncurses.dir/extensions/orxncurses/orxncurses.cpp.o [ 86%] Linking CXX shared library lib/liborxncurses.dylib *ld: warning: ignoring file /opt/local/lib/libncurses.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64****ld: warning: ignoring file /opt/local/lib/libform.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64****Undefined symbols for architecture arm64:*** "_COLORS", referenced from: _OrxCurColors in orxncurses.cpp.o OrxCurColors_impl(RexxMethodContext_*) in orxncurses.cpp.o "_COLOR_PAIRS", referenced from: _OrxCurColor_pairs in orxncurses.cpp.o OrxCurColor_pairs_impl(RexxMethodContext_*) in orxncurses.cpp.o ... cut ... "_wtouchln", referenced from: _OrxCurTouchline in orxncurses.cpp.o OrxCurTouchline_impl(RexxMethodContext_*, int, int, void*) in orxncurses.cpp.o _OrxCurTouchwin in orxncurses.cpp.o OrxCurTouchwin_impl(RexxMethodContext_*, void*) in orxncurses.cpp.o _OrxCurUntouchwin in orxncurses.cpp.o OrxCurUntouchwin_impl(RexxMethodContext_*, void*) in orxncurses.cpp.o _OrxCurWtouchln in orxncurses.cpp.o ... "_wvline", referenced from: _OrxCurVline in orxncurses.cpp.o OrxCurVline_impl(RexxMethodContext_*, int, int, void*) in orxncurses.cpp.o _OrxCurMvvline in orxncurses.cpp.o OrxCurMvvline_impl(RexxMethodContext_*, int, int, int, int, void*) in orxncurses.cpp.o *ld: symbol(s) not found for architecture arm64****clang: error: linker command failed with exit code 1 (use -v to see invocation)****make[2]: *** [lib/liborxncurses.4.dylib] Error 1****make[1]: *** [CMakeFiles/orxncurses.dir/all] Error 2****make: *** [all] Error 2***rony@wu114176 oorexx_build % If moving /opt/local/lib/libncurs* away and then rerunning cmake makes everything work: rony@wu114176 oorexx_build % cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_OSX_UNIVERSAL_BINARIES=1 ~/dev/oorexx_allura/main/trunk -- CMake version is 3.22.2 -- The C compiler identification is AppleClang 12.0.5.12050022 -- The CXX compiler identification is AppleClang 12.0.5.12050022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building for a 64-bit architecture -- OOREXX_SHEBANG_PROGRAM: "/usr/bin/env rexx" (default) -- Found Subversion: /opt/local/bin/svn (found version "1.14.1") -- SVN Revision Number is 12352 -- CMAKE_INSTALL_PREFIX is /Users/rony/Applications/ooRexx5 -- INSTALL_LIB_DIR is lib -- Looking for xlocale.h -- Looking for xlocale.h - found -- Looking for malloc.h -- Looking for malloc.h - not found -- Looking for alloca.h -- Looking for alloca.h - found -- Looking for signal.h -- Looking for signal.h - found -- Looking for time.h -- Looking for time.h - found -- Looking for inttypes.h -- Looking for inttypes.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for nsleep -- Looking for nsleep - not found -- Looking for nanosleep -- Looking for nanosleep - found -- Looking for crypt in crypt -- Looking for crypt in crypt - not found -- Looking for crypt -- Looking for crypt - found -- Looking for wordexp -- Looking for wordexp - found -- Looking for wordexp.h -- Looking for wordexp.h - found -- Looking for sys/xattr.h -- Looking for sys/xattr.h - found -- Looking for catopen -- Looking for catopen - found -- Looking for dlfcn.h -- Looking for dlfcn.h - found -- Looking for features.h -- Looking for features.h - not found -- Looking for filehdr.h -- Looking for filehdr.h - not found -- Looking for euidaccess -- Looking for euidaccess - not found -- Looking for nl_types.h -- Looking for nl_types.h - found -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_mutex_timedlock -- Looking for pthread_mutex_timedlock - not found -- Performing Test HAVE_DLADDR -- Performing Test HAVE_DLADDR - Success -- Looking for _PC_CASE_SENSITIVE -- Looking for _PC_CASE_SENSITIVE - found -- Looking for FNM_CASEFOLD -- Looking for FNM_CASEFOLD - found -- Looking for KDMKTONE -- Looking for KDMKTONE - not found -- Looking for FS_CASEFOLD_FL -- Looking for FS_CASEFOLD_FL - not found -- Looking for _NSGetExecutablePath -- Looking for _NSGetExecutablePath - found -- Looking for getexecname -- Looking for getexecname - not found -- Looking for KERN_PROC_PATHNAME -- Looking for KERN_PROC_PATHNAME - not found -- Looking for KERN_PROC_ARGV -- Looking for KERN_PROC_ARGV - not found -- Performing Test HAVE_STAT_ST_MTIM -- Performing Test HAVE_STAT_ST_MTIM - Failed -- Performing Test HAVE_STAT_ST_MTIMESPEC -- Performing Test HAVE_STAT_ST_MTIMESPEC - Success -- Looking for pwd.h -- Looking for pwd.h - found -- Looking for sched.h -- Looking for sched.h - found -- Looking for strings.h -- Looking for strings.h - found -- Looking for sys/filio.h -- Looking for sys/filio.h - found -- Looking for sys/ldr.h -- Looking for sys/ldr.h - not found -- Looking for sys/resource.h -- Looking for sys/resource.h - found -- Looking for sys/select.h -- Looking for sys/select.h - found -- Looking for sys/sem.h -- Looking for sys/sem.h - found -- Looking for sys/signal.h -- Looking for sys/signal.h - found -- Looking for sys/time.h -- Looking for sys/time.h - found -- Looking for sys/utsname.h -- Looking for sys/utsname.h - found -- Looking for sys/wait.h -- Looking for sys/wait.h - found *-- Looking for wsyncup in /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib/libcurses.tbd****-- Looking for wsyncup in ***/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/*lib/libcurses.tbd - found****-- Looking for cbreak in ***/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/*lib/libncurses.tbd****-- Looking for cbreak in ***/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/*lib/libncurses.tbd - found****-- Looking for nodelay in ***/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/*lib/libncurses.tbd****-- Looking for nodelay in ***/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/*lib/libncurses.tbd - found****-- Found Curses: /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib/libncurses.tbd ****-- CURSES_HAVE_NCURSES_H is ***/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/*include/ncurses.h* -- CURSES_HAVE_NCURSES_NCURSES_H is CURSES_HAVE_NCURSES_NCURSES_H-NOTFOUND -- Configuring done -- Generating done -- Build files have been written to: /Users/rony/work/oorexx_build rony@wu114176 oorexx_build % make --- ... cut ... Consolidate compiler generated dependencies of target rxunixsys [ 85%] Built target rxunixsys Consolidate compiler generated dependencies of target orxncurses [ 86%] Building CXX object CMakeFiles/orxncurses.dir/extensions/orxncurses/orxncurses.cpp.o [ 86%] Linking CXX shared library lib/liborxncurses.dylib [ 86%] Built target orxncurses [ 87%] Generating bin/ncurses.cls [ 87%] Built target ncurses_cls ... cut ... The result is a universal liborxncurses.dylib indeed. --- Question: how can one make sure that on Apple its SDKs get searched for ncurses such that one can create a universal build? ---rony
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel