We're updating the issue view to help you get more done. 

gcc 4.7.2 linux build broken

Description

Problem with 4.7.2 and inheriting constructors:

Hello,

Upgrading from v1.1.0 to v1.2.0 I'm getting a build error in my setup.

1 2 3 4 5 6 7 8 9 10 11 $ cat /etc/redhat-release CentOS release 6.5 (Final) $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/centos/devtoolset-1.1/root/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=/opt/centos/devtoolset-1.1/root/usr --mandir=/opt/centos/devtoolset-1.1/root/usr/share/man --infodir=/opt/centos/devtoolset-1.1/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --disable-build-with-cxx --disable-build-poststage1-with-cxx --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --enable-languages=c,c++,fortran,lto --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --disable-libgcj --with-ppl --with-cloog --with-mpc=/home/centos/rpm/BUILD/gcc-4.7.2-20121015/obj-x86_64-redhat-linux/mpc-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 4.7.2 20121015 (Red Hat 4.7.2-5) (GCC)

So this is centos 6.5 w/ devtoolset-1.1 installed

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $ ./configure --enable-fillmetadata=no --enable-gtest=no --enable-f8test=no ... $ make Making all in runtime make[1]: Entering directory `/home/michaeld/git/fix8/runtime' /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../include/fix8 -I../include -g -O2 -std=c++11 -Wall -MT xml.lo -MD -MP -MF .deps/xml.Tpo -c -o xml.lo xml.cpp libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include/fix8 -I../include -g -O2 -std=c++11 -Wall -MT xml.lo -MD -MP -MF .deps/xml.Tpo -c xml.cpp -fPIC -DPIC -o .libs/xml.o In file included from ../include/fix8/f8includes.hpp:103:0, from xml.cpp:38: ../include/fix8/sessionwrapper.hpp:171:26: error: ‘FIX8::SessionConfig::SessionConfig’ names constructor In file included from ../include/fix8/f8includes.hpp:103:0, from xml.cpp:38: ../include/fix8/sessionwrapper.hpp:502:23: error: ‘FIX8::SessionConfig::SessionConfig’ names constructor make[1]: *** [xml.lo] Error 1 make[1]: Leaving directory `/home/michaeld/git/fix8/runtime' make: *** [all-recursive] Error 1

Problem for me is:
include/fix8/sessionwrapper.hpp:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 167:#ifdef _MSC_VER ClientSessionBase(const F8MetaCntx& ctx, const std::string& conf_file, const std::string& session_name) : SessionConfig(ctx, conf_file, session_name) {} #else using SessionConfig::SessionConfig; #endif ... 497: #ifdef _MSC_VER ServerSessionBase(const F8MetaCntx& ctx, const std::string& conf_file, const std::string& session_name) : SessionConfig(ctx, conf_file, session_name) {} #else /// Ctor. Prepares session for receiving inbbound connections (acceptor). using SessionConfig::SessionConfig; #endif

Is my compiler too old? I couldn't find a list of supported compilers on the website or wiki.

I can either remove the ifdef true clause or define the it (which seems wrong), but would prefer if this would just work out of the box.

What do you think?

Click here to Reply

David Dight
09:59 (1 minute ago)

Looks like gcc 4.7.2 doesn't support inheriting constructors. Try 4.8
We might roll this back since we need to support at least 4.7.2 (which has most of the C++11 features we use).
/dakka

Environment

None

Status

Assignee

David Dight

Reporter

michael drago

Labels

Branch

master

Products

None

Components

Fix versions

Affects versions

1.2.0

Priority

Major