How to install from source on Linux

  • Chuck Tribolet

    Chuck Tribolet - 2006-03-31

    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
    mkdir ooRexx
    cd ooRexx
    rpm -i ooRexx-3.0.0-1.src.rpm
    tar -xvzf /usr/src/packages/SOURCES/ooRexx-3.0.0.tar.gz
    cd /ooRexx-3.0.0
    make clean

    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)?

    Chuck Tribolet

    • Jerome Potts

      Jerome Potts - 2009-08-15

      better late then never: a pkg installed via a pkg mgr such as RPM should not install anything under /usr/local

    • David Ashley

      David Ashley - 2006-03-31

      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

    • Chuck Tribolet

      Chuck Tribolet - 2006-03-31

      I'll get with you offline. BTW, I got a warning on
      most of the compiles:

      In file included from lib/RexxPlatformDefinitions.h:54,
      from lib/RexxLibrary.h:147,
      from kernel/runtime/RexxCore.h:58,
      from kernel/classes/ArrayClass.cpp:72:
      kernel/messages/RexxErrorCodes.h:550:1: warning: no newline at end of file

      But I don't think that's the problem.


    • Chuck Tribolet

      Chuck Tribolet - 2006-03-31

      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)
      at DeadObject.hpp:106
      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?


    • Chuck Tribolet

      Chuck Tribolet - 2006-03-31

      (gdb) bt

      0 NormalSegmentSet::allocateObject (this=0x2000017b748, allocationLength=56)

      at DeadObject.hpp:106

      1 0x000002000012228a in RexxMemory::newObject (this=0x2000017b608,

      requestLength=56) at RexxMemory.cpp:835

      2 0x00000200000a4aba in RexxInteger::operator new (

      size=<value optimized out>) at IntegerClass.cpp:983

      3 0x00000200000a4f0e in RexxIntegerClass (this=0x200004c80b8)

      at IntegerClass.cpp:940

      4 0x00000200000a4fe0 in integer_create () at IntegerClass.hpp:147

      5 0x00000200001234f2 in memoryCreate () at RexxMemory.cpp:2028

      6 0x000002000012bbd0 in kernelInit () at Setup.cpp:538

      7 0x0000020000131c10 in createImage () at Setup.cpp:1639

      8 0x000002000012a2dc in RexxInitialize () at RexxStartup.cpp:338

      9 0x0000000080000e82 in main (argc=2, argv=0x3fffffff3b8) at rexx.cpp:150

    • Chuck Tribolet

      Chuck Tribolet - 2006-04-06

      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
      cd /usr/src/packages
      rpmbuild -tp SOURCES/ooRexx-3.0.0.tar.gz
      vim BUILD/ooRexx-3.0.0/platform/unix/oorexx.spec
      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.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks