Bug#1001760: FTBFS: 'placeholders' is ambiguous
Steve Langasek
steve.langasek at canonical.com
Wed Dec 15 16:13:10 GMT 2021
Package: dart
Version: 6.9.5-4
Severity: serious
Tags: patch
Justification: ftbfs
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu jammy ubuntu-patch
Hi José Luís,
In rebuilding packages in Ubuntu for the liburdfdom-model package rename, I
found that dart currently fails to build from source:
/tmp/dart-6.9.5/unittests/unit/test_Signal.cpp: In member function 'virtual void
Signal_NonStaticMemberFunction_Test::TestBody()':
/tmp/dart-6.9.5/unittests/unit/test_Signal.cpp:118:9: error: reference to 'placeholders' is ambiguous
118 | using placeholders::_1;
| ^~~~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:265,
from /tmp/dart-6.9.5/obj-x86_64-linux-gnu/dart/config.hpp:5,
from /tmp/dart-6.9.5/dart/dart.hpp:33,
from /tmp/dart-6.9.5/unittests/unit/test_Signal.cpp:36:
/usr/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h:174:11: note: candidates are: 'namespace Eigen::placeholders { }'
174 | namespace placeholders {
| ^~~~~~~~~~~~
In file included from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
from /usr/include/c++/11/algorithm:74,
from /tmp/dart-6.9.5/unittests/gtest/include/gtest/internal/gtest-port.h:284,
from /tmp/dart-6.9.5/unittests/gtest/include/gtest/internal/gtest-internal.h:40,
from /tmp/dart-6.9.5/unittests/gtest/include/gtest/gtest.h:59,
from /tmp/dart-6.9.5/unittests/unit/test_Signal.cpp:34:
/usr/include/c++/11/functional:219:13: note: 'namespace std::placeholders { }'
219 | namespace placeholders
| ^~~~~~~~~~~~
Please find attached a patch that disambiguates and lets the package build.
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slangasek at ubuntu.com vorlon at debian.org
-------------- next part --------------
diff -Nru dart-6.9.5/debian/patches/series dart-6.9.5/debian/patches/series
--- dart-6.9.5/debian/patches/series 2021-10-08 07:07:34.000000000 -0700
+++ dart-6.9.5/debian/patches/series 2021-12-14 21:44:11.000000000 -0800
@@ -5,3 +5,4 @@
0007-fix-soversion.patch
0006-Reduce-test-result-accuracy-to-fix-i386.patch
0008-fix-cmake-example.patch
+stdc++.patch
diff -Nru dart-6.9.5/debian/patches/stdc++.patch dart-6.9.5/debian/patches/stdc++.patch
--- dart-6.9.5/debian/patches/stdc++.patch 1969-12-31 16:00:00.000000000 -0800
+++ dart-6.9.5/debian/patches/stdc++.patch 2021-12-15 07:49:05.000000000 -0800
@@ -0,0 +1,22 @@
+Description: disambiguate 'placeholders' namespace
+ Eigen now has a 'placeholders' namespace, so specify that we're after
+ std::placeholders
+Author: Steve Langasek <steve.langasek at ubuntu.com>
+Last-Update: 2021-12-15
+Forwarded: no
+
+Index: dart-6.9.5/unittests/unit/test_Signal.cpp
+===================================================================
+--- dart-6.9.5.orig/unittests/unit/test_Signal.cpp
++++ dart-6.9.5/unittests/unit/test_Signal.cpp
+@@ -115,8 +115,8 @@
+ signal2.connect(&Viewer::onSignal2Static);
+
+ // Connect non-static member function
+- using placeholders::_1;
+- using placeholders::_2;
++ using std::placeholders::_1;
++ using std::placeholders::_2;
+ signal1.connect(bind(&Viewer::onSignal1, &viewer, _1));
+ signal2.connect(bind(&Viewer::onSignal2, &viewer, _1, _2));
+
More information about the debian-science-maintainers
mailing list