Difference between revisions of "OpenDBX/Setup/Common problems"
(header not found) |
(→C compiler cannot create executables) |
||
Line 16: | Line 16: | ||
apt-get update | apt-get update | ||
apt-get install build-essential | 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 == | == Header not found == |
Revision as of 21:24, 15 February 2009
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 doesn't have installed build-essential package. 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.