bneijt / ccbuild

C++ source scanning build utility
GNU General Public License v2.0
5 stars 3 forks source link

2.0.1 Can't compile with libbobcat-dev 2.18.00-2 #23

Closed jaalto closed 13 years ago

jaalto commented 13 years ago

SUMMARY

Can't compile 2.0.1 with libbobcat-dev 2.18.00-2

ENVIRONMENT

libbobcat-dev 2.18.00 gcc (Debian 4.6.1-12) 4.6.1 ccache 3.1.6-1 Libboost 1.46.1.1 automake 1.11.1 autoconf 2.68

ERROR

ccache g++ -DPACKAGE_NAME=\"ccbuild\" -DPACKAGE_TARNAME=\"ccbuild\" -DPACKAGE_VERSION=\"2.0.1\" -DPACKAGE_STRING=\"\ ccbuild\ 2.0.1\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"ccbuild\" -DVERSION=\"2.0.1\" -DSTDC_HEADE\ RS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVESTRINGS\ H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDBOOL_H=1 -DSTDC_HEADERS=1 -DHAVE_STDLIB_H=1 -\ DHAVE_MALLOC=1 -DHAVE_STDLIB_H=1 -DHAVE_REALLOC=1 -DLSTAT_FOLLOWS_SLASHED_SYMLINK=1 -DHAVE_GETCWD=1 -DHAVE_MEMSET=1\ -DHAVE_MKDIR=1 -I. -DNODEBUG -fopenmp -g -O2 -c -o src/Resolver/ccbuild-statics.o test -f 'src/Resolver/stat\ ics.cc' || echo './'src/Resolver/statics.cc In file included from src/Resolver/Resolver.ih:38:0, from src/Resolver/statics.cc:18: /usr/include/bobcat/user:21:19: error: expected ',' or '...' before '&&' token /usr/include/bobcat/user:21:24: error: invalid constructor; you probably meant 'FBB::User (const FBB::User&)' /usr/include/bobcat/user:23:30: error: expected ',' or '...' before '&&' token /usr/include/bobcat/user:35:25: error: expected ',' or '...' before '&&' token /usr/include/bobcat/user:35:30: error: invalid constructor; you probably meant 'FBB::User (const FBB::User&)' /usr/include/bobcat/user:36:36: error: expected ',' or '...' before '&&' token /usr/include/bobcat/user:36:15: error: 'FBB::User& FBB::User::operator=(FBB::User)' cannot be overloaded /usr/include/bobcat/user:23:15: error: with 'FBB::User& FBB::User::operator=(FBB::User)' make[3]: * [src/Resolver/ccbuild-statics.o] Error 1< make[3]: Leaving directory `/srv/deb/debian/ccbuild/ccbuild.git' make[2]: * [override_dh_auto_build] Error 2 make[2]: Leaving directory/srv/deb/debian/ccbuild/ccbuild.git' make[1]: **\* [build] Error 2 make[1]: Leaving directory/srv/deb/debian/ccbuild/ccbuild.git'

WITH PATCH

- Applied the config.in patch
  * Had to disable boost check as it gave errors
  * Had to disable checking header files ures/process as they gave errors.
- copied fresh config.* files for the build (autotools)
- run autoreconf -vfi

Subject: [PATCH] configure.in: Don't check bobcat/{process,user} or boost version Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit

Signed-off-by: Jari Aalto jari.aalto@cante.net

configure.in | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.in b/configure.in index 06a5244..2a533af 100644 -- a/configure.in +++ b/configure.in @@ -38,7 +38,7 @@ PKG_CHECK_MODULES(DEPS, gnutls >= 1.4.4)

AC_SUBST(DEPS_LIBS + " -lgnutls-openssl")

Use ccbuild to generate a list of headers we use. This depends on ccbuild >= 2.0.0

-globalHeaders="esyscmd(ccbuild -C src --verbose deps ccbuild.cc|tail -n1|sed -r -e 's/(boost[^ ]+|gnutls[^ ]+)//g')" +globalHeaders="esyscmd(ccbuild -C src --verbose deps ccbuild.cc|tail -n1|sed -r -e 's/(boost[^ ]+|gnutls[^ ]+)//g' | egrep -v bobcat)" AC_CHECK_HEADERS($globalHeaders,,AC_MSG_ERROR([Required header file missing.]))

dnl Check for openssl @@ -48,7 +48,7 @@ dnl Check for openssl

-AX_BOOST_BASE([1.37]) +#AX_BOOST_BASE([1.37])

Calls AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)

AC_OUTPUT(Makefile)

1.7.6.3

jaalto commented 13 years ago

And the file /usr/include/bobcat/user is from libbobcat-dev 2.18.00-2[*]:

/usr/include/bobcat/user:
19      public:
20          User();
21          User(User &&tmp);
22
23          User &operator=(User &&tmp);
24
25          void verify() const;        // kept for bacward compatibility
26
27          size_t groupid() const;
28          size_t userid() const;
29          std::string const &homedir() const;
30          std::string const &name() const;
31          std::string const &password() const;
32          std::string const &realname() const;
33          std::string const &shell() const;
34
35          User(User const &&tmp);                 // Deprecated
36          User &operator=(User const &&tmp);      // Deprecated
37  };
bneijt commented 13 years ago

I've added CXX -std=c++0x as a default in b2e5a1ea8348094c2db727d2b964204167b2f227 I'll be rolling a new release as soon as possible. Thank you for reporting this bug!