Thread: configure fails on solaris

configure fails on solaris

From
Edwin New
Date:

I'm trying to run configure on Solaris.  At line 13509, conftest fails.  I hope someone can suggest what the problem is.

I'm not running it as root, but as the user teprpg01 in a group that has write permissions to the directory tree.

Here's an excerpt from config.log with the error at the end (I snipped the middle):

--------------------------------------------------------------
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by PostgreSQL configure 7.4.2, which was
generated by GNU Autoconf 2.53.  Invocation command line was

  $ ./configure --with-java --with-pgport=6100 --prefix=/usr/local/teprpg01

## --------- ##
## Platform. ##
## --------- ##

hostname = webm-qa
uname -m = sun4u
uname -r = 5.9
uname -s = SunOS
uname -v = Generic_117171-01

/usr/bin/uname -p = sparc
/bin/uname -X     = System = SunOS
Node = webm-qa
Release = 5.9
KernelID = Generic_117171-01
Machine = sun4u
BusType = <unknown>
Serial = <unknown>
Users = <unknown>
OEM# = 0
Origin# = 1
NumCPU = 1

[snip]

configure:13492: checking test program
configure:13504: gcc -o conftest -O2 -fno-strict-aliasing     conftest.c -lz -lreadline -ltermcap -lrt -lresolv -lgen -l

socket -lnsl -ldl -lm  >&5
configure:13507: $? = 0
configure:13509: ./conftest
ld.so.1: ./conftest: fatal: libreadline.so.4: open failed: No such file or directory
./configure: line 1: 26938 Killed                  ./conftest$ac_exeext
configure:13512: $? = 137
configure: program exited with status 137
configure: failed program was:
#line 13498 "configure"
#include "confdefs.h"
int main() { return 0; }
configure:13521: result: failed
configure:13526: error:
*** Could not execute a simple test program.  This may be a problem
*** related to locating shared libraries.  Check the file 'config.log'
*** for the exact reason.

Re: configure fails on solaris

From
"Stergios Zissakis"
Date:
Configrure fails to run a test problem. When I came across this it was the LD_LIBRARY_PATH that was wrong.
Keep in mind that configure is a script which fork execs a new shell. If the LD_LIBRARY_PATH is not pointing to the right places (libz, readline, etc) configure will fail.
 
Modify your .profile or the file your ENV variable points to, to include the right path LD_LIBRARY_PATH.
 
Hope this helps.
 
Regards,
Sterge
-----Original Message-----
From: pgsql-ports-owner@postgresql.org [mailto:pgsql-ports-owner@postgresql.org]On Behalf Of Edwin New
Sent: Thursday, June 24, 2004 10:48 AM
To: pgsql-ports@postgresql.org
Subject: [PORTS] configure fails on solaris

I'm trying to run configure on Solaris.  At line 13509, conftest fails.  I hope someone can suggest what the problem is.

I'm not running it as root, but as the user teprpg01 in a group that has write permissions to the directory tree.

Here's an excerpt from config.log with the error at the end (I snipped the middle):

--------------------------------------------------------------
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by PostgreSQL configure 7.4.2, which was
generated by GNU Autoconf 2.53.  Invocation command line was

  $ ./configure --with-java --with-pgport=6100 --prefix=/usr/local/teprpg01

## --------- ##
## Platform. ##
## --------- ##

hostname = webm-qa
uname -m = sun4u
uname -r = 5.9
uname -s = SunOS
uname -v = Generic_117171-01

/usr/bin/uname -p = sparc
/bin/uname -X     = System = SunOS
Node = webm-qa
Release = 5.9
KernelID = Generic_117171-01
Machine = sun4u
BusType = <unknown>
Serial = <unknown>
Users = <unknown>
OEM# = 0
Origin# = 1
NumCPU = 1

[snip]

configure:13492: checking test program
configure:13504: gcc -o conftest -O2 -fno-strict-aliasing     conftest.c -lz -lreadline -ltermcap -lrt -lresolv -lgen -l

socket -lnsl -ldl -lm  >&5
configure:13507: $? = 0
configure:13509: ./conftest
ld.so.1: ./conftest: fatal: libreadline.so.4: open failed: No such file or directory
./configure: line 1: 26938 Killed                  ./conftest$ac_exeext
configure:13512: $? = 137
configure: program exited with status 137
configure: failed program was:
#line 13498 "configure"
#include "confdefs.h"
int main() { return 0; }
configure:13521: result: failed
configure:13526: error:
*** Could not execute a simple test program.  This may be a problem
*** related to locating shared libraries.  Check the file 'config.log'
*** for the exact reason.

Re: configure fails on solaris

From
Tom Lane
Date:
"Stergios Zissakis" <szis@intranet.gr> writes:
> Modify your .profile or the file your ENV variable points to, to include the
> right path LD_LIBRARY_PATH.

Specifically, I'd bet that libreadline is in /usr/local/lib, which gcc
will search by default during linking (if it was built with default
configuration).  If you don't have the dynamic linker configured to use
the same search path as gcc, you're in for lots of trouble.

            regards, tom lane

Re: configure fails on solaris

From
"Stergios Zissakis"
Date:
I don't use gcc. I user CC instead. Unfortunatly readline is not present in
either Solaris 7 or 8.
I had to built it from scratch and includ it in my PostgreSQL distribution;
I didn't want to go the --without-readline way.

As for the configuration of the dynamic linker, I did not touch it at all. I
use LD_LIBRARY_PATH and
have configured PostgreSQL (./configure script) with the
appropriate --with-includes and --with-libraries options. Is there anything
wrong with this configuration?

Thanks for you comment anyway; I might get to configure the dynamic linker
if I ever get the root password!!!

Regards,
Sterge




-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Thursday, June 24, 2004 4:58 PM
To: Stergios Zissakis
Cc: Edwin New; pgsql-ports@postgresql.org
Subject: Re: [PORTS] configure fails on solaris


"Stergios Zissakis" <szis@intranet.gr> writes:
> Modify your .profile or the file your ENV variable points to, to include
the
> right path LD_LIBRARY_PATH.

Specifically, I'd bet that libreadline is in /usr/local/lib, which gcc
will search by default during linking (if it was built with default
configuration).  If you don't have the dynamic linker configured to use
the same search path as gcc, you're in for lots of trouble.

            regards, tom lane


Re: configure fails on solaris

From
Tom Lane
Date:
"Stergios Zissakis" <szis@intranet.gr> writes:
> I don't use gcc. I user CC instead.

Sure, but the OP was using gcc, according to his configure trace.

            regards, tom lane