[Click] Compilation problems redux

Bob Keyes bob at xa.net
Wed Jul 7 16:15:54 EDT 2004



On Wed, 7 Jul 2004, Eddie Kohler wrote:

> Hi Bob,
>
> I think the problem is related to your specification of CC and CXX on
> the ./configure command line.  Click's configuration system generally
> adds the following options to $CXX: "-W -Wall -fno-exceptions
> -fno-rtti".  But if the user gives explicit CC/CXX it doesn't do this;
> it expects the user to do so if necessary.  So, could you please try to
> reconfigure with "CXX='whatever -fno-exceptions -fno-rtti'" and let us
> know what happens?


Configure warns:

Your C++ compiler (g++-2.95 -fnoexceptions -fnortti) is not a GNU C++
compiler!
Either set the 'CXX' environment variable to tell me where
a GNU C++ compiler is, or compile at your own risk.
(This code uses a few GCC extensions and GCC-specific compiler options,
and Linux header files are GCC-specific.)


and later:
configure: WARNING: endian.h: present but cannot be compiled
configure: WARNING: endian.h:     check for missing prerequisite headers?
configure: WARNING: endian.h: see the Autoconf documentation
configure: WARNING: endian.h:     section "Present But Cannot Be Compiled"
configure: WARNING: endian.h: proceeding with the preprocessor's result
configure: WARNING: endian.h: in the future, the compiler will take
precedence
configure: WARNING:     ## ------------------------------------------ ##
configure: WARNING:     ## Report this to the AC_PACKAGE_NAME lists.  ##
configure: WARNING:     ## ------------------------------------------ ##
checking for endian.h... yes
checking endianness... 1234
checking byteswap.h usability... no
checking byteswap.h presence... yes
configure: WARNING: byteswap.h: present but cannot be compiled
configure: WARNING: byteswap.h:     check for missing prerequisite
headers?
configure: WARNING: byteswap.h: see the Autoconf documentation
configure: WARNING: byteswap.h:     section "Present But Cannot Be
Compiled"
configure: WARNING: byteswap.h: proceeding with the preprocessor's result
configure: WARNING: byteswap.h: in the future, the compiler will take
precedence
configure: WARNING:     ## ------------------------------------------ ##
configure: WARNING:     ## Report this to the AC_PACKAGE_NAME lists.  ##
configure: WARNING:     ## ------------------------------------------ ##

And with other things as well. Says it can't compile the linuxmodule.

So, I moved the symbolic links for gcc, g++, and cpp to their 3.3 versions
and replaced them with links to the 2.95 versions. compile rans smoothly,
but the error in compilation remains:

g++ -W -Wall -fno-exceptions -fno-rtti -fvtable-thunks -DHAVE_CONFIG_H
-I../include -I../include -I. -I..  -DCLICK_USERLEVEL -g -O2 -MD -c
../elements/wifi/linktable.cc
In file included from ../elements/wifi/linktable.cc:19:
../elements/wifi/linktable.hh:171: declaration of `typedef class
HashMap<IPAddress,IPAddress> LinkTable::IPTable'
../elements/wifi/linktable.hh:126: conflicts with previous declaration
`typedef class HashMap<IPAddress,IPAddress> LinkTable::IPTable'
make[1]: *** [linktable.o] Error 1
make[1]: Leaving directory
`/mnt/filestore/nellydata/home/bobk/click/userlevel'
make: *** [userlevel] Error 2



More information about the click mailing list