Difference between revisions of "OpenDBX/Setup/Common problems"
(readline.h not found) |
(Added "Warning running tests in PostgreSQL") |
||
Line 36: | Line 36: | ||
The readline header and library is required when building the default OpenDBX package but not for the core library itself. If you don't need the odbx-sql utility (the command line tool for executing statements interactively or as batch), you can disable compilation of this part and therefore don't need the readline files too. In this case, please have a look at [[OpenDBX/Setup/Manual_builds#Without_utilities|manual builds]] section. | The readline header and library is required when building the default OpenDBX package but not for the core library itself. If you don't need the odbx-sql utility (the command line tool for executing statements interactively or as batch), you can disable compilation of this part and therefore don't need the readline files too. In this case, please have a look at [[OpenDBX/Setup/Manual_builds#Without_utilities|manual builds]] section. | ||
+ | |||
+ | |||
+ | == Warning running tests in PostgreSQL == | ||
+ | |||
+ | Depending on your PostgreSQL configuration you may have the following WARNING when running OpenDBX tests: | ||
+ | |||
+ | WARNING: nonstandard use of \\ in a string literal | ||
+ | LINE 1: SELECT * FROM odbxtest WHERE col = 'a''''\\''b' | ||
+ | ^ | ||
+ | HINT: Use the escape string syntax for backslashes, e.g., E'\\'. | ||
+ | |||
+ | The problem seems to be an option in the postgresql.conf. See | ||
+ | http://dbaspot.com/forums/postgresql/251026-many-warning-pg-logs-nonstandard-use-string-literalat-character.html for details. | ||
+ | The solution is to set | ||
+ | |||
+ | standard_conforming_strings = on | ||
+ | |||
+ | in postgresql.conf |
Revision as of 20:08, 29 September 2009
Contents
C compiler cannot create executables
checking for gcc... gcc checking for C compiler default output file name... configure: error: C compiler cannot create executables See `config.log' for more details.
And if you see config.log you see:
crt1.o: No such file: No such file or directory
You probably don't have the build-essential package installed. To fix this you must:
apt-get update apt-get install build-essential
If you get the crt1.o error on Solaris, you have to install the SUNWarc (Lint Libraries (usr)) package:
pkgadd -d /cdrom/cdrom0/Solaris_10/Product/ SUNWarc
Header not found
./configure will search in your computer if you have all the necessary things for compilation. If somethins is missing, you will get an error message like this:
configure: error: <header-file> header not found
This is because it didn't find the header file ( .h ) of an necessary library. In all major Linux/Unix distributions, the header files for libraries are in the development package of that library and its name contains either "-dev" or "-devel". After installing the package, the header file should be available in the standard include path (/usr/include/). If it doesn't (e.g. the MySQL or PostgreSQL header are located in other directories in many distributions), you have to add the location to the CPPFLAGS environment variable like this:
CPPFLAGS="-I/usr/include/mysql" ./configure --with-backends="mysql"
For the major distributions, there's a list of non-standard directories available.
readline.h not found
The readline header and library is required when building the default OpenDBX package but not for the core library itself. If you don't need the odbx-sql utility (the command line tool for executing statements interactively or as batch), you can disable compilation of this part and therefore don't need the readline files too. In this case, please have a look at manual builds section.
Warning running tests in PostgreSQL
Depending on your PostgreSQL configuration you may have the following WARNING when running OpenDBX tests:
WARNING: nonstandard use of \\ in a string literal LINE 1: SELECT * FROM odbxtest WHERE col = 'a''\\b' ^ HINT: Use the escape string syntax for backslashes, e.g., E'\\'.
The problem seems to be an option in the postgresql.conf. See http://dbaspot.com/forums/postgresql/251026-many-warning-pg-logs-nonstandard-use-string-literalat-character.html for details. The solution is to set
standard_conforming_strings = on
in postgresql.conf