Thread: libpgeasy on AIX

libpgeasy on AIX

From
twinsen
Date:
<sigh> 

I feel like an dunce...

Thanks to all that helped with my last query - I got
postgres compiled on AIX.

Now I have this problem:

I tried to compile libpgeasy and get the following:
make is gnumake 3.79.1 and the compiler is gcc 3.3.2
I presume that the equivalent of ldconfig is to set
$LIBPATH? Something is wrong with $SHARED but I dont
know what.


vodagpccspivr1:/home/dtuser/postgresql-7.4.1/pgeasy-3.0.1>
./make
gcc libpgeasy.o halt.o -L/usr/local/pgsql/lib -lpq
-fpic -shared -Wl,-x,-soname,libpgeasy.so.3
-Wl,-rpath,/usr/local/pgsql/lib -o libpgeasy.so.3.0
ld: 0706-027 The -x flag is ignored.
ld: 0706-012 The -p flag is not recognized.
ld: 0706-012 The -a flag is not recognized.
ld: 0706-012 The -t flag is not recognized.
ld: 0706-012 The -h flag is not recognized.
ld: 0706-005 Cannot find or open file: libpgeasy.so.3       ld:open(): A file or directory in the path
name does not exist.
collect2: ld returned 255 exit status
make: *** [libpgeasy.so.3.0] Error 1

Thanks in advance

Craig


__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools


Re: libpgeasy on AIX

From
Bruce Momjian
Date:
twinsen wrote:
> <sigh> 
> 
> I feel like an dunce...
> 
> Thanks to all that helped with my last query - I got
> postgres compiled on AIX.
> 
> Now I have this problem:
> 
> I tried to compile libpgeasy and get the following:
> make is gnumake 3.79.1 and the compiler is gcc 3.3.2
> I presume that the equivalent of ldconfig is to set
> $LIBPATH? Something is wrong with $SHARED but I dont
> know what.
> 
> 
> vodagpccspivr1:/home/dtuser/postgresql-7.4.1/pgeasy-3.0.1>
> ./make
> gcc libpgeasy.o halt.o -L/usr/local/pgsql/lib -lpq
> -fpic -shared -Wl,-x,-soname,libpgeasy.so.3
> -Wl,-rpath,/usr/local/pgsql/lib -o libpgeasy.so.3.0
> ld: 0706-027 The -x flag is ignored.
> ld: 0706-012 The -p flag is not recognized.
> ld: 0706-012 The -a flag is not recognized.
> ld: 0706-012 The -t flag is not recognized.
> ld: 0706-012 The -h flag is not recognized.
> ld: 0706-005 Cannot find or open file: libpgeasy.so.3
>         ld:open(): A file or directory in the path
> name does not exist.
> collect2: ld returned 255 exit status
> make: *** [libpgeasy.so.3.0] Error 1

Seems like gcc doesn't like your -x or -rpath.  Not sure why.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: libpgeasy on AIX

From
Peter Eisentraut
Date:
Bruce Momjian wrote:
> Seems like gcc doesn't like your -x or -rpath.  Not sure why.

It's a linker option, not a gcc option.



Re: libpgeasy on AIX

From
Craig Gibson
Date:
Thanks! That gave me the lead...

-shared will invoke AIX's linker: -rpath is a GNU ld option. The AIX
equivalent is -blibpath. However after reading through
http://www-106.ibm.com/developerworks/eserver/articles/gnu.html I just
changed the Makefile by changing 
SHARED= -fpic -shared -Wl,-x,-soname,$(TARGET).so.$(SO_MAJOR_VERSION)
-Wl,-rpath,$(POSTGRES_HOME)/lib to
SHARED= -fpic -shared and then set $LIBPATH to include
/usr/local/pgsql/lib

That did the trick for me, maybe it will help someone else.

On Mon, 2004-03-01 at 22:30, Peter Eisentraut wrote:
> Bruce Momjian wrote:
> > Seems like gcc doesn't like your -x or -rpath.  Not sure why.
> 
> It's a linker option, not a gcc option.
>