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

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

From
"Tomoyuki Niijima"
Date:
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






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

From
Bruce Momjian
Date:
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