[Freeswitch-users] configure fails to find libpq
Steven Ayre
steveayre at gmail.com
Fri Jun 14 14:05:58 MSD 2013
Err, that should be
LDFLAGS="$LDFLAGS -L`$PG_CONFIG --libdir`"
On 14 June 2013 17:02, Steven Ayre <steveayre at gmail.com> wrote:
> Adding this line immediately before AC_CHECK_LIB, bootstrap.sh again, and
> then try configure.
>
> LDFLAGS="$LDFLAGS `$PG_CONFIG --libdir`"
>
> It's a possible workaround rather than an actual fix (and an ugly one at
> that since it then keeps that lib directory for the rest of the script).
> One I haven't actually tested since libpq-dev on my system (Debian)
> installs to /usr/lib so doesn't have your issue. So let us know how you get
> on with it.
>
> If detected POSTGRESQL_LDFLAGS is already set containing the correct path
> so if that's what gets used by the build it might not be a problem past the
> configure stage.
>
> -Steve
>
>
>
>
> On 14 June 2013 16:58, Steven Ayre <steveayre at gmail.com> wrote:
>
>> Looks to me like a bug in configure.in...
>>
>> 427: AC_CHECK_LIB([pq], [PQgetvalue],, AC_MSG_ERROR([no usable libpq;
>> please install PostgreSQL devel package or equivalent]))
>>
>> Is the test whether it can link to libpq by checking if the PQgetvalue
>> function is available, problem is it doesn't seem to use the pg_config
>> values. So on a system like yours where libpq is installing to somewhere
>> other than the main lib directories it's unable to detect the libary.
>>
>> File a Jira to track this if you haven't already done so.
>>
>> -Steve
>>
>>
>> On 14 June 2013 15:35, Claus Andersen <clan at wheel.dk> wrote:
>>
>>> On Thu, 13 Jun 2013, Steven Ayre wrote:
>>>
>>> To answer your question of what the test is doing, it'll take the
>>>> required flags/libs from pg_config (which it
>>>> looks like it found) and then try compiling a tiny program linking to
>>>> it to check if the library exists and when
>>>> testing functions if that function is exported by that version of the
>>>> library. Any compile error means 'no'.
>>>> That ac_ variable is checking if its 'set' which'd mean the test
>>>> passed. Config.log will show all the tests
>>>> being run and any error output for them.
>>>> -Steve
>>>>
>>>
>>> Thank you very much. Most helpful!
>>>
>>> I had only tail'ed config.log and further up I found:
>>>
>>> configure:19550: checking for PostgreSQL libraries
>>> configure:19584: checking for PQgetvalue in -lpq
>>> configure:19619: gcc -o conftest -g -O2 conftest.c -lpq -lodbc >&5
>>> /usr/bin/ld: cannot find -lpq
>>> collect2: ld returned 1 exit status
>>> configure:19626: $? = 1
>>>
>>> So the linker is not able to find and include the library. The empty
>>> spaces after -O2 and -lpq might indicate that some empty variables might
>>> have been inserted.
>>>
>>> From configure I know that we can find pg_config:
>>>>
>>>
>>> checking for pg_config... /usr/pgsql-9.2/bin/pg_config
>>> checking for PostgreSQL libraries... checking for PQgetvalue in -lpq...
>>> no
>>> configure: error: no usable libpq; please install PostgreSQL devel
>>> package or equivalent
>>>
>>> And from the shell I know I get the proper path:
>>> $ pg_config --libdir
>>> /usr/pgsql-9.2/lib
>>>
>>> And from the configure script it looks like the correct parameter is
>>> used:
>>> POSTGRESQL_LDFLAGS="`$PG_**CONFIG --ldflags` -L`$PG_CONFIG --libdir`
>>> -lpq"
>>>
>>> It looks like these flags are not passed to gcc/ld when linking
>>> conftest.c
>>>
>>> My conclusion is then that pg_config is found and the correct options
>>> and path are extracted but they are not used (ignored?) during testing. Or
>>> if they should be used - something even more serious is wrong.
>>>
>>> If that conclusion is correct I will file a Jira. The fix should be
>>> trivial for people in the know. I cannot determine whether the libdir
>>> should be added during the test. Or if pg_config should be ignored
>>> completely and replaced with a simple -with-pgsql-lib=dir.
>>>
>>> If I set LDFLAGS before I do a configure it works:
>>> $ LDFLAGS="${LDFLAGS} -L/usr/pgsql-9.2/lib"
>>> $ export LDFLAGS
>>> $./configure --enable-core-pgsql-support
>>>
>>> Configure then runs smoothly. Make does however fail but that is another
>>> issue I'll put in a seperate thread.
>>>
>>> With LDFLAGS set the relevant part of config.log now looks like this:
>>> configure:19604: checking for PQgetvalue in -lpq
>>> configure:19639: gcc -o conftest -g -O2 -L/usr/pgsql-9.2/lib
>>> conftest.c -lpq -lodbc >&5
>>> configure:19646: $? = 0
>>> configure:19667: result: yes
>>>
>>> Do you agree that this is a "proper" issue?
>>>
>>> Kind Regards,
>>> Claus Andersen
>>> _________________________________________________________________________
>>> Professional FreeSWITCH Consulting Services:
>>> consulting at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>>
>>>
>>>
>>>
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://wiki.freeswitch.org
>>> http://www.cluecon.com
>>>
>>> FreeSWITCH-users mailing list
>>> FreeSWITCH-users at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> http://www.freeswitch.org
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130614/4d4ed4e8/attachment.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list