Difference between revisions of "OpenDBX/Setup/Common problems"
(→C compiler cannot create executables) |
(→C compiler cannot create executables) |
||
Line 12: | Line 12: | ||
crt1.o: No such file: No such file or directory | crt1.o: No such file: No such file or directory | ||
− | You probably | + | You probably don't have the build-essential package installed. To fix this you must: |
apt-get update | apt-get update |
Revision as of 21:27, 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 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.