g++ don't build my project from last update

Дмитрий Марков dmitri__13@mail.ru
Thu Apr 21 08:57:00 GMT 2016


Hello,
I updated my cygwin yesterday, because I found strange bug when using boost::asio::ip::tcp::socket for sending some text information(some information became broken). I haven't got such bug under my Linux OS, so I decide upgrade the cygwin.
After successful updating of cygwin I can't build my project.

The first error of compiler is:

In file included from /usr/include/boost/thread/thread_time.hpp:10:0,
from /usr/include/boost/thread/lock_types.hpp:18,
from /usr/include/boost/thread/pthread/thread_data.hpp:12,
from /usr/include/boost/thread/thread_only.hpp:17,
from /usr/include/boost/thread/thread.hpp:12,
from ../src/DoubleChannelCalculations.hpp:21,
from ../src/DoubleChannelCalculations.cpp:14:
/usr/include/boost/date_time/microsec_time_clock.hpp: In static member function 'static time_type boost::date_time::microsec_clock<time_type>::create_time(boost::date_time::microsec_clock<time_type>::time_converter)':
/usr/include/boost/date_time/microsec_time_clock.hpp:84:26: error: there are no arguments to 'gettimeofday' that depend on a template parameter, so a declaration of 'gettimeofday' must be available [-fpermissive]
gettimeofday(&tv, 0); //gettimeofday does not support TZ adjust on Linux.

The second error message:
/usr/include/boost/date_time/microsec_time_clock.hpp:84:26: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from /usr/include/boost/asio/detail/signal_blocker.hpp:25:0,
from /usr/include/boost/asio/detail/impl/select_reactor.ipp:29,
from /usr/include/boost/asio/detail/select_reactor.hpp:212,
from /usr/include/boost/asio/detail/reactor.hpp:29,
from /usr/include/boost/asio/detail/impl/task_io_service.ipp:24,
from /usr/include/boost/asio/detail/task_io_service.hpp:198,
from /usr/include/boost/asio/impl/io_service.hpp:71,
from /usr/include/boost/asio/io_service.hpp:767,
from ../src/PrintPlots.hpp:17,
from ../src/DoubleChannelCalculations.cpp:19:
/usr/include/boost/asio/detail/posix_signal_blocker.hpp: In constructor 'boost::asio::detail::posix_signal_blocker::posix_signal_blocker()':
/usr/include/boost/asio/detail/posix_signal_blocker.hpp:42:25: error: 'sigfillset' was not declared in this scope
sigfillset(&new_mask);

I have tried to use -fpermissive, but it's not help me. I also have tried to add define _GNU_SOURCE, _POSIX_C_SOURCE=200809L, _XOPEN_SOURCE=700. If I define _GNU_SOURCE or _XOPEN_SOURCE=700 the project build successful, but it's not work, because boost::asio::ip::tcp::socket raise exception that socket.available() is not supported(but it was).
I also try full reinstall of cygwin, but it's not help. I attached output of command "cygcheck -s -v -r". 

What it may be the problem and how I may resolve it?

-- 
Regards,
Markov Dmitri
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cygcheck.out
Type: application/octet-stream
Size: 113153 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20160421/9416a0d2/attachment.obj>
-------------- next part --------------
--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


More information about the Cygwin mailing list