Re: Problem with 32 bits executable on HP11 and SHLIB_PATH

From: Andrey Babayan (andrey_at_numeca.be)
Date: 01/12/04


Date: Mon, 12 Jan 2004 14:28:46 +0100

This is source files for previous message:

main.C

#include <iostream.h>

extern void foo();

int main()
  {
    foo();
  }

mylib.C:

#include <iostream.h>

void foo()
        {
          cout << " Hello world from shared " << endl;
}

"Andrey Babayan" <andrey@numeca.be> wrote in message
news:btu52u$g8b$1@reader08.wxs.nl...
> Hello,
>
> I have a small example consisting of two files, in attachement.
>
> With the first file, I make a shared library, while with the second one
> (that contains
> the main) I compile an executable that links with the shared library.
>
> I use the following commands:
>
> aCC +z -c mylib.C
> aCC -b -o libmylib.sl
> aCC main.C -L ./ -lmylib
>
> This create a linmylib.sl file and a a.out executable which I can run
> without problem.
> However, when I move the shared library to another place, I cannot run
> a.out anymore. Exemple:
>
> mkdir tmp
> mv libmylib.sl tmp
> setenv SHLIB_PATH /raid/michel/tmp/_create_shared_library/tmp
> a.out
>
> I get the following error message:
>
> /usr/lib/dld.sl: Can't open shared library: .//libmylib.sl
> /usr/lib/dld.sl: No such file or directory
> Abort (core dumped)
>
> I can find no way to indicate a.out to use the library in the tmp
> directory.
>
> HOWEVER, when I compile everthing with +DD64, it works without any
> problem (SHLIB_PATH works)
>
> Can you advice me about this problem (only related to 32 bits
> executable)
>
>
> --
> Andrey Babayan,
> System Administrator
> NUMECA International
> Av. Franklin Roosevelt 5
> B-1050 Brussels Belgium
> Tel: +32 2 643.35.73 (direct)
> +32 2 647.83.11 (main) ext 833
> Fax: +32 2 647.93.98
> http://www.numeca.com
>
>



Relevant Pages