[
https://issues.apache.org/jira/browse/THRIFT-5663?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer updated THRIFT-5663:
-------------------------------
Summary: usleep was not declared in this scope (was: lib: cpp: usleep was
not declared in this scope)
> usleep was not declared in this scope
> -------------------------------------
>
> Key: THRIFT-5663
> URL: https://issues.apache.org/jira/browse/THRIFT-5663
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Reporter: Christopher Friedt
> Assignee: Christopher Friedt
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Several build failures in Travis resulted from an include-order problem in
> TFileTransport.cpp.
> {code:java}
> libtool: compile: g++ -std=c++11 -DHAVE_CONFIG_H -I/usr/include -I./src
> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wall -Wextra -pedantic -g -O2
> -MT src/thrift/transport/TFDTransport.lo -MD -MP -MF
> src/thrift/transport/.deps/TFDTransport.Tpo -c
> src/thrift/transport/TFDTransport.cpp -o src/thrift/transport/TFDTransport.o
> >/dev/null 2>&1
> libtool: compile: g++ -std=c++11 -DHAVE_CONFIG_H -I/usr/include -I./src
> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wall -Wextra -pedantic -g -O2
> -MT src/thrift/transport/TFileTransport.lo -MD -MP -MF
> src/thrift/transport/.deps/TFileTransport.Tpo -c
> src/thrift/transport/TFileTransport.cpp -fPIC -DPIC -o
> src/thrift/transport/.libs/TFileTransport.o
> In file included from ./src/thrift/Thrift.h:23:0,
> from ./src/thrift/transport/TTransport.h:23,
> from ./src/thrift/transport/TFileTransport.h:23,
> from src/thrift/transport/TFileTransport.cpp:22:
> ./src/thrift/concurrency/FunctionRunner.h: In member function 'virtual void
> apache::thrift::concurrency::FunctionRunner::run()':
> ./src/thrift/transport/PlatformSocket.h:118:29: error: 'usleep' was not
> declared in this scope
> # define THRIFT_SLEEP_USEC usleep
> ^
> ./src/thrift/concurrency/FunctionRunner.h:104:9: note: in expansion of macro
> 'THRIFT_SLEEP_USEC'
> THRIFT_SLEEP_USEC(intervalMs_ * 1000);
> ^~~~~~~~~~~~~~~~~
> ./src/thrift/transport/PlatformSocket.h:118:29: note: suggested alternative:
> 'fseek'
> # define THRIFT_SLEEP_USEC usleep
> ^
> ./src/thrift/concurrency/FunctionRunner.h:104:9: note: in expansion of macro
> 'THRIFT_SLEEP_USEC'
> THRIFT_SLEEP_USEC(intervalMs_ * 1000);
> ^~~~~~~~~~~~~~~~~ {code}
> A cleaner solution would be better to simply include `<unistd.h>` in
> `PlatformSocket.h` but it's possible that might slow down compilation.
> The solution is just to include `<unistd.h>` before evaluating
> `THRIFT_SLEEP_USEC(intervalMs_ * 1000);`
--
This message was sent by Atlassian Jira
(v8.20.10#820010)