Hi Rony,

As P.O. says, Homebrew installs its binaries in </somepath>/Cellar and symbolically links those binaries to /usr/local/bin. However, if the package you are installing is already supplied by Apple in macOS, it DOES NOT do the symbolic link.  In your case ncurses is supplied by Apple so the symbolic link is not done by HomeBrew.  It does tell you this when you are installing. So to get the Homebrew version of ncurses, you may have to manually link the files, or set environment variables so the HomeBrew version is loaded first.

Cheers, Mark

On 31/1/22 09:29, Rony G Flatscher wrote:
Dear p.O.,

thank xou! Have you tried to create a universal oiRexx on a Mac that has Homebrew installed (with a ncurses bittle) by any chance?

Cheers

—-rony

Rony G. Flatscher (mobil/e)

Am 30.01.2022 um 23:15 schrieb P.O. Jonsson <oor...@jonases.se>:

 Homebrew stores everything in a „jail“  <somepath>/Cellar, in my case /usr/local/Cellar but it symlinks everything to /usr/local/bin,lib,etc so really in the very first position of the path on a standard installation. On a macOS machine with Big Sur or Monterey installed from zip and with Homebrew installed without modification this is the case. But settings can be changed ofcourse.

Hälsningar/Regards/Grüsse,
P.O. Jonsson
oor...@jonases.se



Am 30.01.2022 um 20:17 schrieb Rony G Flatscher <rony.flatsc...@wu.ac.at>:

Where does brew stuff its binaries?

It looks as if CMske resorts to XCode‘s SDK if it does not find the needed resources. There might be some cmake definition that may influence the search order bit I did not find one.

—-rony

Rony G. Flatscher (mobil/e)

Am 30.01.2022 um 19:33 schrieb René Jansen <rvjan...@xs4all.nl>:

 Tried this on M1, no problem.
Tried this on X86_64, no problem

Both on 12.2, I use ninja for building the CMake-generated stuff, only difference is that I use brew and not ports. There is always some movement needed when upgrading macOS, I mostly do that by starting the Xcode GUI once and doing a

xcode-select —install

From the command line. Sometimes that tells me to sudo, which I then do.

Best regards,

René.


On 30 Jan 2022, at 18:46, Rony G. Flatscher <rony.flatsc...@wu.ac.at> wrote:

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:

    _______________________________________________

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

_______________________________________________
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

--
------------------------------------------------------------------------
* Mark Hessling,m...@rexx.org  http://www.rexx.org/
* Author of THE, a Free XEDIT/KEDIT editor and, Rexx/SQL, Rexx/CURL, etc.
* Maintainer of Regina Rexx interpreter
* Use Rexx? join the Rexx Language Association:https://www.rexxla.org/ ------------------------------------------------------------------------
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to