undefined reference to `pcre_config'
Hi,
I'm trying to build MonetDB from source and running into an error during
configure.
Running ./configure gives:
...
...
checking for SHA256... yes
checking for SHA384... yes
checking for SHA512... yes
checking for pcre... yes
checking whether pcre comes with UTF-8 support... no
configure: error: PCRE library not found but required for MonetDB5
At the bottom of the email is the error in the config.log.
pcretest -C gives me:
PCRE version 8.38 2015-11-23
Compiled with:q
8-bit support
UTF-8 support
Unicode properties support
No just-in-time compiler support
Newline sequence is LF
\R matches all Unicode newlines
Internal link size = 2
POSIX malloc threshold = 10
Parentheses nest limit = 250
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack
The issue, I think, is I have PCRE version 8.38 built in a non-standard
location, /home/john/monetdb_prereq/pcre
export pcre_LIBS=-L/home/john/monetdb_prereq/pcre/lib
export pcre_CFLAGS=-I/home/john/monetdb_prereq/pcre/include
Any idea what I'm missing?
Thanks,
John
configure:20861: checking for SHA512
configure:20861: gcc -o conftest -g -O2 conftest.c -lssl -lcrypto -ldl
-lz >&5
configure:20861: $? = 0
configure:20861: result: yes
configure:20901: checking for pcre
configure:20966: result: yes
configure:20971: checking whether pcre comes with UTF-8 support
configure:20992: gcc -o conftest -g -O2
-I/home/john/monetdb_prereq/pcre/include conftest.c
-L/home/john/monetdb_prereq/pcre/lib >&5
/tmp/ccRjfKcQ.o: In function `main':
/home/john/MonetDB-11.21.17/conftest.c:66: undefined reference to
`pcre_config'
collect2: ld returned 1 exit status
configure:20992: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "MonetDB"
| #define PACKAGE_TARNAME "MonetDB"
| #define PACKAGE_VERSION "11.21.17"
| #define PACKAGE_STRING "MonetDB 11.21.17"
| #define PACKAGE_BUGREPORT "info@monetdb.org"
| #define PACKAGE_URL "http://www.monetdb.org/"
| #define PACKAGE "MonetDB"
| #define VERSION "11.21.17"
| #define HOST "x86_64-unknown-linux-gnu"
| #define MONETDB_RELEASE "Jul2015-SP3"
| #define HAVE_CONSOLE 1
| #define MONETDB5_PASSWDHASH "SHA512"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define SIZEOF_LONG 8
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define NDEBUG 1
| #define DIFF "diff"
| #define DIR_SEP '/'
| #define DIR_SEP_STR "/"
| #define PATH_SEP ':'
| #define PATH_SEP_STR ":"
| #define SO_PREFIX "lib"
| #define SO_EXT ".so"
| #define HAVE_LIBBZ2 1
| #define HAVE_MALLOPT 1
| #define HAVE_PTHREAD_H 1
| #define HAVE_SEMAPHORE_H 1
| #define HAVE_SCHED_H 1
| #define HAVE_PTHREAD_KILL 1
| #define HAVE_PTHREAD_SIGMASK 1
| #define HAVE_PTHREAD_SETSCHEDPRIO 1
| #define HAVE_LIBPTHREAD 1
| #define HAVE_LIBREADLINE 1
| #define HAVE_ICONV 1
| #define ICONV_CONST
| #define HAVE_UUID 1
| #define HAVE_MD5 1
| #define HAVE_RIPEMD160 1
| #define HAVE_SHA1 1
| #define HAVE_SHA224 1
| #define HAVE_SHA256 1
| #define HAVE_SHA384 1
| #define HAVE_SHA512 1
| #define HAVE_OPENSSL 1
| /* end confdefs.h. */
| #include
Hello,
For the future, the solution to my previous problem was to add -lpcre to my
export statement, and to add it to my LD_LIBRARY_PATH.
export "pcre_LIBS=-L/home/john/monetdb_prereq/pcre/lib -lpcre"
export LD_LIBRARY_PATH=/home/john/monetdb_prereq/pcre/lib:$LD_LIBRARY_PATH
Now I'm able to configure:
./configure --prefix=/home/john/monetdb --enable-sql --enable-geom
--with-geos=/home/john/GEOS/
However, during make I get an error with jdbc and odbc. Temporarily I've
disabled them with --disable-odbc --disable-jdbc
/bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I../../.. -I. -I../../mapilib -I./../../mapilib -I../../../common/options
-I./../../../common/options -DLIBMONETODBC -g -O2 -c -o
libMonetODBC_la-SQLGetFunctions.lo `test -f 'SQLGetFunctions.c' || echo
'./'`SQLGetFunctions.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I../../mapilib
-I./../../mapilib -I../../../common/options -I./../../../common/options
-DLIBMONETODBC -g -O2 -c SQLGetFunctions.c -fPIC -DPIC -o
.libs/libMonetODBC_la-SQLGetFunctions.o
/bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I../../.. -I. -I../../mapilib -I./../../mapilib -I../../../common/options
-I./../../../common/options -DLIBMONETODBC -g -O2 -c -o
libMonetODBC_la-SQLGetInfo.lo `test -f 'SQLGetInfo.c' || echo
'./'`SQLGetInfo.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I../../mapilib
-I./../../mapilib -I../../../common/options -I./../../../common/options
-DLIBMONETODBC -g -O2 -c SQLGetInfo.c -fPIC -DPIC -o
.libs/libMonetODBC_la-SQLGetInfo.o
SQLGetInfo.c: In function ‘MNDBGetInfo’:
SQLGetInfo.c:221: error: ‘SQL_CVT_GUID’ undeclared (first use in this
function)
SQLGetInfo.c:221: error: (Each undeclared identifier is reported only once
SQLGetInfo.c:221: error: for each function it appears in.)
SQLGetInfo.c:311: error: ‘SQL_CONVERT_GUID’ undeclared (first use in this
function)
make[7]: *** [libMonetODBC_la-SQLGetInfo.lo] Error 1
make[7]: Leaving directory `/home/john/MonetDB-11.21.17/clients/odbc/driver'
make[6]: *** [all] Error 2
make[6]: Leaving directory `/home/john/MonetDB-11.21.17/clients/odbc/driver'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/home/john/MonetDB-11.21.17/clients/odbc'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/home/john/MonetDB-11.21.17/clients/odbc'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/john/MonetDB-11.21.17/clients'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/john/MonetDB-11.21.17/clients'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/john/MonetDB-11.21.17'
make: *** [all] Error 2
Any advise?
Thanks,
John
On Fri, Apr 1, 2016 at 2:13 PM, John Krulick
Hi,
I'm trying to build MonetDB from source and running into an error during configure.
Running ./configure gives: ... ... checking for SHA256... yes checking for SHA384... yes checking for SHA512... yes checking for pcre... yes checking whether pcre comes with UTF-8 support... no configure: error: PCRE library not found but required for MonetDB5
At the bottom of the email is the error in the config.log.
pcretest -C gives me: PCRE version 8.38 2015-11-23 Compiled with:q 8-bit support UTF-8 support Unicode properties support No just-in-time compiler support Newline sequence is LF \R matches all Unicode newlines Internal link size = 2 POSIX malloc threshold = 10 Parentheses nest limit = 250 Default match limit = 10000000 Default recursion depth limit = 10000000 Match recursion uses stack
The issue, I think, is I have PCRE version 8.38 built in a non-standard location, /home/john/monetdb_prereq/pcre export pcre_LIBS=-L/home/john/monetdb_prereq/pcre/lib export pcre_CFLAGS=-I/home/john/monetdb_prereq/pcre/include
Any idea what I'm missing? Thanks, John
configure:20861: checking for SHA512 configure:20861: gcc -o conftest -g -O2 conftest.c -lssl -lcrypto -ldl -lz >&5 configure:20861: $? = 0 configure:20861: result: yes configure:20901: checking for pcre configure:20966: result: yes configure:20971: checking whether pcre comes with UTF-8 support configure:20992: gcc -o conftest -g -O2 -I/home/john/monetdb_prereq/pcre/include conftest.c -L/home/john/monetdb_prereq/pcre/lib >&5 /tmp/ccRjfKcQ.o: In function `main': /home/john/MonetDB-11.21.17/conftest.c:66: undefined reference to `pcre_config' collect2: ld returned 1 exit status configure:20992: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "MonetDB" | #define PACKAGE_TARNAME "MonetDB" | #define PACKAGE_VERSION "11.21.17" | #define PACKAGE_STRING "MonetDB 11.21.17" | #define PACKAGE_BUGREPORT "info@monetdb.org" | #define PACKAGE_URL "http://www.monetdb.org/" | #define PACKAGE "MonetDB" | #define VERSION "11.21.17" | #define HOST "x86_64-unknown-linux-gnu" | #define MONETDB_RELEASE "Jul2015-SP3" | #define HAVE_CONSOLE 1 | #define MONETDB5_PASSWDHASH "SHA512" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define SIZEOF_LONG 8 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define NDEBUG 1 | #define DIFF "diff" | #define DIR_SEP '/' | #define DIR_SEP_STR "/" | #define PATH_SEP ':' | #define PATH_SEP_STR ":" | #define SO_PREFIX "lib" | #define SO_EXT ".so" | #define HAVE_LIBBZ2 1 | #define HAVE_MALLOPT 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_SEMAPHORE_H 1 | #define HAVE_SCHED_H 1 | #define HAVE_PTHREAD_KILL 1 | #define HAVE_PTHREAD_SIGMASK 1 | #define HAVE_PTHREAD_SETSCHEDPRIO 1 | #define HAVE_LIBPTHREAD 1 | #define HAVE_LIBREADLINE 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_UUID 1 | #define HAVE_MD5 1 | #define HAVE_RIPEMD160 1 | #define HAVE_SHA1 1 | #define HAVE_SHA224 1 | #define HAVE_SHA256 1 | #define HAVE_SHA384 1 | #define HAVE_SHA512 1 | #define HAVE_OPENSSL 1 | /* end confdefs.h. */ | #include
| int | main () | { | int rc; pcre_config(PCRE_CONFIG_UTF8, &rc); exit(!rc); | ; | return 0; | } configure:20996: result: no configure:21021: error: PCRE library not found but required for MonetDB5
Hi John, briefly about the initial PCRE issue: If your self-built PCRE include a properly working pcre-config script, simply having the location of the script in your PATH should be sufficient. Configure uses pcre-config (if found) to set all compiler and linker flags as provided by that script. Regarding the ODBC problem, which version of UnixODBC is installed on your system? Best, Stefan ----- On Apr 6, 2016, at 12:02 AM, John Krulick jtk0@vt.edu wrote:
Hello,
For the future, the solution to my previous problem was to add -lpcre to my export statement, and to add it to my LD_LIBRARY_PATH. export "pcre_LIBS=-L/home/john/monetdb_prereq/pcre/lib -lpcre" export LD_LIBRARY_PATH=/home/john/monetdb_prereq/pcre/lib:$LD_LIBRARY_PATH
Now I'm able to configure: ./configure --prefix=/home/john/monetdb --enable-sql --enable-geom --with-geos=/home/john/GEOS/
However, during make I get an error with jdbc and odbc. Temporarily I've disabled them with --disable-odbc --disable-jdbc
/bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I../../mapilib -I./../../mapilib -I../../../common/options -I./../../../common/options -DLIBMONETODBC -g -O2 -c -o libMonetODBC_la-SQLGetFunctions.lo `test -f 'SQLGetFunctions.c' || echo './'`SQLGetFunctions.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I../../mapilib -I./../../mapilib -I../../../common/options -I./../../../common/options -DLIBMONETODBC -g -O2 -c SQLGetFunctions.c -fPIC -DPIC -o .libs/libMonetODBC_la-SQLGetFunctions.o /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I../../mapilib -I./../../mapilib -I../../../common/options -I./../../../common/options -DLIBMONETODBC -g -O2 -c -o libMonetODBC_la-SQLGetInfo.lo `test -f 'SQLGetInfo.c' || echo './'`SQLGetInfo.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I../../mapilib -I./../../mapilib -I../../../common/options -I./../../../common/options -DLIBMONETODBC -g -O2 -c SQLGetInfo.c -fPIC -DPIC -o .libs/libMonetODBC_la-SQLGetInfo.o SQLGetInfo.c: In function ‘MNDBGetInfo’: SQLGetInfo.c:221: error: ‘SQL_CVT_GUID’ undeclared (first use in this function) SQLGetInfo.c:221: error: (Each undeclared identifier is reported only once SQLGetInfo.c:221: error: for each function it appears in.) SQLGetInfo.c:311: error: ‘SQL_CONVERT_GUID’ undeclared (first use in this function) make[7]: *** [libMonetODBC_la-SQLGetInfo.lo] Error 1 make[7]: Leaving directory `/home/john/MonetDB-11.21.17/clients/odbc/driver' make[6]: *** [all] Error 2 make[6]: Leaving directory `/home/john/MonetDB-11.21.17/clients/odbc/driver' make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory `/home/john/MonetDB-11.21.17/clients/odbc' make[4]: *** [all] Error 2 make[4]: Leaving directory `/home/john/MonetDB-11.21.17/clients/odbc' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/john/MonetDB-11.21.17/clients' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/john/MonetDB-11.21.17/clients' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/john/MonetDB-11.21.17' make: *** [all] Error 2
Any advise?
Thanks, John
On Fri, Apr 1, 2016 at 2:13 PM, John Krulick < jtk0@vt.edu > wrote:
Hi,
I'm trying to build MonetDB from source and running into an error during configure.
Running ./configure gives: ... ... checking for SHA256... yes checking for SHA384... yes checking for SHA512... yes checking for pcre... yes checking whether pcre comes with UTF-8 support... no configure: error: PCRE library not found but required for MonetDB5
At the bottom of the email is the error in the config.log.
pcretest -C gives me: PCRE version 8.38 2015-11-23 Compiled with:q 8-bit support UTF-8 support Unicode properties support No just-in-time compiler support Newline sequence is LF \R matches all Unicode newlines Internal link size = 2 POSIX malloc threshold = 10 Parentheses nest limit = 250 Default match limit = 10000000 Default recursion depth limit = 10000000 Match recursion uses stack
The issue, I think, is I have PCRE version 8.38 built in a non-standard location, /home/john/monetdb_prereq/pcre export pcre_LIBS=-L/home/john/monetdb_prereq/pcre/lib export pcre_CFLAGS=-I/home/john/monetdb_prereq/pcre/include
Any idea what I'm missing? Thanks, John
configure:20861: checking for SHA512 configure:20861: gcc -o conftest -g -O2 conftest.c -lssl -lcrypto -ldl -lz >&5 configure:20861: $? = 0 configure:20861: result: yes configure:20901: checking for pcre configure:20966: result: yes configure:20971: checking whether pcre comes with UTF-8 support configure:20992: gcc -o conftest -g -O2 -I/home/john/monetdb_prereq/pcre/include conftest.c -L/home/john/monetdb_prereq/pcre/lib >&5 /tmp/ccRjfKcQ.o: In function `main': /home/john/MonetDB-11.21.17/conftest.c:66: undefined reference to `pcre_config' collect2: ld returned 1 exit status configure:20992: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "MonetDB" | #define PACKAGE_TARNAME "MonetDB" | #define PACKAGE_VERSION "11.21.17" | #define PACKAGE_STRING "MonetDB 11.21.17" | #define PACKAGE_BUGREPORT " info@monetdb.org " | #define PACKAGE_URL " http://www.monetdb.org/ " | #define PACKAGE "MonetDB" | #define VERSION "11.21.17" | #define HOST "x86_64-unknown-linux-gnu" | #define MONETDB_RELEASE "Jul2015-SP3" | #define HAVE_CONSOLE 1 | #define MONETDB5_PASSWDHASH "SHA512" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define SIZEOF_LONG 8 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define NDEBUG 1 | #define DIFF "diff" | #define DIR_SEP '/' | #define DIR_SEP_STR "/" | #define PATH_SEP ':' | #define PATH_SEP_STR ":" | #define SO_PREFIX "lib" | #define SO_EXT ".so" | #define HAVE_LIBBZ2 1 | #define HAVE_MALLOPT 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_SEMAPHORE_H 1 | #define HAVE_SCHED_H 1 | #define HAVE_PTHREAD_KILL 1 | #define HAVE_PTHREAD_SIGMASK 1 | #define HAVE_PTHREAD_SETSCHEDPRIO 1 | #define HAVE_LIBPTHREAD 1 | #define HAVE_LIBREADLINE 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_UUID 1 | #define HAVE_MD5 1 | #define HAVE_RIPEMD160 1 | #define HAVE_SHA1 1 | #define HAVE_SHA224 1 | #define HAVE_SHA256 1 | #define HAVE_SHA384 1 | #define HAVE_SHA512 1 | #define HAVE_OPENSSL 1 | /* end confdefs.h. */ | #include
| int | main () | { | int rc; pcre_config(PCRE_CONFIG_UTF8, &rc); exit(!rc); | ; | return 0; | } configure:20996: result: no configure:21021: error: PCRE library not found but required for MonetDB5 _______________________________________________ developers-list mailing list developers-list@monetdb.org https://www.monetdb.org/mailman/listinfo/developers-list
-- | Stefan.Manegold@CWI.nl | DB Architectures (DA) | | www.CWI.nl/~manegold/ | Science Park 123 (L321) | | +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) |
participants (2)
-
John Krulick
-
Stefan Manegold