Dear Rony, I wanted to try this out on macOS (High Sierra) but got into problems straight away
POs-QuadCore-Mac-Pro:native.api po$ make -f Makefile.macOS clean rm -f stackOverflow runRexxProgram POs-QuadCore-Mac-Pro:native.api po$ make -f Makefile.macOS all gcc runRexxProgram.cpp -lrexx -lrexxapi -o runRexxProgram runRexxProgram.cpp:51:10: fatal error: 'oorexxapi.h' file not found #include "oorexxapi.h" ^~~~~~~~~~~~~ 1 error generated. make: *** [runRexxProgram] Error 1 POs-QuadCore-Mac-Pro:native.api po$ I could do away with that problem by copying the header files into the sample directory (a hack, I know). But I got another error instead POs-QuadCore-Mac-Pro:native.api po$ make -f Makefile.macOS clean rm -f stackOverflow runRexxProgram POs-QuadCore-Mac-Pro:native.api po$ make -f Makefile.macOS all gcc runRexxProgram.cpp -lrexx -lrexxapi -o runRexxProgram ld: library not found for -lrexx clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [runRexxProgram] Error 1 So I added the -v to get more information POs-QuadCore-Mac-Pro:native.api po$ make -f Makefile.macOS clean rm -f stackOverflow runRexxProgram POs-QuadCore-Mac-Pro:native.api po$ make -f Makefile.macOS runRexxProgram gcc -v runRexxProgram.cpp -lrexx -lrexxapi -o runRexxProgram Apple LLVM version 10.0.0 (clang-1000.10.44.4) Target: x86_64-apple-darwin17.7.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.13.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name runRexxProgram.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return -masm-verbose -munwind-tables -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 409.12 -v -resource-dir /Library/Developer/CommandLineTools/usr/lib/clang/10.0.0 -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Applications/ooRexx5/share/ooRexx/samples/native.api -ferror-limit 19 -fmessage-length 80 -stack-protector 1 -fblocks -fencode-extended-block-signature -fobjc-runtime=macosx-10.13.0 -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o /var/folders/6r/ytvfjqwx7td5_cvdj6_m9vcr0000gn/T/runRexxProgram-f8319d.o -x c++ runRexxProgram.cpp clang -cc1 version 10.0.0 (clang-1000.10.44.4) default target x86_64-apple-darwin17.7.0 ignoring nonexistent directory "/usr/include/c++/v1" #include "..." search starts here: #include <...> search starts here: /Library/Developer/CommandLineTools/usr/include/c++/v1 /usr/local/include /Library/Developer/CommandLineTools/usr/lib/clang/10.0.0/include /Library/Developer/CommandLineTools/usr/include /usr/include /System/Library/Frameworks (framework directory) /Library/Frameworks (framework directory) End of search list. "/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -no_deduplicate -dynamic -arch x86_64 -macosx_version_min 10.13.0 -o runRexxProgram /var/folders/6r/ytvfjqwx7td5_cvdj6_m9vcr0000gn/T/runRexxProgram-f8319d.o -lrexx -lrexxapi -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/10.0.0/lib/darwin/libclang_rt.osx.a ld: library not found for -lrexx clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [runRexxProgram] Error 1 Any idea what I need to do to get this working on a Mac? Hälsningar/Regards/Grüsse, P.O. Jonsson oor...@jonases.se > Am 16.10.2021 um 14:55 schrieb Rony G. Flatscher <rony.flatsc...@wu.ac.at>: > > Here a minimal working Makefile.linux: > > # A pretty simple make file that should work on most Unix-like platforms that > have gcc. > > OOREXX_LFLAGS = -lrexx -lrexxapi # needs to follow after file for which link > resoultion is needed > > # What we want to build. > all: runRexxProgram stackOverflow > > runRexxProgram: runRexxProgram.cpp > gcc runRexxProgram.cpp ${OOREXX_LFLAGS} -o runRexxProgram > > stackOverflow: stackOverflow.cpp > gcc stackOverflow.cpp $(OOREXX_LFLAGS) -o stackOverflow > > clean: > rm -f stackOverflow runRexxProgram > If there are no objections (Makefiles are sometimes religious), I would > replace the non-working version with the above one. > > ---rony > > On 15.10.2021 16:17, Rony G. Flatscher wrote: >> After having time to look closer, it turns out that the Makefile.linux has >> been faulty! Here a version that works (a little bit simplified and removed >> a superfluous definition, the link switches now trail the file to be >> created): >> >> OOREXX_LFLAGS = -L. -ldl -lrexx -lrexxapi >> OOREXX_CFLAGS = -fPIC >> >> >> # What we want to build. >> all: runRexxProgram stackOverflow >> >> runRexxProgram.o: runRexxProgram.cpp >> gcc -c $(OOREXX_CFLAGS) -o runRexxProgram.o runRexxProgram.cpp >> >> runRexxProgram: runRexxProgram.o >> gcc runRexxProgram.o -o runRexxProgram $(OOREXX_LFLAGS) >> >> stackOverflow.o: stackOverflow.cpp >> gcc -c $(OOREXX_CFLAGS) -o stackOverflow.o stackOverflow.cpp >> >> stackOverflow: stackOverflow.o >> gcc stackOverflow.o -o stackOverflow $(OOREXX_LFLAGS) >> >> clean: >> rm -f *.so *.o stackOverflow runRexxProgram >> Will commit the changes to this Makefile tomorrow. >> >> ---rony >> >> On 14.10.2021 15:31, Rony G. Flatscher wrote: >>> While testing the Makefile.linux for native.api on Ubuntu I encounter the >>> following problem (oorexx got installed to /usr/local): >>> >>> rony@rony-linux:~/work/oorexx-build/orx1/usr/local/share/ooRexx/samples/native.api$ >>> >>> <mailto:rony@rony-linux:~/work/oorexx-build/orx1/usr/local/share/ooRexx/samples/native.api$> >>> make -f Makefile.linux clean >>> rm -f *.so *.o stackOverflow runRexxProgram >>> >>> rony@rony-linux:~/work/oorexx-build/orx1/usr/local/share/ooRexx/samples/native.api$ >>> >>> <mailto:rony@rony-linux:~/work/oorexx-build/orx1/usr/local/share/ooRexx/samples/native.api$> >>> make -f Makefile.linux runRexxProgram >>> gcc -c -fPIC -o runRexxProgram.o runRexxProgram.cpp >>> gcc -L. -ldl -lrexx -lrexxapi runRexxProgram.o -o runRexxProgram >>> /usr/bin/ld: runRexxProgram.o: in function `main': >>> runRexxProgram.cpp:(.text+0x9a): undefined reference to >>> `RexxCreateInterpreter' >>> collect2: error: ld returned 1 exit status >>> make: *** [Makefile.linux:54: runRexxProgram] Error 1 >>> >>> rony@rony-linux:~/work/oorexx-build/orx1/usr/local/share/ooRexx/samples/native.api$ >>> >>> <mailto:rony@rony-linux:~/work/oorexx-build/orx1/usr/local/share/ooRexx/samples/native.api$> >>> nm runRexxProgram.o >>> U exit >>> U _GLOBAL_OFFSET_TABLE_ >>> 0000000000000000 T main >>> U printf >>> U puts >>> U RexxCreateInterpreter >>> U __stack_chk_fail >>> U strcmp >>> 0000000000000000 W _Z16conditionSubCodeP13RexxCondition >>> 00000000000003c9 T _Z17checkForConditionP18RexxThreadContext_b >>> 0000000000000243 T >>> _Z20standardConditionMsgP18RexxThreadContext_P20_RexxDirectoryObjectP13RexxCondition >>> 00000000000001c7 T _Z23printInterpreterVersionP13RexxInstance_ >>> 0000000000000000 W _ZN13RexxInstance_13LanguageLevelEv >>> 0000000000000000 W _ZN13RexxInstance_18InterpreterVersionEv >>> 0000000000000000 W _ZN13RexxInstance_9TerminateEv >>> 0000000000000000 W _ZN18RexxThreadContext_10ArrayItemsEP16_RexxArrayObject >>> 0000000000000000 W _ZN18RexxThreadContext_10ArrayOfOneEP14_RexxObjectPtr >>> 0000000000000000 W >>> _ZN18RexxThreadContext_11CallProgramEPKcP16_RexxArrayObject >>> 0000000000000000 W >>> _ZN18RexxThreadContext_12SendMessage0EP14_RexxObjectPtrPKc >>> 0000000000000000 W _ZN18RexxThreadContext_14CheckConditionEv >>> 0000000000000000 W _ZN18RexxThreadContext_14ClearConditionEv >>> 0000000000000000 W _ZN18RexxThreadContext_16GetConditionInfoEv >>> 0000000000000000 W >>> _ZN18RexxThreadContext_19DecodeConditionInfoEP20_RexxDirectoryObjectP13RexxCondition >>> 0000000000000000 W >>> _ZN18RexxThreadContext_19ObjectToStringValueEP14_RexxObjectPtr >>> 0000000000000000 W _ZN18RexxThreadContext_6StringEPKc >>> 0000000000000000 W _ZN18RexxThreadContext_7ArrayAtEP16_RexxArrayObjectm >>> 0000000000000000 W _ZN18RexxThreadContext_7CStringEP14_RexxObjectPtr >>> The version that CMake creates works. >>> >>> ---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