Guten tag Rony I have the same error in the 3 test cases.
Note: I don’t have a directory /opt/BSF4ooRex I don’t have an environment variable with value /opt/BSF4ooRex 1st test case Nothing in DYLD_LIBRARY_PATH libBSF4ooRexx.dylib copied in oorexx5 lib rexx -e “call bfs.cls” [BSFManager.loadScriptingEngine()] unable to load language: rexx: java.lang.UnsatisfiedLinkError: no BSF4ooRexx in java.library.path libBSF4ooRexx.dylib is correctly loaded from oorexx5 lib dlopen(libBSF4ooRexx.dylib, 0x00000001) dyld: loaded: /local/rexx/oorexx/build/official/main/trunk/macos/clang/release/64/delivery/lib/libBSF4ooRexx.dylib libjvm is not found dlopen(/opt/BSF4ooRexx/libjvm.dylib, 0x00000009) dlopen() failed, error: 'dlopen(/opt/BSF4ooRexx/libjvm.dylib, 9): image not found' 2nd test case remove libBSF4ooRexx.dylib from oorexx5 lib Put my install directory of libBSF4ooRexx.dylib in DYLD_LIBRARY_PATH libjvm directory not put in DYLD_LIBRARY_PATH rexx -e “call bfs.cls” [BSFManager.loadScriptingEngine()] unable to load language: rexx: java.lang.UnsatisfiedLinkError: no BSF4ooRexx in java.library.path libBSF4ooRexx.dylib is correctly loaded from my install directory dlopen(libBSF4ooRexx.dylib, 0x00000001) dyld: loaded: /local/rexx/bsf4oorexx/BSF4ooRexx_install_v641-20210719-beta/bsf4oorexx/install/64/libBSF4ooRexx.dylib libjvm is not found dlopen(/opt/BSF4ooRexx/libjvm.dylib, 0x00000009) dlopen() failed, error: 'dlopen(/opt/BSF4ooRexx/libjvm.dylib, 9): image not found' 3rd test case Add libjvm directory in DYLD_LIBRARY_PATH rexx -e “call bfs.cls” [BSFManager.loadScriptingEngine()] unable to load language: rexx: java.lang.UnsatisfiedLinkError: no BSF4ooRexx in java.library.path libBSF4ooRexx.dylib is correctly loaded from my install directory dlopen(libBSF4ooRexx.dylib, 0x00000001) dyld: loaded: /local/rexx/bsf4oorexx/BSF4ooRexx_install_v641-20210719-beta/bsf4oorexx/install/64/libBSF4ooRexx.dylib libjvm is loaded (despite the path passed to dlopen) dlopen x/libjvm.dylib, 0x00000009) dyld: loaded: /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/server/libjvm.dylib > On 19 Jul 2021, at 18:01, Rony G. Flatscher <rony.flatsc...@wu.ac.at> wrote: > > Bonsoir Jean-Louis, > > today I finished up a new version of BSF4ooRexx that should work in this > use-case. You can get it from > <https://sourceforge.net/projects/bsf4oorexx/files/beta/20200928/BSF4ooRexx_install_v641-20210719-beta.zip/download> > > <https://sourceforge.net/projects/bsf4oorexx/files/beta/20200928/BSF4ooRexx_install_v641-20210719-beta.zip/download>. > (This version got tested against MacOS, Linux and Windows.) > If you test this version in your environment then please let me know of any > difficulties or problems that you encounter. (This version of BSF4ooRexx is > still supposed to be usable against ooRexx 4.1 and higher, however 5.0 is > *strongly* advised due to its stable multithreadingness. For that reason some > JavaFX samples will deny being run on ooRexx prior to 5.0. This is another > reason for me to ask for a release version of ooRexx 5.0 beta *as is*, as it > is much stabler, faster and powerful than any earlier version of ooRexx.) > > ---rony > > On 18.07.2021 00:02, Jean Louis Faucher wrote: >> Gute nacht Rony >> >> I have an atypical configuration where I use DYLD_LIBRARY_PATH to locate the >> BSF4OORexx library. >> This is because I don’t “install” BSF4OORexx, I just unzip the delivery, >> copy and rename the libraries to bsf4oorex/install/64 >> With this configuration, your test cases are working (not saying this is the >> solution). >> >> >> If I don’t set DYLD_LIBRARY_PATH, I get the same error than yours. >> >> I compared the output of the next command in both cases >> DYLD_PRINT_LIBRARIES="1" DYLD_PRINT_APIS="1" rexx -e "call bsf.cls” >> >> In the working session: >> dlopen(librexxapi.dylib, 0x00000001) >> dlopen(librexxapi.dylib) ==> 0x10936da50 >> dlopen(libBSF4ooRexx.dylib, 0x00000001) >> dyld: loaded: >> /local/rexx/bsf4oorexx/BSF4ooRexx_install_v641-20210715-beta/bsf4oorexx/install/64/libBSF4ooRexx.dylib >> dyld: loaded: >> /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/server/libjvm.dylib >> dyld: loaded: /usr/lib/libstdc++.6.0.9.dylib >> >> In the not working session: >> dlopen(librexxapi.dylib, 0x00000001) >> dlopen(librexxapi.dylib) ==> 0x10dd4a990 >> dlopen(libBSF4ooRexx.dylib, 0x00000001) >> dlopen() failed, error: 'dlopen(libBSF4ooRexx.dylib, 1): image not found' >> dlopen(/usr/lib/libBSF4ooRexx.dylib, 0x00000001) >> dlopen() failed, error: 'dlopen(/usr/lib/libBSF4ooRexx.dylib, 1): image >> not found' >> 919 *-* ::routine xBSF PUBLIC EXTERNAL "LIBRARY >> BSF4ooRexx BSF " >> 1 *-* call bsf.cls >> Error 98 running >> /local/rexx/bsf4oorexx/BSF4ooRexx_install_v641-20210715-beta/bsf4oorexx/BSF.CLS >> line 919: Execution error. >> Error 98.903: Unable to load library "BSF4ooRexx". >> >> I find "/usr/lib” in one file: >> SysLibrary.cpp >> >> // try loading directly >> libraryHandle = dlopen(nameBuffer, RTLD_LAZY); >> // if not found, then try from /usr/lib >> if (libraryHandle == NULL) >> { >> sprintf(nameBuffer, "/usr/lib/lib%s%s", name, >> ORX_SHARED_LIBRARY_EXT); >> libraryHandle = dlopen(nameBuffer, RTLD_LAZY); >> >> The part to investigate is how to make the first dlopen work without using >> DYLD_LIBRARY_PATH: >> If I put libBSF4ooRexx.dylib in the lib folder of oorexx then it works >> (RPATH). >> If I put libBSF4ooRexx.dylib in the current directory then it works (see man >> dlopen). >> I don’t know if other solutions are possible for the first dlopen >> >> The other solution could to add “/usr/local/lib” as 2nd fallback. >> But that brings the question of order. >> Maybe a more general solution would be to use an environment variable like >> REXX_LIBRARY_PATH. >> We have already REXX_PATH for locating the rexx files. >> >> >> Jean-Louis >> >>> On 17 Jul 2021, at 21:56, Rony G. Flatscher <rony.flatsc...@wu.ac.at >>> <mailto:rony.flatsc...@wu.ac.at>> wrote: >>> >>> On MacOSX the BSF4ooRexx library is named "libBSF4ooRexx.dylib". >>> Testing the changes in the BSF4ooRexx installation scripts and then testing >>> the resulting installations surfaced a problem on MacOSX: >>> libBSF4ooRexx.dylib can be loaded via Java and used successfully. >>> However, loading "libBSF4ooRexx.dylib" via ooRexx is not successful. To be >>> precise, the >>> ::routine xbsf PUBLIC EXTERNAL "LIBRARY BSF4ooRexx BSF" >>> fails with the execution error: >>> >>> Error 98.903: Unable to load library "BSF4ooRexx". >>> Here two rexxtry.rex sessions, the first one is run with "rexxj.sh >>> /usr/local/bin/rexxtry.rex" which loads a Java program that will load the >>> BSF4ooRexx library to then execute /usr/local/bin/rexxtry.rex. This is >>> followed by a "rexx rexxtry.rex" session which yields the exection error. >>> This is then followed by the "rexx -e" statement which does a call BSF.CLS >>> which then shows the full error message: >>> >>> rony@ronymac2014 ~ % rexxj.sh /usr/local/bin/rexxtry.rex >>> REXX-ooRexx_5.0.0(MT)_64-bit 6.05 12 Jul 2021 >>> rexxtry.rex lets you interactively try REXX statements. >>> Each string is executed when you hit Enter. >>> Enter 'call tell' for a description of the features. >>> Go on - try a few... Enter 'exit' to end. >>> call bsf.cls >>> .............................................. rexxtry.rex on DARWIN >>> say .bsf4rexx~display.version >>> ooRexx 5.0.0 r12280 (12 Jul 2021) / BSF 641.20210715 / Java 1.8.0_162, >>> 64-bit / Darwin 20.5.0 >>> .............................................. rexxtry.rex on DARWIN >>> exit >>> rony@ronymac2014 ~ % rexxtry.rex >>> REXX-ooRexx_5.0.0(MT)_64-bit 6.05 12 Jul 2021 >>> rexxtry.rex lets you interactively try REXX statements. >>> Each string is executed when you hit Enter. >>> Enter 'call tell' for a description of the features. >>> Go on - try a few... Enter 'exit' to end. >>> call bsf.cls >>> Oooops ! ... try again. Execution error. >>> Unable to load library "BSF4ooRexx". >>> rc = 98.903 .................................. rexxtry.rex on DARWIN >>> exit >>> rony@ronymac2014 ~ % rexx -e "call bsf.cls" >>> 919 *-* ::routine xBSF PUBLIC EXTERNAL "LIBRARY >>> BSF4ooRexx BSF " >>> 1 *-* call bsf.cls >>> Error 98 running /usr/local/bin/BSF.CLS line 919: Execution error. >>> Error 98.903: Unable to load library "BSF4ooRexx". >>> rony@ronymac2014 ~ % >>> It is the first of five external "LIBRARY BSF4ooRexx XXX" directives (these >>> five external function names are: "BSF", "BsfCreateRexxProxy", >>> "BsfRexxProxy", "BsfUninit4JavaBean", "BsfLoadJava"). So it is the first >>> time the "BSF4ooRexx" library needs to be proecessed by ooRexx in this way. >>> This was tested against the Sourceforge version of ooRexx r12280, July 12 >>> 2021. >>> >>> Is there anything I could do to help pinpoint the problem? >>> >>> ---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