无法在linux上安装gsoap

时间:2017-07-21 09:14:02

标签: linux gsoap

我不确定我的环境有什么问题,但可以在我的另一个工作站上安装gsoap,但是失败一个...... 以及配置和生成日志

./configure

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking whether make sets $(MAKE)... (cached) yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking whether ln -s works... yes
checking for gawk... (cached) gawk
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking xlocale.h usability... yes
checking xlocale.h presence... yes
checking for xlocale.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking math.h usability... yes
checking math.h presence... yes
checking for math.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking sys/inttypes.h usability... no
checking sys/inttypes.h presence... no
checking for sys/inttypes.h... no
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for sys/types.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking for unistd.h... (cached) yes
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking gnutls/gnutls.h usability... yes
checking gnutls/gnutls.h presence... yes
checking for gnutls/gnutls.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_gmtoff... yes
checking for struct tm.__tm_gmtoff... no
checking for sys/time.h... (cached) yes
checking for unistd.h... (cached) yes
checking for alarm... yes
checking for working mktime... yes
checking return type of signal handlers... void
checking for strftime... yes
checking for random... yes
checking for gettimeofday... yes
checking for ftime... yes
checking for localtime_r... yes
checking for timegm... yes
checking for gmtime... yes
checking for gmtime_r... yes
checking for asctime... yes
checking for asctime_r... yes
checking for memset... yes
checking for select... yes
checking for socket... yes
checking for snprintf... yes
checking for strchr... yes
checking for strerror... yes
checking for strerror_r... yes
checking for strlcpy... no
checking for strrchr... yes
checking for strstr... yes
checking for strtol... yes
checking for strtoul... yes
checking for strtoll... yes
checking for strtoull... yes
checking for strtold... yes
checking for strtod... yes
checking for strtof... yes
checking for strtold_l... yes
checking for strtod_l... yes
checking for strtof_l... yes
checking for sscanf... yes
checking for sscanf_l... no
checking for snprintf... (cached) yes
checking for sprintf_l... no
checking for wctomb... yes
checking for mbtowc... yes
checking for poll... yes
checking for newlocale... yes
checking for uselocale... yes
checking for freelocale... yes
checking for isnan... yes
checking for isinf... yes
checking for gethostbyname_r... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for disable namespaces in library... no
checking for disable c locale usage in library... no
checking for enable ipv6 in library... no
checking for disable openssl in library... no
checking for enable gnutls in library... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating gsoap.pc
config.status: creating gsoap++.pc
config.status: creating gsoapck.pc
config.status: creating gsoapck++.pc
config.status: creating gsoapssl.pc
config.status: creating gsoapssl++.pc
config.status: creating gsoap/Makefile
config.status: creating gsoap/src/Makefile
config.status: creating gsoap/wsdl/Makefile
config.status: creating gsoap/samples/Makefile
config.status: creating gsoap/samples/autotest/Makefile
config.status: creating gsoap/samples/aws/Makefile
config.status: creating gsoap/samples/calc/Makefile
config.status: creating gsoap/samples/calc++/Makefile
config.status: creating gsoap/samples/chaining/Makefile
config.status: creating gsoap/samples/chaining++/Makefile
config.status: creating gsoap/samples/databinding/Makefile
config.status: creating gsoap/samples/dime/Makefile
config.status: creating gsoap/samples/dom/Makefile
config.status: creating gsoap/samples/oneway/Makefile
config.status: creating gsoap/samples/oneway++/Makefile
config.status: creating gsoap/samples/factory/Makefile
config.status: creating gsoap/samples/factorytest/Makefile
config.status: creating gsoap/samples/gmt/Makefile
config.status: creating gsoap/samples/googleapi/Makefile
config.status: creating gsoap/samples/hello/Makefile
config.status: creating gsoap/samples/httpcookies/Makefile
config.status: creating gsoap/samples/lu/Makefile
config.status: creating gsoap/samples/magic/Makefile
config.status: creating gsoap/samples/mashup/Makefile
config.status: creating gsoap/samples/mashup++/Makefile
config.status: creating gsoap/samples/mtom/Makefile
config.status: creating gsoap/samples/mtom-stream/Makefile
config.status: creating gsoap/samples/polytest/Makefile
config.status: creating gsoap/samples/primes/Makefile
config.status: creating gsoap/samples/roll/Makefile
config.status: creating gsoap/samples/router/Makefile
config.status: creating gsoap/samples/rss/Makefile
config.status: creating gsoap/samples/ssl/Makefile
config.status: creating gsoap/samples/template/Makefile
config.status: creating gsoap/samples/udp/Makefile
config.status: creating gsoap/samples/varparam/Makefile
config.status: creating gsoap/samples/wsa/Makefile
config.status: creating gsoap/samples/wsrm/Makefile
config.status: creating gsoap/samples/wsse/Makefile
config.status: creating gsoap/samples/wst/Makefile
config.status: creating gsoap/samples/xml-rpc-json/Makefile
config.status: creating gsoap/samples/rest/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

