Hello all, I cannot build 12269 for Linux. Until now, I have never had a problem with building for Linux. I get this error when linking rxapi:
[ 83%] Linking CXX executable bin/rxapi /usr/bin/ld: CMakeFiles/rxapi.dir/common/platform/unix/SysSemaphore.cpp.o: in function `SysSemaphore::SysSemaphore(bool)': SysSemaphore.cpp:(.text+0x54): undefined reference to `pthread_mutexattr_init' /usr/bin/ld: SysSemaphore.cpp:(.text+0x99): undefined reference to `pthread_mutexattr_settype' /usr/bin/ld: SysSemaphore.cpp:(.text+0xb9): undefined reference to `pthread_mutexattr_destroy' /usr/bin/ld: CMakeFiles/rxapi.dir/common/platform/unix/SysSemaphore.cpp.o: in function `SysSemaphore::create()': SysSemaphore.cpp:(.text+0x15c): undefined reference to `pthread_mutexattr_init' /usr/bin/ld: SysSemaphore.cpp:(.text+0x199): undefined reference to `pthread_mutexattr_settype' /usr/bin/ld: SysSemaphore.cpp:(.text+0x1b9): undefined reference to `pthread_mutexattr_destroy' /usr/bin/ld: CMakeFiles/rxapi.dir/common/platform/unix/SysSemaphore.cpp.o: in function `SysMutex::SysMutex(bool, bool)': SysSemaphore.cpp:(.text+0x4b9): undefined reference to `pthread_mutexattr_init' /usr/bin/ld: SysSemaphore.cpp:(.text+0x4e9): undefined reference to `pthread_mutexattr_settype' /usr/bin/ld: SysSemaphore.cpp:(.text+0x504): undefined reference to `pthread_mutexattr_destroy' /usr/bin/ld: CMakeFiles/rxapi.dir/common/platform/unix/SysSemaphore.cpp.o: in function `SysMutex::create(bool)': SysSemaphore.cpp:(.text+0x564): undefined reference to `pthread_mutexattr_init' /usr/bin/ld: SysSemaphore.cpp:(.text+0x599): undefined reference to `pthread_mutexattr_settype' /usr/bin/ld: SysSemaphore.cpp:(.text+0x5b4): undefined reference to `pthread_mutexattr_destroy' /usr/bin/ld: CMakeFiles/rxapi.dir/common/platform/unix/SysSemaphore.cpp.o: in function `SysMutex::request(unsigned int)': SysSemaphore.cpp:(.text+0x67b): undefined reference to `pthread_mutex_timedlock' /usr/bin/ld: CMakeFiles/rxapi.dir/common/platform/unix/SysThread.cpp.o: in function `SysThread::terminate()': SysThread.cpp:(.text+0x81): undefined reference to `pthread_detach' /usr/bin/ld: CMakeFiles/rxapi.dir/common/platform/unix/SysThread.cpp.o: in function `SysThread::createThread()': SysThread.cpp:(.text+0xf3): undefined reference to `pthread_attr_setstacksize' /usr/bin/ld: SysThread.cpp:(.text+0x109): undefined reference to `pthread_create' /usr/bin/ld: CMakeFiles/rxapi.dir/common/platform/unix/SysThread.cpp.o: in function `SysThread::createThread(unsigned long&, unsigned long, void* (*)(void*), void*)': SysThread.cpp:(.text+0x1bb): undefined reference to `pthread_attr_setstacksize' /usr/bin/ld: SysThread.cpp:(.text+0x1cc): undefined reference to `pthread_create' /usr/bin/ld: CMakeFiles/rxapi.dir/common/platform/unix/SysThread.cpp.o: in function `SysThread::waitForTermination()': SysThread.cpp:(.text+0x254): undefined reference to `pthread_join' /usr/bin/ld: lib/librexx.so.4: undefined reference to `sem_open' /usr/bin/ld: lib/librexx.so.4: undefined reference to `sem_wait' /usr/bin/ld: lib/librexx.so.4: undefined reference to `sem_init' /usr/bin/ld: lib/librexx.so.4: undefined reference to `sem_destroy' /usr/bin/ld: lib/librexx.so.4: undefined reference to `pthread_mutex_trylock' /usr/bin/ld: lib/librexx.so.4: undefined reference to `sem_getvalue' /usr/bin/ld: lib/librexx.so.4: undefined reference to `sem_close' /usr/bin/ld: lib/librexx.so.4: undefined reference to `sem_post' /usr/bin/ld: lib/librexx.so.4: undefined reference to `sem_trywait' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/rxapi.dir/build.make:339: bin/rxapi] Error 1 make[1]: *** [CMakeFiles/Makefile2:544: CMakeFiles/rxapi.dir/all] Error 2 make: *** [Makefile:156: all] Error 2 @Rick Thank you, I understand. Best regards Thomas On 7/5/21 8:02 PM, Rick McGuire wrote: Thomas, There’s no point in trying to run anything else until you have the rexximage issues resolved. The rexx.img file is required for anything else to work. Rick On Mon, Jul 5, 2021 at 1:49 PM Thomas Kahr <tho...@vaime.at<mailto:tho...@vaime.at>> wrote: Dear Rick, many thanks for your explanation. If I'm understanding correctly I have to figure out how I have to get the configuration for the semaphores to work correctly? Does this also include to change the bit of recursion you talked about to a non recursive version? Because I read somewhere that recursion works not too well in such cases. @striketrough text: I guess with the last information this isn't useful anymore. Yesterday, I did not provide gdb logs of the complete Debug-Build. It was only for the rexximage executable. With a small sample helloWorld rexx program there is an interesting difference when trying to execute it. There is a segmentation fault. It occurs in RexxMemory.cpp line 691. I attached the 2 GDB-Logfiles. Thomas On 7/4/21 9:37 PM, Rick McGuire wrote: When porting to new *ix environments, it is quite common for there to be problems getting the configuration for the semaphores to work correctly. From the stack trace, it is hanging on a request for a mutex semaphore. rexximage should run completely single threaded, so this should never deadlock. However, the semaphore in question is already held by the current thread because of a bit of recursion at startup, so It looks like the semaphores are not properly handling nested requests. Rick On Sun, Jul 4, 2021 at 3:11 PM Thomas Kahr <tho...@vaime.at<mailto:tho...@vaime.at>> wrote: Dear Developers, the current semester has come to an end and I finished all my exams. So, now I can fully focus on my little Android Project. There are some new developments I would like to share with all of you. I'm not experienced with GDB and STRACE so maybe here are some pros who know what to do with the output better than me. 1. GDB As Erich suggested I built a Debug-Version for Android and setup gdbserver on the device and connected it with GDB on my host System. The output files (I followed the steps in the Sourceforge ooRexx Website) are attached. I did not push the whole debug version to the device. I just moved all necessary files to create rexx.img to the device. When executing rexximage its also hanging up so I thought it would be a good idea to debug rexximage first because maybe its more compact. These are the following files: /bin: rexximage rxapi CoreClasses.orx PlatformObjects.orx StreamClasses.orx /lib: librexx.so librexxapi.so librxregexp.so librxunixsys.so (I think not every single lib file is necessary for building the target rexx.img but I pushed every lib file which was already built when executing rexximage during the build process) I also attached 2 Screenshots showing the GDB output on the Host and the Target. As you can see, on the target I get the "Acitivity output" which Erich told me I should include. In theory I should also get the same output for the other 2 .orx Files. Seems like something is wrong here. 2. STrace Strace is also available on the emulated Android device. I logged the strace output from "rexx -v" and "rexx bintest.rex" where this .rex-File is just a HelloWorld. I also tried it with rexximage rexx.img. rexx -v is working rexx bintest.rex is hanging up even with the debug version. rexximage rexx.img hangs up The 3 files are attached. Any suggestions for my next steps. Is the output helpful? Thanks for your help and best regards Thomas _______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net<mailto:Oorexx-devel@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/oorexx-devel _______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net<mailto:Oorexx-devel@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/oorexx-devel _______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net<mailto:Oorexx-devel@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/oorexx-devel _______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net<mailto: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