|
From: Panon, Paul-A. <Pau...@Si...> - 2001-03-07 21:51:42
|
I have been experiencing some compilation problems on Linux Mandrake 7.0 and 7.1. I haven't tried with 7.2 yet. The bison and other components work fine. The problem seems to be with the c++ compiler when compiling c++ modules in the uuid directory. The problem is that these versions of Mandrake (and maybe Redhat too?) don't seem to use the include path for the new c++ includes for egcs. Those are only available under the "compat-..." forms of the command: $ gcc -v Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/specs gcc version 2.95.3 19991030 (prerelease) $ compat-egcs -v Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/egcs-2.91.66/specs gcc driver version 2.95.3 19991030 (prerelease) executing gcc version egcs-2.91.66 $ g++ -v Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/specs gcc version 2.95.3 19991030 (prerelease) $ compat-egcs++ -v Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/egcs-2.91.66/specs gcc driver version 2.95.3 19991030 (prerelease) executing gcc version egcs-2.91.66 I am not sure how I would get autoconf or configure to identify that it is supposed to use the compat-* compilers. In the meantime, I have hacked the uuid Makefile.in to have the following change --- Makefile.in Wed Mar 7 13:40:17 2001 +++ Makefile.in.bak Wed Mar 7 13:38:18 2001 @@ -91,7 +91,6 @@ CFLAGS = -g -Wall -W -O -pipe -Werror INCLUDES = $(dce_includes) -CXXINCLUDES = SUFFIXES = .idl @@ -132,8 +131,8 @@ uuid_DEPENDENCIES = libuuid.la uuid_LDFLAGS = CXXFLAGS = @CXXFLAGS@ -CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CXXINCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(CXXINCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) and pass the CXXINCLUDES path on the make command line. Paul-Andre Panon Sierra Systems 1177 West Hastings Street, Suite 2500 Vancouver, BC V6E 2K3 Main: 604.688.1371 Fax: 604.688.6482 www.SierraSystems.com |