Re: building 9.1 on suse-11.4 (64bit) - Mailing list pgsql-general

From Rob Sargent
Subject Re: building 9.1 on suse-11.4 (64bit)
Date
Msg-id 4E0217FF.2090203@gmail.com
Whole thread Raw
In response to Re: building 9.1 on suse-11.4 (64bit)  (Rob Sargent <robjsargent@gmail.com>)
Responses Re: building 9.1 on suse-11.4 (64bit) - EOF  (Rob Sargent <robjsargent@gmail.com>)
Re: building 9.1 on suse-11.4 (64bit)  (Rob Sargent <robjsargent@gmail.com>)
List pgsql-general

On 06/21/2011 06:58 PM, Rob Sargent wrote:
>
>
> On 06/21/2011 06:49 PM, Tom Lane wrote:
>> Rob Sargent <robjsargent@gmail.com> writes:
>>> Seems to me a lot of the needed standard libraries are in '/lib64' and
>>> the linker isn't looking for them there?  So far I've hit libreadline
>>> and libz.  Do I just keep making the sim-links into /usr/lib64?
>>
>> Most of the required libraries are in /lib64 on my Fedora box, too,
>> and it works just fine.  You have not provided any information that
>> would let anyone diagnose your problem, but making random symlinks
>> in /usr/lib64 doesn't sound like the right path to a solution.
>>
>>             regards, tom lane
>
> Here's what I hope is relevant:
>
> gcc --version
> gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]
> Copyright (C) 2010 Free Software Foundation, Inc.
>
> Here's my config call:
>
> ./configure --with-python --with-openssl --with-ldap --with-ossp-uuid
> --with-libxml --with-libxslt --enable-debug --prefix=/opt/PostgreSQL/9.1
>
>
> The tail of config.log follows.  As I confessed, libreadline had to be
> simlinked into /usr/lib64, then I hit libz (as this log shows) and
> started to doubt myself (even more).
>
> configure:8316: checking for library containing readline
> configure:8358: gcc -o conftest -O2 -Wall -Wmissing-prototypes
> -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
> -Wformat-security -fno-strict-aliasing -fwrapv -g  -D_GNU_SOURCE
> conftest.c -lreadline -lcrypt -ldl -lm  >&5
> configure:8365: $? = 0
> configure:8405: result: -lreadline
> configure:8432: checking for inflate in -lz
> configure:8467: gcc -o conftest -O2 -Wall -Wmissing-prototypes
> -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
> -Wformat-security -fno-strict-aliasing -fwrapv -g  -D_GNU_SOURCE
> conftest.c -lz  -lreadline -lcrypt -ldl -lm  >&5
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld:
> cannot find -lz
> collect2: ld returned 1 exit status
> configure:8474: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME "PostgreSQL"
> | #define PACKAGE_TARNAME "postgresql"
> | #define PACKAGE_VERSION "9.1beta2"
> | #define PACKAGE_STRING "PostgreSQL 9.1beta2"
> | #define PACKAGE_BUGREPORT "pgsql-bugs@postgresql.org"
> | #define PG_VERSION "9.1beta2"
> | #define PG_MAJORVERSION "9.1"
> | #define USE_INTEGER_DATETIMES 1
> | #define DEF_PGPORT 5432
> | #define DEF_PGPORT_STR "5432"
> | #define BLCKSZ 8192
> | #define RELSEG_SIZE 131072
> | #define XLOG_BLCKSZ 8192
> | #define XLOG_SEG_SIZE (16 * 1024 * 1024)
> | #define ENABLE_THREAD_SAFETY 1
> | #define PG_KRB_SRVNAM "postgres"
> | #define USE_LDAP 1
> | #define USE_SSL 1
> | #define USE_LIBXML 1
> | #define USE_LIBXSLT 1
> | #define HAVE_LIBM 1
> | #define HAVE_LIBREADLINE 1
> | /* end confdefs.h.  */
> |
> | /* Override any GCC internal prototype to avoid an error.
> |    Use char because int might match the return type of a GCC
> |    builtin and then its argument prototype would still apply.  */
> | #ifdef __cplusplus
> | extern "C"
> | #endif
> | char inflate ();
> | int
> | main ()
> | {
> | return inflate ();
> |   ;
> |   return 0;
> | }
> configure:8495: result: no
> configure:8508: error: zlib library not found
> If you have zlib already installed, see config.log for details on the
> failure.  It is possible the compiler isn't looking in the proper directory.
> Use --without-zlib to disable zlib support.
>

Hm, ought I kick this over to an openSuse group?


Suse's package manager seems a bit off:  for instance it shows
readline-devel as installed and in the Files list: the includes are correct
    /usr/include/readline
        chardefs.h, history.h, keymaps.h, readline.h,
        rlconf.h, rlstdc.h, rltypedefs.h, tilde.h

but claims
    /usr/lib64
        libhistory.so, libreadline.so

and those are not in the filesystem (after I unlinked of course)

The package manager has libreadline's File list correct:
    /lib64
        libhistory.so.6, libreadline.so.6
but that obviously disagrees with readline-devel.



pgsql-general by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: unique across two tables
Next
From: "David Johnston"
Date:
Subject: Re: unique across two tables