Dear P.O.,

thank you! My take is that MacPort uses a location that CMake honors before 
XCode‘s locations.

Best regards 

—-rony

Rony G. Flatscher (mobil/e)

> Am 30.01.2022 um 20:28 schrieb P.O. Jonsson <oor...@jonases.se>:
> 
> Dear Rony,
> We have both Big Sur and Monterey in VMs (intel-based) on Jenkins nowadays, 
> maybe you can compare with the settings there. I selected Java 8 (same for 
> all VMs) directly from Oracle and this works well so far. I use Homebrew for 
> all other utilities needed (Subversion, CMake etc).
> 
> Hälsningar/Regards/Grüsse,
> P.O. Jonsson
> oor...@jonases.se
> 
> 
> 
>> Am 30.01.2022 um 18:46 schrieb Rony G. Flatscher <rony.flatsc...@wu.ac.at>:
>> 
>> 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
> 
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to