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

Started by Tomoyuki Niijimaover 23 years ago2 messagesbugs
Jump to latest
#1Tomoyuki Niijima
NIIJIMA@jp.ibm.com

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

#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

Patch applied. Thanks.

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

Tomoyuki Niijima wrote:

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

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" 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