{"action":"created","issue":{"url":"https://api.github.com/repos/holmium/dnsforwarder/issues/59","labels_url":"https://api.github.com/repos/holmium/dnsforwarder/issues/59/labels{/name}","comments_url":"https://api.github.com/repos/holmium/dnsforwarder/issues/59/comments","events_url":"https://api.github.com/repos/holmium/dnsforwarder/issues/59/events","html_url":"https://github.com/holmium/dnsforwarder/issues/59","id":59026152,"number":59,"title":"gcc 4.8.2 编译失败 ","user":{"login":"tofuliang","id":1814685,"avatar_url":"https://avatars.githubusercontent.com/u/1814685?v=3","gravatar_id":"","url":"https://api.github.com/users/tofuliang","html_url":"https://github.com/tofuliang","followers_url":"https://api.github.com/users/tofuliang/followers","following_url":"https://api.github.com/users/tofuliang/following{/other_user}","gists_url":"https://api.github.com/users/tofuliang/gists{/gist_id}","starred_url":"https://api.github.com/users/tofuliang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tofuliang/subscriptions","organizations_url":"https://api.github.com/users/tofuliang/orgs","repos_url":"https://api.github.com/users/tofuliang/repos","events_url":"https://api.github.com/users/tofuliang/events{/privacy}","received_events_url":"https://api.github.com/users/tofuliang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-02-26T06:23:11Z","updated_at":"2015-02-26T07:42:25Z","closed_at":null,"body":"试了一下,commit 635c38e 之后的版本都报错.                                        \r\n\r\n\r\n```\r\ntofuliang@Ubuntu-Server:~/dnsforwarder$ gcc -v\r\nUsing built-in specs.\r\nCOLLECT_GCC=gcc\r\nCOLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper\r\nTarget: x86_64-linux-gnu\r\nConfigured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu\r\nThread model: posix\r\ngcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)                                        \r\n\r\n\r\n\r\ntofuliang@Ubuntu-Server:~/dnsforwarder$ git checkout --force 5\r\n之前的 HEAD 位置是 635c38e... A small bug fixed\r\n切换到分支 '5'\r\n您的分支与上游分支 'origin/5' 一致。                                      \r\n\r\n\r\ntofuliang@Ubuntu-Server:~/dnsforwarder$ ./configure\r\nchecking for a BSD-compatible install... /usr/bin/install -c\r\nchecking whether build environment is sane... yes\r\nchecking for a thread-safe mkdir -p... /bin/mkdir -p\r\nchecking for gawk... gawk\r\nchecking whether make sets $(MAKE)... yes\r\nchecking whether make supports nested variables... yes\r\nchecking for gcc... gcc\r\nchecking whether the C compiler works... yes\r\nchecking for C compiler default output file name... a.out\r\nchecking for suffix of executables... \r\nchecking whether we are cross compiling... no\r\nchecking for suffix of object files... o\r\nchecking whether we are using the GNU C compiler... yes\r\nchecking whether gcc accepts -g... yes\r\nchecking for gcc option to accept ISO C89... none needed\r\nchecking whether gcc understands -c and -o together... yes\r\nchecking for style of include used by make... GNU\r\nchecking dependency style of gcc... gcc3\r\nchecking for log in -lm... yes\r\nchecking for sqrt in -lm... yes\r\nchecking for curl_global_init in -lcurl... yes\r\nchecking for BIO_new in -lcrypto... yes\r\nchecking how to run the C preprocessor... gcc -E\r\nchecking for grep that handles long lines and -e... /bin/grep\r\nchecking for egrep... /bin/grep -E\r\nchecking for ANSI C header files... yes\r\nchecking for sys/types.h... yes\r\nchecking for sys/stat.h... yes\r\nchecking for stdlib.h... yes\r\nchecking for string.h... yes\r\nchecking for memory.h... yes\r\nchecking for strings.h... yes\r\nchecking for inttypes.h... yes\r\nchecking for stdint.h... yes\r\nchecking for unistd.h... yes\r\nchecking sys/syscall.h usability... yes\r\nchecking sys/syscall.h presence... yes\r\nchecking for sys/syscall.h... yes\r\nchecking wordexp.h usability... yes\r\nchecking wordexp.h presence... yes\r\nchecking for wordexp.h... yes\r\nchecking for curl/curl.h... yes\r\nchecking for openssl/evp.h... yes\r\nchecking for openssl/bio.h... yes\r\nchecking for pid_t... yes\r\nchecking vfork.h usability... no\r\nchecking vfork.h presence... no\r\nchecking for vfork.h... no\r\nchecking for fork... yes\r\nchecking for vfork... yes\r\nchecking for working fork... yes\r\nchecking for working vfork... (cached) yes\r\nchecking for stdlib.h... (cached) yes\r\nchecking for GNU libc compatible malloc... yes\r\nchecking for stdlib.h... (cached) yes\r\nchecking for GNU libc compatible realloc... yes\r\nchecking for setenv... yes\r\nchecking for wordexp... yes\r\nchecking for pid_t... (cached) yes\r\nchecking for size_t... yes\r\nchecking for int16_t... yes\r\nchecking for uint16_t... yes\r\nchecking for int32_t... yes\r\nchecking for uint32_t... yes\r\nchecking that generated files are newer than configure... done\r\nconfigure: creating ./config.status\r\nconfig.status: creating makefile\r\nconfig.status: creating config.h\r\nconfig.status: executing depfiles commands                                                                       \r\n\r\n\r\n\r\ntofuliang@Ubuntu-Server:~/dnsforwarder$ make\r\nCDPATH=\"${ZSH_VERSION+.}:\" && cd . && /bin/bash /home/tofuliang/dnsforwarder/missing aclocal-1.14 \r\n cd . && /bin/bash /home/tofuliang/dnsforwarder/missing automake-1.14 --gnu\r\nCDPATH=\"${ZSH_VERSION+.}:\" && cd . && /bin/bash /home/tofuliang/dnsforwarder/missing autoconf\r\n/bin/bash ./config.status --recheck\r\nrunning CONFIG_SHELL=/bin/bash /bin/bash ./configure --no-create --no-recursion\r\nchecking for a BSD-compatible install... /usr/bin/install -c\r\nchecking whether build environment is sane... yes\r\nchecking for a thread-safe mkdir -p... /bin/mkdir -p\r\nchecking for gawk... gawk\r\nchecking whether make sets $(MAKE)... yes\r\nchecking whether make supports nested variables... yes\r\nchecking for gcc... gcc\r\nchecking whether the C compiler works... yes\r\nchecking for C compiler default output file name... a.out\r\nchecking for suffix of executables... \r\nchecking whether we are cross compiling... no\r\nchecking for suffix of object files... o\r\nchecking whether we are using the GNU C compiler... yes\r\nchecking whether gcc accepts -g... yes\r\nchecking for gcc option to accept ISO C89... none needed\r\nchecking whether gcc understands -c and -o together... yes\r\nchecking for style of include used by make... GNU\r\nchecking dependency style of gcc... gcc3\r\nchecking for log in -lm... yes\r\nchecking for sqrt in -lm... yes\r\nchecking for curl_global_init in -lcurl... yes\r\nchecking for BIO_new in -lcrypto... yes\r\nchecking how to run the C preprocessor... gcc -E\r\nchecking for grep that handles long lines and -e... /bin/grep\r\nchecking for egrep... /bin/grep -E\r\nchecking for ANSI C header files... yes\r\nchecking for sys/types.h... yes\r\nchecking for sys/stat.h... yes\r\nchecking for stdlib.h... yes\r\nchecking for string.h... yes\r\nchecking for memory.h... yes\r\nchecking for strings.h... yes\r\nchecking for inttypes.h... yes\r\nchecking for stdint.h... yes\r\nchecking for unistd.h... yes\r\nchecking sys/syscall.h usability... yes\r\nchecking sys/syscall.h presence... yes\r\nchecking for sys/syscall.h... yes\r\nchecking wordexp.h usability... yes\r\nchecking wordexp.h presence... yes\r\nchecking for wordexp.h... yes\r\nchecking for curl/curl.h... yes\r\nchecking for openssl/evp.h... yes\r\nchecking for openssl/bio.h... yes\r\nchecking for pid_t... yes\r\nchecking vfork.h usability... no\r\nchecking vfork.h presence... no\r\nchecking for vfork.h... no\r\nchecking for fork... yes\r\nchecking for vfork... yes\r\nchecking for working fork... yes\r\nchecking for working vfork... (cached) yes\r\nchecking for stdlib.h... (cached) yes\r\nchecking for GNU libc compatible malloc... yes\r\nchecking for stdlib.h... (cached) yes\r\nchecking for GNU libc compatible realloc... yes\r\nchecking for setenv... yes\r\nchecking for wordexp... yes\r\nchecking for pid_t... (cached) yes\r\nchecking for size_t... yes\r\nchecking for int16_t... yes\r\nchecking for uint16_t... yes\r\nchecking for int32_t... yes\r\nchecking for uint32_t... yes\r\nchecking that generated files are newer than configure... done\r\nconfigure: creating ./config.status\r\n /bin/bash ./config.status\r\nconfig.status: creating makefile\r\nconfig.status: creating config.h\r\nconfig.status: config.h is unchanged\r\nconfig.status: executing depfiles commands\r\n(CDPATH=\"${ZSH_VERSION+.}:\" && cd . && /bin/bash /home/tofuliang/dnsforwarder/missing autoheader)\r\nrm -f stamp-h1\r\ntouch config.h.in\r\ncd . && /bin/bash ./config.status config.h\r\nconfig.status: creating config.h\r\nconfig.status: config.h is unchanged\r\nmake  all-am\r\nmake[1]: Entering directory `/home/tofuliang/dnsforwarder'\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT addresschunk.o -MD -MP -MF .deps/addresschunk.Tpo -c -o addresschunk.o addresschunk.c\r\nmv -f .deps/addresschunk.Tpo .deps/addresschunk.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT addresslist.o -MD -MP -MF .deps/addresslist.Tpo -c -o addresslist.o addresslist.c\r\nmv -f .deps/addresslist.Tpo .deps/addresslist.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT array.o -MD -MP -MF .deps/array.Tpo -c -o array.o array.c\r\nmv -f .deps/array.Tpo .deps/array.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT bst.o -MD -MP -MF .deps/bst.Tpo -c -o bst.o bst.c\r\nmv -f .deps/bst.Tpo .deps/bst.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT cacheht.o -MD -MP -MF .deps/cacheht.Tpo -c -o cacheht.o cacheht.c\r\nmv -f .deps/cacheht.Tpo .deps/cacheht.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT debug.o -MD -MP -MF .deps/debug.Tpo -c -o debug.o debug.c\r\nmv -f .deps/debug.Tpo .deps/debug.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT dnscache.o -MD -MP -MF .deps/dnscache.Tpo -c -o dnscache.o dnscache.c\r\nIn file included from dnsrelated.h:4:0,\r\n                 from dnscache.h:4,\r\n                 from dnscache.c:4:\r\ndnscache.c: In function ‘DNSCache_Init’:\r\ncommon.h:205:83: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]\r\n  #define CREATE_FILE_MAPPING(handle, size) (lseek((handle), size, SEEK_SET), write((handle), \"\\0\", 1), (handle))\r\n                                                                                   ^\r\ndnscache.c:258:24: note: in expansion of macro ‘CREATE_FILE_MAPPING’\r\n   CacheMappingHandle = CREATE_FILE_MAPPING(CacheFileHandle, CacheSize);\r\n                        ^\r\nmv -f .deps/dnscache.Tpo .deps/dnscache.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT dnsgenerator.o -MD -MP -MF .deps/dnsgenerator.Tpo -c -o dnsgenerator.o dnsgenerator.c\r\nmv -f .deps/dnsgenerator.Tpo .deps/dnsgenerator.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT dnsparser.o -MD -MP -MF .deps/dnsparser.Tpo -c -o dnsparser.o dnsparser.c\r\nmv -f .deps/dnsparser.Tpo .deps/dnsparser.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT dnsrelated.o -MD -MP -MF .deps/dnsrelated.Tpo -c -o dnsrelated.o dnsrelated.c\r\nmv -f .deps/dnsrelated.Tpo .deps/dnsrelated.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT domainstatistic.o -MD -MP -MF .deps/domainstatistic.Tpo -c -o domainstatistic.o domainstatistic.c\r\nmv -f .deps/domainstatistic.Tpo .deps/domainstatistic.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT downloader.o -MD -MP -MF .deps/downloader.Tpo -c -o downloader.o downloader.c\r\nmv -f .deps/downloader.Tpo .deps/downloader.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT excludedlist.o -MD -MP -MF .deps/excludedlist.Tpo -c -o excludedlist.o excludedlist.c\r\nmv -f .deps/excludedlist.Tpo .deps/excludedlist.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT extendablebuffer.o -MD -MP -MF .deps/extendablebuffer.Tpo -c -o extendablebuffer.o extendablebuffer.c\r\nmv -f .deps/extendablebuffer.Tpo .deps/extendablebuffer.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT gfwlist.o -MD -MP -MF .deps/gfwlist.Tpo -c -o gfwlist.o gfwlist.c\r\nmv -f .deps/gfwlist.Tpo .deps/gfwlist.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT hosts.o -MD -MP -MF .deps/hosts.Tpo -c -o hosts.o hosts.c\r\nhosts.c: In function ‘DynamicHosts_SocketLoop’:\r\nhosts.c:562:17: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]\r\n      AnswersPos = DNSJumpOverQuestionRecords(DNSResult);\r\n                 ^\r\nhosts.c: In function ‘GetHostsFromInternet_Thread’:\r\nhosts.c:165:11: warning: ignoring return value of ‘system’, declared with attribute warn_unused_result [-Wunused-result]\r\n     system(Script);\r\n           ^\r\nmv -f .deps/hosts.Tpo .deps/hosts.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT ipchunk.o -MD -MP -MF .deps/ipchunk.Tpo -c -o ipchunk.o ipchunk.c\r\nmv -f .deps/ipchunk.Tpo .deps/ipchunk.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c\r\nmv -f .deps/main.Tpo .deps/main.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT querydnsbase.o -MD -MP -MF .deps/querydnsbase.Tpo -c -o querydnsbase.o querydnsbase.c\r\nmv -f .deps/querydnsbase.Tpo .deps/querydnsbase.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT querydnsinterface.o -MD -MP -MF .deps/querydnsinterface.Tpo -c -o querydnsinterface.o querydnsinterface.c\r\nmv -f .deps/querydnsinterface.Tpo .deps/querydnsinterface.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT querydnslistentcp.o -MD -MP -MF .deps/querydnslistentcp.Tpo -c -o querydnslistentcp.o querydnslistentcp.c\r\nmv -f .deps/querydnslistentcp.Tpo .deps/querydnslistentcp.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT querydnslistenudp.o -MD -MP -MF .deps/querydnslistenudp.Tpo -c -o querydnslistenudp.o querydnslistenudp.c\r\nmv -f .deps/querydnslistenudp.Tpo .deps/querydnslistenudp.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT readconfig.o -MD -MP -MF .deps/readconfig.Tpo -c -o readconfig.o readconfig.c\r\nmv -f .deps/readconfig.Tpo .deps/readconfig.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT readline.o -MD -MP -MF .deps/readline.Tpo -c -o readline.o readline.c\r\nreadline.c: In function ‘ReadLine’:\r\nreadline.c:88:10: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]\r\n     fgets(BlackHole, sizeof(BlackHole), fp);\r\n          ^\r\nmv -f .deps/readline.Tpo .deps/readline.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT request_response.o -MD -MP -MF .deps/request_response.Tpo -c -o request_response.o request_response.c\r\nrequest_response.c: In function ‘TestServer’:\r\nrequest_response.c:1371:2: warning: passing argument 1 of ‘GoToNextNonSpace’ discards ‘const’ qualifier from pointer target type [enabled by default]\r\n  Args -> ServerAddress = GoToNextNonSpace(Args -> ServerAddress);\r\n  ^\r\nIn file included from request_response.c:10:0:\r\nutils.h:108:7: note: expected ‘char *’ but argument is of type ‘const char *’\r\n char *GoToNextNonSpace(char *Here);\r\n       ^\r\nmv -f .deps/request_response.Tpo .deps/request_response.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT simpleht.o -MD -MP -MF .deps/simpleht.Tpo -c -o simpleht.o simpleht.c\r\nmv -f .deps/simpleht.Tpo .deps/simpleht.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT statichosts.o -MD -MP -MF .deps/statichosts.Tpo -c -o statichosts.o statichosts.c\r\nstatichosts.c: In function ‘Hosts_LoadFromMetaLine’:\r\nstatichosts.c:341:2: warning: passing argument 1 of ‘GetKeyNameAndValue’ discards ‘const’ qualifier from pointer target type [enabled by default]\r\n  Domain = GetKeyNameAndValue(IPOrCName, \"\\t \");\r\n  ^\r\nIn file included from debug.h:4:0,\r\n                 from querydnsbase.h:4,\r\n                 from statichosts.h:6,\r\n                 from statichosts.c:2:\r\nreadconfig.h:88:7: note: expected ‘char *’ but argument is of type ‘const char *’\r\n char *GetKeyNameAndValue(char *Line, const char *Delimiters);\r\n       ^\r\nmv -f .deps/statichosts.Tpo .deps/statichosts.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT stringchunk.o -MD -MP -MF .deps/stringchunk.Tpo -c -o stringchunk.o stringchunk.c\r\nmv -f .deps/stringchunk.Tpo .deps/stringchunk.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT stringlist.o -MD -MP -MF .deps/stringlist.Tpo -c -o stringlist.o stringlist.c\r\nmv -f .deps/stringlist.Tpo .deps/stringlist.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT utils.o -MD -MP -MF .deps/utils.Tpo -c -o utils.o utils.c\r\nutils.c: In function ‘GetModulePath’:\r\nutils.c:111:2: warning: #warning Implement this [-Wcpp]\r\n #warning Implement this\r\n  ^\r\nmv -f .deps/utils.Tpo .deps/utils.Po\r\ngcc -DHAVE_CONFIG_H -I.     -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2  -MT internalsocket.o -MD -MP -MF .deps/internalsocket.Tpo -c -o internalsocket.o internalsocket.c\r\nmv -f .deps/internalsocket.Tpo .deps/internalsocket.Po\r\ngcc  -DDOWNLOAD_LIBCURL  -DBASE64_DECODER_OPENSSL  -O2    -o dnsforwarder addresschunk.o addresslist.o array.o bst.o cacheht.o debug.o dnscache.o dnsgenerator.o dnsparser.o dnsrelated.o domainstatistic.o downloader.o excludedlist.o extendablebuffer.o gfwlist.o hosts.o ipchunk.o main.o querydnsbase.o querydnsinterface.o querydnslistentcp.o querydnslistenudp.o readconfig.o readline.o request_response.o simpleht.o statichosts.o stringchunk.o stringlist.o utils.o internalsocket.o  -lcrypto -lcurl -lm -lm \r\n/usr/bin/ld: dnscache.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'\r\n//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line\r\ncollect2: error: ld returned 1 exit status\r\nmake[1]: *** [dnsforwarder] Error 1\r\nmake[1]: Leaving directory `/home/tofuliang/dnsforwarder'\r\nmake: *** [all] Error 2\r\n```"},"comment":{"url":"https://api.github.com/repos/holmium/dnsforwarder/issues/comments/76134998","html_url":"https://github.com/holmium/dnsforwarder/issues/59#issuecomment-76134998","issue_url":"https://api.github.com/repos/holmium/dnsforwarder/issues/59","id":76134998,"user":{"login":"holmium","id":2255715,"avatar_url":"https://avatars.githubusercontent.com/u/2255715?v=3","gravatar_id":"","url":"https://api.github.com/users/holmium","html_url":"https://github.com/holmium","followers_url":"https://api.github.com/users/holmium/followers","following_url":"https://api.github.com/users/holmium/following{/other_user}","gists_url":"https://api.github.com/users/holmium/gists{/gist_id}","starred_url":"https://api.github.com/users/holmium/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holmium/subscriptions","organizations_url":"https://api.github.com/users/holmium/orgs","repos_url":"https://api.github.com/users/holmium/repos","events_url":"https://api.github.com/users/holmium/events{/privacy}","received_events_url":"https://api.github.com/users/holmium/received_events","type":"User","site_admin":false},"created_at":"2015-02-26T07:42:25Z","updated_at":"2015-02-26T07:42:25Z","body":"这回应该可以了"}}