failed to build libpq.so on AIX 4 and 5/I have a solution

Started by Tomoyuki Niijimaalmost 24 years ago2 messagespatches
Jump to latest
#1Tomoyuki Niijima
NIIJIMA@jp.ibm.com

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

#2Bruce Momjian
bruce@momjian.us
In reply to: Tomoyuki Niijima (#1)
Re: failed to build libpq.so on AIX 4 and 5/I have a solution

Your patch has been added to the PostgreSQL unapplied patches list at:

http://207.106.42.251/cgi-bin/pgpatches

I will try to apply it within the next 48 hours.

---------------------------------------------------------------------------

Tomoyuki Niijima wrote:

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

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

-- 
  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, Pennsylvania 19073