I faced an error when I tried to build wireshark deb package
Hi there,
Wireshark was cloned from github and I tried to build debian pack via this command "dpkg-buildpackage -us -uc" and I faced an error:
/root/wireshark/ui/qt/simple_dialog.cpp
/root/wireshark/ui/qt/simple_dialog.cpp: In member function ‘void SimpleDialog::show()’:
/root/wireshark/ui/qt/simple_dialog.cpp:414:13: error: ‘bind’ is not a member of ‘std’
std::bind(visible_message_finished,message_box_,std::placeholders::_1));
^
/root/wireshark/ui/qt/simple_dialog.cpp:414:66: error: ‘std::placeholders’ has not been declared
std::bind(visible_message_finished,message_box_,std::placeholders::_1)); ^
ui/qt/CMakeFiles/qtui.dir/build.make:2482: recipe for target 'ui/qt/CMakeFiles/qtui.dir/simple_dialog.cpp.o' failed
OS and compiler versions?
OS:Ubuntu 16.04.6 LTS GCC Version: 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)
I'm running into similar problems with the "ubuntu vagrant" build environment:
(more)The error looks more like a C++ issue
I believe std::bind was introduced in C++11, and apparently GCC 4.8.1 has full C++11 compatibility. Notably the build bot (18.04) uses GCC 7.3.0
I periodically build the developmental release via 'git pull; mkdir -p build; cd build; cmake -G Ninja ..; ninja'. A build in late April (commit 8f2277ce8ce0d77490f89067fce4338770d012b2) builds fine, but I have been trying the latest version for the last week or so and it always gives me this same error about 'bind is not a member of std'. Ubuntu 16.04, fully up to date (same GCC as original poster).