[Monetdb-developers] Compilation of M4

Fabian Groffen Fabian.Groffen at cwi.nl
Tue Dec 26 23:50:33 CET 2006

On 26-12-2006 16:53:37 +0100, Romulo Goncalves wrote:
> Dear developers,
> I am using the following configure for M4:
> env 
> PATH=/ufs/goncalve/scratch/MonetDB/buildtools/bin:/ufs/goncalve/scratch/MonetDB/clients:/ufs/goncalve/scratch/MonetDB/MonetDB/bin:${PATH} 
> PYTHONPATH=/ufs/goncalve/MonetDB/buildtools/autogen/ 
> ~/MonetDB/MonetDB4/MonetDB4/configure 
> --prefix=/ufs/goncalve/scratch/MonetDB/monetdb4 --enable-debug 
> --enable-bits=64
> However, the compilation gave this error:
>  -c embeddedclient.c  -fPIC -DPIC -o 
> .libs/libembeddedmil_la-embeddedclient.o
> In file included from 
> /ufs/goncalve/MonetDB/MonetDB4/MonetDB4/src/tools/embeddedclient.mx:69:
> embeddedclient.h:29:18: error: Mapi.h: No such file or directory
> I already add to the PATH the prefix for the clients installation.

The path is not the problem here, because you're dealing with the
compiler that is looking for header files.

I think currently there is no client-config utility, or the configure of
M4 doesn't use it.  Hence it doesn't know where to find the header files
(includes) for your clients.  You can solve this by installing in the
same prefix as common (MonetDB), or by adding -I/path/to/clients/headers
to the compiler's search path through for example the CPPFLAGS variable
that configure should respect and copy on to all its compiler
invocations.  (Otherwise you might hack it in the CFLAGS variable.)

You will run at linking time against a similar problem, so you might
also use LDFLAGS="-L/path/to/clients/libs" as well if you go this route.

More information about the developers-list mailing list