[Monetdb-developers] Compilation of M4
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. What more I need to add to the path? Why the configure of M4 does not complain about such missing? Regards, Romulo
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.
Fabian Groffen wrote:
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), This option does not resolve the problem.
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
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. And in my .bashrc I have: export LDFLAGS='-L/ufs/goncalve/scratch/MonetDB/clients/lib/' export CPPFLAGS='-I/ufs/goncalve/scratch/MonetDB/clients/include/MonetDB' export CFLAGS='-I/ufs/goncalve/scratch/MonetDB/clients/include/MonetDB' However, I still get the error: gcc -m64 -DHAVE_CONFIG_H -I. -I/ufs/goncalve/MonetDB/MonetDB4/MonetDB4/src/tools -I../.. -I/ufs/goncalve/MonetDB/MonetDB4/MonetDB4/src/tools -I/ufs/goncalve/scratch/MonetDB/MonetDB/include/MonetDB -I/ufs/goncalve/scratch/MonetDB/MonetDB/include/MonetDB/common -I/ufs/goncalve/scratch/MonetDB/MonetDB/include/MonetDB/gdk -I../monet -I/ufs/goncalve/MonetDB/MonetDB4/MonetDB4/src/tools/../monet -I../modules/plain -I/ufs/goncalve/MonetDB/MonetDB4/MonetDB4/src/tools/../modules/plain -I/ufs/goncalve/scratch/MonetDB/clients/include/MonetDB -DLIBEMBEDDEDMIL -I/ufs/goncalve/scratch/MonetDB/clients/include/MonetDB -Wall -W -std=c99 -g -Werror-implicit-function-declaration -Werror -Wno-unused-function -Wno-unused-label -D_REENTRANT -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 In file included from /ufs/goncalve/MonetDB/MonetDB4/MonetDB4/src/tools/embeddedclient.mx:69: embeddedclient.h:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'embedded_mil' /ufs/goncalve/MonetDB/MonetDB4/MonetDB4/src/tools/embeddedclient.mx:183: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'embedded_mil' make[5]: *** [libembeddedmil_la-embeddedclient.lo] Error 1 make[5]: Leaving directory `/net/amelia/export/scratch1/goncalve/MonetDB/MonetDB/build/src/tools' make[4]: *** [all] Error 2 make[4]: Leaving directory `/net/amelia/export/scratch1/goncalve/MonetDB/MonetDB/build/src/tools' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/net/amelia/export/scratch1/goncalve/MonetDB/MonetDB/build/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/net/amelia/export/scratch1/goncalve/MonetDB/MonetDB/build/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/net/amelia/export/scratch1/goncalve/MonetDB/MonetDB/build' make: *** [all] Error 2 Regards, Romulo
participants (2)
-
Fabian Groffen
-
Romulo Goncalves