Ok, hard stop.

I made NO CHANGES to the debian build!!!!! I only made changes to the RPM 
build. 
So something is now broken in the debian build.

Also I found this web page that explains how you don't need to have links to 
/usr/lib or /usr/lib64 or entries in the ld cache file. It is done when an 
executable is linked. I verified that this is the method that is being used by 
our build configure.make process. It encode library search paths into the 
executable.

http://www.eyrie.org/~eagle/notes/rpath.html

So it all starts to make sense now.

David Ashley

On 10/19/2010 01:39 PM, Mark Miesfeld wrote:
> On Tue, Oct 19, 2010 at 10:52 AM, David Ashley
> <[email protected]>  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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>


------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to