monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Updated Issue 191 - xdelta unit test fails to build due


From: code
Subject: [Monotone-devel] Updated Issue 191 - xdelta unit test fails to build due a symbol conflict with boost (monotone)
Date: Tue, 25 Oct 2011 12:25:50 +0200

Hello,

The following issue has been updated:

191 - xdelta unit test fails to build due a symbol conflict with boost
Project: monotone
Status: New
Reported by: Dan Horák
URL: https://code.monotone.ca/p/monotone/issues/191/
Labels:
 Type:Defect
 Priority:Medium

Comments (last first):

# By Dan Horák, Oct 25, 2011:

Successful build with test-suite passed on the development version of Fedora 
(aka Fedora Rawhide) with boost 1.47 is at 
http://koji.fedoraproject.org/koji/taskinfo?taskID=3459113 (will be cleaned up 
after 2 weeks)

# By Richard Levitte, Oct 25, 2011:

Hmmmm, I wanted to verify this, but Debian [unstable] is still at boost 1.46... 
 Perhaps someone else?

# By Christian Cornelssen, Oct 19, 2011:

Note: According to HACKING, the first version of my patch should have caused 
"make distcheck" to fail. This did not happen. (I corrected the patch anyway.) 
With the patch of ticket 195, such violations are now found.

# By Christian Cornelssen, Oct 19, 2011:

"make distcheck" succeeds with the latest patch above (and with the patch of 
ticket 194).

# By Christian Cornelssen, Oct 18, 2011:

Same patch, with corrected comment.

Attachments:
- xdelta.diff - 925 bytes
  https://code.monotone.ca/p/monotone/issues/view/attachment/38/xdelta.diff


# By Christian Cornelssen, Oct 18, 2011:

After having read HACKING, I have moved the BOOST #include
after the #include of base.hh. Enjoy until you have worked out something solid 
regarding one-letter macros vs. C++ template parameters. With this patch, "make 
check" passes.

Attachments:
- xdelta.diff - 913 bytes
  https://code.monotone.ca/p/monotone/issues/view/attachment/37/xdelta.diff


# By Christian Cornelssen, Oct 18, 2011:

Encountered the same problem with a fresh mtn clone today (revision 
22f47ba88188cc15e92de60cc2597df6054809a7).

Workaround was to #include <boost/random.hpp> before the local headers in 
test/unit/tests/xdelta.cc. A clean approach should avoid the definition of such 
a macro (in src/sanity.hh) however.

Attachments:
- xdelta.diff - 711 bytes
  https://code.monotone.ca/p/monotone/issues/view/attachment/36/xdelta.diff


# By Dan Horák, Sep 26, 2011:

The xdelta unit test fails to build due a symbol conflict with boost >= 1.47

The problem a conflict of L() macro defined by monotone in sanity.hh and L as a 
template parameter in boost. I was told that single upper case letters are 
usually used for classes passed as template parameters in C++ code.

from the build log:
...
make[3]: Entering directory `/builddir/build/BUILD/monotone-1.0'
\
#       source='test/unit/tests/xdelta.cc' object='test/unit/tests/xdelta.o' 
libtool=no 
g++  -I.              -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions 
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W 
-Wno-unused -c -o test/unit/tests/xdelta.o test/unit/tests/xdelta.cc
In file included from /usr/include/boost/math/special_functions/gamma.hpp:43:0,
                 from 
/usr/include/boost/math/special_functions/detail/bessel_jy.hpp:14,
                 from /usr/include/boost/math/special_functions/bessel.hpp:17,
                 from /usr/include/boost/math/special_functions.hpp:18,
                 from /usr/include/boost/random/generate_canonical.hpp:22,
                 from /usr/include/boost/random.hpp:52,
                 from test/unit/tests/xdelta.cc:15:
/usr/include/boost/math/special_functions/detail/lgamma_small.hpp: In function 
‘T boost::math::detail::lgamma_small_imp(T, T, T, const mpl_::int_<0>&, const 
Policy&, const L&)’:
/usr/include/boost/math/special_functions/detail/lgamma_small.hpp:483:38: 
error: expected primary-expression before ‘do’
/usr/include/boost/math/special_functions/detail/lgamma_small.hpp:488:38: 
error: expected primary-expression before ‘do’
make[3]: *** [test/unit/tests/xdelta.o] Error 1
make[3]: Leaving directory `/builddir/build/BUILD/monotone-1.0'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/builddir/build/BUILD/monotone-1.0'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/builddir/build/BUILD/monotone-1.0'
make: *** [check] Error 2



--
Issue: https://code.monotone.ca/p/monotone/issues/191/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]