On Tue, Oct 19, 2010 at 10:52 AM, David Ashley
<david.ashley....@gmail.com> wrote:
...
>
> BTW - it bothers me that no one seems to have done any testing of the rpm 
> builds
> I have been doing except me. It make me wonder why I am going to all this 
> work.

Well, I've been out of town and haven't had access to my Linux
systems.  But, testing your builds this weekend is why I started this
thread.

1.) On a debian system, trying to build the external binaries in the
test suite fails for me.  Before you made the Linux build changes, it
worked fine.

2.) On  a debian system, I have a small program to test dynamically
loading the rexx and rxapi libraries.  After the change to the
location of the libraries, it stopped working.  It works for the 4.0.1
release.

3.) Then, to try and see if this was a debian only problem, I
installed the Fedora Core 13 64-bit rpm on my Fedora system, and rexx
wouldn't even run.  I don't have the message output here, but it
basically said that librexx.so couldn't be located.

#1 can be fixed by changing the make file.  But, that shouldn't be
necessary.  To test, use this command line for the test suite:

./testOORexx.rex -B -n -V 6

#2 can be fixed either by creating the symbolic links, or by adding a
file to /etc/ld.so.conf.d as outlined by Erico.

#3 As I mentioned, I was in a hurry when I had access to the Fedora
Core 13 machine.  I simply did an install of the rpm and tried rexx
-v.  It could be the problem is not related to the library location.
But, then there is some other problem.  A simple install should have
worked.

# 2  here is the dlopen test code:

/**
 * Test to see if librexx.so and librexxapi.so can be dynamically loaded and
 * used.
 *
 * To compile use
 *
 *   gcc -o dlOpenTest dlOpenTest.c -ldl
 */
#include <stdlib.h>
#include <stdio.h>
#include <dlfcn.h>
#include <oorexxapi.h>

int main(int argc, char **argv) {
    void *hRexx, *hRxapi;
    char *str;
    char *rexxLibName = "librexx.so";
    char *rexxapiLibName = "librexxapi.so";
    PFNGETVERSIONINFORMATION getVer;

    hRexx = dlopen(rexxLibName, RTLD_LAZY);
    if ( !hRexx ) {
        fputs(dlerror(), stderr);
        exit(1);
    }
    printf("dlopen worked for %s, handle=%p\n", rexxLibName, hRexx);

    hRxapi = dlopen(rexxapiLibName, RTLD_LAZY);
    if ( !hRxapi ) {
        fputs (dlerror(), stderr);
        dlclose(hRexx);
        exit(1);
    }
    printf("dlopen worked for %s, handle=%p\n", rexxapiLibName, hRxapi);

    getVer = dlsym(hRexx, "RexxGetVersionInformation");
    str = dlerror();
    if ( !getVer )  {
        printf("dlsym getVer=%p error=%s\n", getVer, str);
        exit(1);
    }
    printf("dlsy worked for RexxGetVersionInformation, function
pointer=%p\n", getVer);

    str = (getVer)();
    printf("\nooRexx Version Information:\n\n%s\n\n", str);

    dlclose(hRexx);
    dlclose(hRxapi);

    return 0;
}


#1  Here is the complete output from the test suite test:

:~/work/tools/wc/ooTest/4.x$ . setTestEnv.sh
Setting env for Linux
:~/work/tools/wc/ooTest/4.x$ ./testOORexx.rex -B -n -V 6

ooTest Framework - Automated Test of the ooRexx Interpreter


Interpreter:     REXX-ooRexx_4.1.0(MT) 6.03 15 Oct 2010
Addressing Mode: 32
ooRexxUnit:      2.0.0_3.2.0    ooTest: 1.0.0_4.0.0

Tests ran:           0
Assertions:          0
Failures:            0
  (Known failures:)  0
Errors:              0
Exceptions:          1
Skipped files:       0
Messages:            0
Logs:                1

[Framework exception] [20101019 11:07:19.776849]
  Type: External Command Failure Severity: Severe
  File: /home/miesfeld/work/tools/wc/ooTest/4.x/building.frm
  Line: 222
  Failed to build external binaries
  Issuing make failed
  Command line: make -f Makefile.linux
  Return code:  2
  Location: /home/miesfeld/work/tools/wc/ooTest/4.x/external/API/Makefile.linux

gcc -c -fPIC -I /home/miesfeld/work/tools/wc/ooTest/4.x/api -I
/home/miesfeld/work/tools/wc/ooTest/4.x/api/platform/unix
orxfunction.cpp
gcc --export-dynamic -shared -nostartfiles
-L/home/miesfeld/work/tools/wc/ooTest/4.x/.libs -lrexx -lrexxapi -o
liborxfunction.so orxfunction.o
/usr/bin/ld: cannot find -lrexx
collect2: ld returned 1 exit status
make: *** [liborxfunction.so] Error 1


Interpreter:     REXX-ooRexx_4.1.0(MT) 6.03 15 Oct 2010
Addressing Mode: 32
ooRexxUnit:      2.0.0_3.2.0    ooTest: 1.0.0_4.0.0

Tests ran:           0
Assertions:          0
Failures:            0
  (Known failures:)  0
Errors:              0
Exceptions:          1
Skipped files:       0
Messages:            0
Logs:                1

Total time:         00:00:01.777142

:~/work/tools/wc/ooTest/4.x$

So, see, someone is testing your builds.  They just are getting
different results than you are.  <grin>

--
Mark Miesfeld

------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly 
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to