make: Warning: File `Makefile' has modification time 1.8e+02 s in the future
make  all-recursive
make[1]: Entering directory `/home/ghfan/gsoap-2.8'
make[1]: Warning: File `Makefile' has modification time 1.8e+02 s in the future
Making all in gsoap
make[2]: Entering directory `/home/ghfan/gsoap-2.8/gsoap'
make[2]: Warning: File `Makefile' has modification time 1.8e+02 s in the future
ln -s -f ./stdsoap2.cpp stdsoap2_cpp.cpp
ln -s -f ./dom.cpp dom_cpp.cpp
ln -s -f ./stdsoap2.cpp stdsoap2_ck.c
ln -s -f ./stdsoap2.cpp stdsoap2_ck_cpp.cpp
ln -s -f ./stdsoap2.cpp stdsoap2_ssl.c
ln -s -f ./stdsoap2.cpp stdsoap2_ssl_cpp.cpp
make  all-recursive
make[3]: Entering directory `/home/ghfan/gsoap-2.8/gsoap'
make[3]: Warning: File `Makefile' has modification time 1.8e+02 s in the future
Making all in .
make[4]: Entering directory `/home/ghfan/gsoap-2.8/gsoap'
make[4]: Warning: File `Makefile' has modification time 1.8e+02 s in the future
gcc -DHAVE_CONFIG_H -I. -I..        -DLINUX -g -O2 -MT libgsoap_a-stdsoap2.o -MD -MP -MF .deps/libgsoap_a-stdsoap2.Tpo -c -o libgsoap_a-stdsoap2.o `test -f 'stdsoap2.c' || echo './'`stdsoap2.c
mv -f .deps/libgsoap_a-stdsoap2.Tpo .deps/libgsoap_a-stdsoap2.Po
gcc -DHAVE_CONFIG_H -I. -I..        -DLINUX -g -O2 -MT libgsoap_a-dom.o -MD -MP -MF .deps/libgsoap_a-dom.Tpo -c -o libgsoap_a-dom.o `test -f 'dom.c' || echo './'`dom.c
In file included from dom.c:55:
****stdsoap2.h:2830: error: expected specifier-qualifier-list before 'locale_t'****
make[4]: *** [libgsoap_a-dom.o] Error 1
make[4]: Leaving directory `/home/ghfan/gsoap-2.8/gsoap'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/ghfan/gsoap-2.8/gsoap'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/ghfan/gsoap-2.8/gsoap'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ghfan/gsoap-2.8'
make: *** [all] Error 2

我不知道这个问题,有人知道为什么吗?

1 个答案:

答案 0 :(得分:0)

您的系统可能没有工作的locale.h,xlocale.h,或者使用其中一个或两个都有问题。

以下是解决方法:

  1. 如果您使用的是最新版本2.8.49,请使用./configure --disable-c-locale

  2. 如果您使用的是旧版本,请使用./configure SOAPCPP2_DEBUG="-DWITH_NO_C_LOCALE"

  3. 当使用strtod_l等函数转换浮点值时,这将禁用C语言环境的内部使用。

    它将允许您构建库。

    我不确定构建wsdl2h,但在导航到make WSDL2H_EXTRA_FLAGS="-DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_GZIP"时,您可以强制gsoap/wsdl之类的内容来构建它。

    但请注意:使用这些选项意味着计算机或应用程序中的其他区域设置可能会影响浮点转换,例如:当LC_NUMERIC设置为欧式十进制逗号而不是小数点时。这显然会影响XML中的文本处理。