При компиляции Squid3.0.STABLE7 (и более ранних версий ветки 3.0) выдается ошибка. Не могу сам найти причину, в чем может быть проблема?
if /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid//etc/squid.conf\" -I. -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -g -O2 -MT comm.lo -MD -MP -MF "$depbase.Tpo" -c -o comm.lo comm.cc; \ then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit 1; fi g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid//etc/squid.conf\" -I. -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -g -O2 -MT comm.lo -MD -MP -MF .deps/comm.Tpo -c comm.cc -o comm.o cc1plus: warnings being treated as errors StoreIOBuffer.h: In member function 'void StoreIOBuffer::dump() const': StoreIOBuffer.h:71: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result StoreIOBuffer.h:72: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result comm.cc: In static member function 'static void CommIO::Initialise()': comm.cc:2223: warning: ignoring return value of 'int pipe(int*)', declared with attribute warn_unused_result make[1]: *** [comm.lo] Error 1 make[1]: Leaving directory `/usr/src/SQUID/squid-3.0.STABLE7/src' make: *** [all-recursive] Error 1
Если закомментрировать блок кода с ошибкой, то компилируется дальше, но неизвестно к каким ошибкам это приведет в работе сервера. Закоментировал первых 4 строки процедуры.
void CommIO::Initialise() { /* Initialize done pipe signal */ int DonePipe[2]; pipe(DonePipe); DoneFD = DonePipe[1]; DoneReadFD = DonePipe[0]; fd_open(DoneReadFD, FD_PIPE, "async-io completetion event: main"); fd_open(DoneFD, FD_PIPE, "async-io completetion event: threads"); commSetNonBlocking(DoneReadFD); commSetNonBlocking(DoneFD); commSetSelect(DoneReadFD, COMM_SELECT_READ, NULLFDHandler, NULL, 0); Initialised = true; }