I'm posting this report to pgsql-bugs@postgresql.org too. I aware the fact
that I posted mostly the same report to pgsql-bugs@postgresql.org about two
month ago. Though, I had a mistake on it. I needed -Wl, before -bnoentry
to support gcc.
PoorTom
----- Forwarded by Tomoyuki Niijima/Japan/IBM on 2002/09/02 08:33 -----
Tomoyuki Niijima
To: pgsql-patches@postgresql.org
2002/08/30 02:06 cc:
From: Tomoyuki Niijima/Japan/IBM@IBMJP
Subject: failed to build libpq.so on AIX 4 and 5/I have a
solution
Your name : Tomoyuki Niijima
Your email address : niijima@jp.ibm.com
System Configuration
---------------------
Architecture (example: Intel Pentium) : any model of RS/6000
Operating System (example: Linux 2.0.26 ELF) : AIX 4.3.3 or later
PostgreSQL version (example: PostgreSQL-7.2.1): PostgreSQL-7.2.1
Compiler used (example: gcc 2.95.2) : gcc 2.9
Please enter a FULL description of your problem:
------------------------------------------------
I tried to build PostgreSQL on AIX 4 and 5 but failed to build libpq.so.
Please describe a way to repeat the problem. Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------
./configure --enable-multibyte=EUC_JP --with-CC=gcc
make
If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------
You need to specify -bnoentry option for ld when you build shared library,
on AIX 4 or later. Here is a patch. This works for xlc too.
*** ./src/Makefile.shlib.org Mon Nov 12 04:20:53 2001
--- ./src/Makefile.shlib Fri Aug 30 01:42:17 2002
***************
*** 320,326 ****
# AIX case
$(shlib): lib$(NAME).a
$(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
! $(COMPILER) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:
$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) -o
$@ $< $(LDFLAGS) $(SHLIB_LINK) $(LDFLAGS_SL)
endif # PORTNAME == aix
--- 320,326 ----
# AIX case
$(shlib): lib$(NAME).a
$(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
! $(COMPILER) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:
$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) -o
$@ $< $(LDFLAGS) $(SHLIB_LINK) $(LDFLAGS_SL) -Wl,-bnoentry
endif # PORTNAME == aix