Bug #3227
closed
Compilation fails with boost 1.59.0 (e.g. on Fedora 23)
Added by susmit shannigrahi about 9 years ago.
Updated about 9 years ago.
Description
ndn-cxx unit test fails against F23 devel branch (rawhide).
Task here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=11228671
Buildlog here:
https://kojipkgs.fedoraproject.org//work/tasks/8671/11228671/build.log
Specific error:
16:09:09 runner (exec) /usr/bin/g++ -std=c++11 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -std=c++11 -I/builddir/build/BUILD/ndn-cxx-ndn-cxx-0.3.4/build/tests -I/builddir/build/BUILD/ndn-cxx-ndn-cxx-0.3.4/tests -I/builddir/build/BUILD/ndn-cxx-ndn-cxx-0.3.4/build/src -I/builddir/build/BUILD/ndn-cxx-ndn-cxx-0.3.4/src -I/usr/include -DNDEBUG '-DUNIT_TEST_CONFIG_PATH="build/tmp-files/"' ../tests/unit-tests/security/identity-fixture.cpp -c -o /builddir/build/BUILD/ndn-cxx-ndn-cxx-0.3.4/build/tests/unit-tests/security/identity-fixture.cpp.3.o
../tests/unit-tests/security/identity-fixture.cpp:117:1: error: expected initializer before '}' token
} // namespace security
^
Waf: Leaving directory `/builddir/build/BUILD/ndn-cxx-ndn-cxx-0.3.4/build'
Build failed
- Subject changed from ndn-cxx test fails against F23 development to Compilation of ndn-cxx fails on F23 development
- Category set to Build
- Target version set to v0.4
Btw, --sysconfdir
looks wrong... it should be /etc/ndn
Boost.Test removed the semicolon at the end of the BOOST_GLOBAL_FIXTURE
macro definition in version 1.59. Naively adding a semicolon to our code will generate warnings about redundant semicolons in earlier versions though...
Boost.Test removed the semicolon at the end of the BOOST_GLOBAL_FIXTURE
macro definition in version 1.59. Naively adding a semicolon to our code will generate warnings about redundant semicolons in earlier versions though...
The semicolon works with 1.59.
http://koji.fedoraproject.org/koji/taskinfo?taskID=11231215
- Subject changed from Compilation of ndn-cxx fails on F23 development to Compilation fails with boost 1.59.0 (e.g. on Fedora 23)
- Start date deleted (
09/25/2015)
Any suggestion how should will address this? I see several options
- ifdef macros to check boost version, if version >= 1.59, add semicolon for
BOOST_GLOBAL_FIXTURE
.
- same, but to define special macro for the same purpose (to avoid ifdefs near
BOOST_GLOBAL_FIXTURE
)
- add semicolon and remove warning about duplicate semicolons
I tend to go with last option, as I don't clearly see the benefit of "fixing" duplicate semicolons in the code.
- Status changed from New to Code review
- % Done changed from 0 to 50
I submitted patch that implements option 1. Depending on opinion about #3233, I will keep patch as is or make changes.
- Status changed from Code review to Closed
- Assignee set to Alex Afanasyev
- % Done changed from 50 to 100
- Related to Bug #3345: missing semicolon in BOOST_GLOBAL_FIXTURE declarations added
Also available in: Atom
PDF