Hello Rick, Rick McGuire wrote: > On Mon, Dec 29, 2008 at 11:12 AM, Rainer Tammer <tam...@tammer.net> wrote: > >> ... deleted for clarity ... >> >> Currently gcc does not build ooRexx correctly on AIX. Should I add a check >> in the configure files and barf ?? >> > > What are the issues with gcc? I think I'd prefer the config files not > have negative checks like that, as it would make it more difficult for > an ambitious soul from attempting it get it working. > >
I can build ooRexx with gcc 4.2.4 (after small patch). g++ -DHAVE_CONFIG_H -I. -DORX_VER=4 -DORX_REL=0 -DORX_MOD=0 -DORX_FIX=0 -DORX_SYS_STR=\"AIX\" -DORX_CATDIR=\"/opt/ooRexx/bin\" -DORX_SHARED_LIBRARY_EXT=\".so\" -I./lib -I./api -I./api/platform/unix -g -O2 -g -O2 -maix32 -pthread -Wall -funsigned-char -Wpointer-arith -Wcast-qual -Wcast-align -Wshadow -Wwrite-strings -D__cplusplus -Wredundant-decls -DNOOPT -DPTHREAD_KERNEL -D_POSIX_THREAD -D_REENTRANT -D_GNU_SOURCE -DOPSYS_AIX43 -DAIX -DOPSYS_AIX -MT librxmath_la-rxmath.lo -MD -MP -MF .deps/librxmath_la-rxmath.Tpo -c ./extensions/rxmath/rxmath.cpp -DPIC -o .libs/librxmath_la-rxmath.o In file included from /usr/include/sys/ptrace.h:28, from /usr/include/sys/proc.h:48, from /usr/include/sys/pri.h:43, from /usr/include/sys/sched.h:38, from /usr/include/sched.h:51, from /usr/include/pthread.h:64, from ./api/platform/unix/rexxapitypes.h:49, from ./api/rexx.h:65, from ./api/oorexxapi.h:47, from ./extensions/rxmath/rxmath.cpp:98: ./extensions/rxmath/rxmath.cpp:70: error: previous declaration of 'int errno' with 'C++' linkage /usr/include/sys/thread.h:852: error: conflicts with new declaration with 'C' linkage gmake[2]: *** [librxmath_la-rxmath.lo] Error 1 gmake[2]: Leaving directory `/daten/source/ooRexx/gcc/trunk' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/daten/source/ooRexx/gcc/trunk' gmake: *** [all] Error 2 So I have changed this to: rxmath.cpp: #ifdef __cplusplus extern "C" { #endif extern int errno; #ifdef __cplusplus } #endif The images gets created and some basic tests work OK. Working: ====== usepipe.rex usecomp.rex stack.rex rexxcps.rex qtime.rex qdate.rex ccreply.rex factor.rex Error: ==== properties.rex -------------- Error deleting the existing properties file. RC: 87 terminate called after throwing an instance of 'RexxNativeActivation*' ,, this looks thread related: core dump (no full traceback for gcc avail): pthread_k 88 ?? _p_raise 8C raise 30 abort B8 greply.rex ---------- sometimes strange output: Using GUARDED method to wait until sum is complete: Inside method sum_up: loop iteration 1000 Inside method sum_up: loop iteration 2000 Inside method sum_up: loop iteration 3000 Inside method sum_up: loop iteration 4000 Inside method sum_up: loop iteration 5000 Result should be 12502500: 12502500 Using UNGUARDED method to obtain an intermediate result: Inside method sum_up: loop iteration 1000 Result should be less than 12502500: 1943406 Inside method sum_up: loop iteration 2000 or Using GUARDED method to wait until sum is complete: Inside method sum_up: loop iteration 1000 Inside method sum_up: loop iteration 2000 Inside method sum_up: loop iteration 3000 Inside method sum_up: loop iteration 4000 Inside method sum_up: loop iteration 5000 Result should be 12502500: 12502500 Using UNGUARDED method to obtain an intermediate result: Inside method sum_up: loop iteration 1000 Inside method sum_up: loop iteration 2000 Inside method sum_up: loop iteration 3000 Inside method sum_up: loop iteration 4000 Inside method sum_up: loop iteration 5000 Result should be less than 12502500: 12502500 sfserver.rex ------------- Press [Enter] To Shutdown terminate called after throwing an instance of 'RexxNativeActivation*' (with core dump) The AIX g++ port is not known to be perfect... So I think I will change configure.ac: case "$target" in *ibm-aix*) GENERIC_OS="-DAIX" GENERIC_OPSYS="-DOPSYS_AIX" GENERIC_DEFINES="$GENERIC_DEFINES -DOPSYS_AIX43" # ORX_SHARED_LIBRARY_EXT=".a" case "$CXX" in # g++) # CC_WARNINGS="-maix32 -pthread $GCC_WARNINGS" # CXX_WARNINGS="-maix32 -pthread $GCXX_WARNINGS" # ;; xlC_r) CC_WARNINGS="$XLC_WARNINGS" CXX_WARNINGS="$XLCXX_WARNINGS" ORX_LDFLAGS_PACKAGE="" ORX_INIT_LDFLAGS="-Wl,-binitfini:_init:_fini" ;; *) AC_MSG_ERROR("Compiler $CXX is not supported on this platform") ;; esac Is this OK ?? Bye Rainer ------------------------------------------------------------------------------ _______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel