I'm trying to install Object REXX on Linux on zSeries
for which there is no RPM.
I downloaded ooRexx-3.0.0-1.src.rpm, did
rpm -i ooRexx-3.0.0-1.src.rpm
tar -xvzf /usr/src/packages/SOURCES/ooRexx-3.0.0.tar.gz
The make ran but any attempt to execute rexx
results in a segmentation fault.
Question 1: was my installation correct? I
couldn't find any install instructions?
Question 2: Should it work on zSeries Linux
(SLES9 64-bit SP2)?
better late then never: a pkg installed via a pkg mgr such as RPM should not install anything under /usr/local
Unfortunately, the zSeries platform is a bit of a problem for us. We have another user who is getting an error on the compile of the source code on zSeries (Suse). Yours is at least compiling and installing correctly (your steps are correct at least). So I am not sure what to do at this point.
None of the ooRexx team has access to a zSeries machine in order to debug this sort of thing. If you can give me access to the machine I will try to do what I can. Send me a note at firstname.lastname@example.org.
I'll get with you offline. BTW, I got a warning on
most of the compiles:
In file included from lib/RexxPlatformDefinitions.h:54,
kernel/messages/RexxErrorCodes.h:550:1: warning: no newline at end of file
But I don't think that's the problem.
I recompiled with -g3 and -mdebug, and changed the rexx shell script to invoke with gdb:
(gdb) run -i
Starting program: /root/ooRexx/ooRexx-3.0.0/.libs/lt-rexx -i
[Thread debugging using libthread_db enabled]
[New Thread 2199028002176 (LWP 10964)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 2199028002176 (LWP 10964)]
NormalSegmentSet::allocateObject (this=0x2000017b748, allocationLength=56)
106 this->next->previous = this->previous;
(gdb) print this
$1 = (class NormalSegmentSet * const) 0x2000017b748
(gdb) print this->next
Cannot take address of a method
(gdb) print this->previous
There is no member or method named previous.
Is that helpful?
requestLength=56) at RexxMemory.cpp:835
size=<value optimized out>) at IntegerClass.cpp:983
With some help from David Ashley, I was able to build
on a 31-bit zLinux machine, and then install the RPM
on my 64-bit zLinux machine. Here's what I did on the 31-bit machine, which was running SLES9 SP3:
rpm -i /mnt/lnxec399/ooRexx/ooRexx-3.0.0-1.src.rpm
rpmbuild -tp SOURCES/ooRexx-3.0.0.tar.gz
In the %files section, change all the /usr/local/man/man1/.1 entries to /usr/local/man/man1/.1.gz and I had to add /usr/local/share/ooRexx/readme.
rpmbuild -bb BUILD/ooRexx-3.0.0/platform/unix/oorexx.spec
The rpm will be in /usr/src/packages/RPMS/s390/ooRexx-3.0.0-1.s390.rpm
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.