2017-09-16 151 views
1

我試圖安裝feather包FreeBSD機器和它崩潰ř羽毛包編譯錯誤(克++)由於以下錯誤:error: 'snprintf' was not declared in this scopeg++用於編譯。在FreeBSD

對如何處理這個問題的任何暗示將非常感激。

以下是完整的安裝日誌。

* installing *source* package ‘feather’ ... 
** package ‘feather’ successfully unpacked and MD5 sums checked 
Platform is little endian. Good. 
** libs 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c RcppExports.cpp -o RcppExports.o 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c feather-read.cpp -o feather-read.o 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c feather-types.cpp -o feather-types.o 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c feather-write.cpp -o feather-write.o 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c feather/buffer.cc -o feather/buffer.o 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c feather/feather-c.cc -o feather/feather-c.o 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c feather/io.cc -o feather/io.o 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c feather/metadata.cc -o feather/metadata.o 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c feather/reader.cc -o feather/reader.o 
g++5 -std=gnu++11 -I/usr/local/lib/R/include -DNDEBUG -I. -I"/usr/local/lib/R/library/Rcpp/include" -DLIBICONV_PLUG -I/usr/local/include -isystem /usr/local/include -fpic -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc5 -isystem /usr/local/include -c feather/status.cc -o feather/status.o 
feather/status.cc: In member function 'std::__cxx11::string feather::Status::ToString() const': 
feather/status.cc:52:52: error: 'snprintf' was not declared in this scope 
snprintf(buf, sizeof(buf), " (error %d)", posix); 
               ^
gmake: *** [/usr/local/lib/R/etc/Makeconf:164: feather/status.o] Error 1 
ERROR: compilation failed for package ‘feather’ 
* removing ‘/usr/local/lib/R/library/feather’ 

The downloaded source packages are in 
     ‘/tmp/Rtmp26mAsU/downloaded_packages’ 
Updating HTML index of packages in '.Library' 
Making 'packages.html' ... done 
Warning message: 
In install.packages("feather") : 
installation of package ‘feather’ had non-zero exit status 
+0

我不得不尋找'snprintf' ......一會兒我以爲那只是一個錯字。根據[此](http://cygwin.1069669.n5.nabble.com/snprintf-with-g-std-c-98-error-snprintf-was-not-declared-in-this-scope-td27135。 html),你可能需要改變你的'Makeconf'來適應編譯這個包。 –

回答

1

該問題似乎在文件feather/status.cc。嘗試打開它並添加#include <cstdio>行以包括列表頂部。

+0

好吧,你的解決方案作品,作者已經應用了[補丁](https://github.com/wesm/feather/pull/317)的源代碼來處理在FreeBSD這個問題。因此,我接受答案。謝謝! – sztal