Не удается установить пакет `proj4`, поскольку libproj и / или proj_api.h не найдены в стандартных местах поиска - PullRequest
2 голосов
/ 25 мая 2019

Я хочу установить пакет ggalt, для которого требуется пакет proj4, но при установке proj4 выдается ошибка libproj and/or proj_api.h not found in standard search locations.

Мой компьютер - Mac, и я установил PROJ.4 с использованием brew install proj, а версия R - 3.6.0_2. Я искал в Интернете эту проблему, но не нашел способа ее решить. Я не кодер и только начинаю изучать R, поэтому я не знаю, как это сделать сейчас.

Ошибка показывает, как показано ниже:

* installing *source* package ‘proj4’ ...
** package ‘proj4’ successfully unpacked and MD5 sums checked
** using staged installation
checking for gcc... clang
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 clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking how to run the C preprocessor... clang -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
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 proj_api.h usability... no
checking proj_api.h presence... no
checking for proj_api.h... no
checking for pj_init_plus in -lproj... yes
configure: error: libproj and/or proj_api.h not found in standard search locations.

*** Install PROJ.4 and if necessary set PKG_CPPFLAGS/PKG_LIBS accordingly.
ERROR: configuration failed for package ‘proj4’
* removing ‘/usr/local/lib/R/3.6/site-library/proj4’

The downloaded source packages are in
    ‘/private/var/folders/sn/1d6n55qs0zl522kcc769jq5h0000gn/T/RtmpNOkU64/downloaded_packages’

1 Ответ

1 голос
/ 16 июня 2019

У меня тоже есть эта досадная проблема. Я смог собрать его вручную - но на данный момент это грязный хак. Обратите внимание, что я не программист на Си, поэтому это не будет исправлено.

Я нашел в верхней части proj_api.h:

#ifndef ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
#error 'To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H'
#endif

Я подумал, что смогу вставить

#define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H

перед строкой 7 в src/p4.c и строкой 1462 configure источника пакета (в обоих случаях перед #include).

Полагаю, можно было бы также удалить раздел из proj_api.h - однако я не имею ни малейшего понятия, может ли он что-нибудь сломать.

...