Mam problem z niektórymi brakującymi nagłówkami podczas próby zainstalowania RODBC w R na moim systemie Linux. Czy ktoś może mi pomóc z tym problemem?
> install.packages("RODBC")
Installing package(s) into ‘/home/administrator/R/x86_64-pc-linux-gnu-library/2.12’
(as ‘lib’ is unspecified)
trying URL 'http://cran.cnr.Berkeley.edu/src/contrib/RODBC_1.3-2.tar.gz'
Content type 'application/x-gzip' length 1108358 bytes (1.1 Mb)
opened URL
==================================================
downloaded 1.1 Mb
* installing *source* package ‘RODBC’ ...
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... 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 sql.h usability... no
checking sql.h presence... no
checking for sql.h... no
checking sqlext.h usability... no
checking sqlext.h presence... no
checking for sqlext.h... no
configure: error: "ODBC headers sql.h and sqlext.h not found"
ERROR: configuration failed for package ‘RODBC’
* removing ‘/home/administrator/R/x86_64-pc-linux-gnu-library/2.12/RODBC’
Warning in install.packages :
installation of package 'RODBC' had non-zero exit status
The downloaded packages are in
‘/tmp/RtmpqfNYpD/downloaded_packages’
Odpowiedzi:
Jak powiedział Dirk w komentarzach, jeśli już zainstalowałeś r-cran-rodbc, nie ma potrzeby uruchamiania install.packages () z poziomu R. „biblioteka (RODBC)” powinna załadować pakiet.
Mówiąc bardziej ogólnie, gdy widzisz błędy dotyczące nagłówków, dzieje się tak, ponieważ wymagana biblioteka programistyczna nie jest zainstalowana. Rozwiązaniem jest przeszukiwanie Internetu za pomocą nazw brakujących plików nagłówkowych ( np. Google dla „sqlext.h ubuntu”), aby zidentyfikować wymagany pakiet. W takim przypadku potrzebujesz libiodbc2-dev. Więc:
Następnie instalacja w R powinna działać.
źródło
Czy naprawdę potrzebujesz budować ze źródła? Dlaczego nie korzystasz z pakietu binarnego?
Więc może spróbuj zamiast tego:
lub użyj dowolnego interfejsu GUI do systemu zarządzania pakietami.
źródło
Po próbie zainstalowania pakietów ze wszystkich rozwiązań na tej stronie i innych udało mi się zbudować
RODBC
pakiet przy użyciu:sudo apt-get install unixodbc unixodbc-dev
Zainstalowałem również:
źródło
FWIW, miałem ten sam problem („Nie znaleziono nagłówków ODBC sql.h i sqlext.h”) w systemie OS X i naprawiłem go, instalując unixodbc (
brew install unixodbc
)źródło
RODBC zależy od R (> = 3.0.0 (patrz na przykład https://cran.r-project.org/web/packages/RODBC/RODBC.pdf )
Twoja lokalna biblioteka pakietów ...
... sugeruje, że możesz mieć zainstalowaną starszą wersję R (2.12). W takim przypadku spróbuj uaktualnić do najnowszej wersji R.
źródło
Też miałem ten problem. Dla mnie rozwiązaniem było brak niektórych zależności Ubuntu, takich jak
Warto zauważyć, że
install.packages("RODBC", dependencies=TRUE)
nie nie odebrać tych pakietów. Leżą na zewnątrzR
siebie.źródło