Ошибка при установке RMySQL (MySQL 5.5.37 в Ubuntu 14.04)

Каждый раз, когда я пытаюсь установить RMySQL, я получаю следующую ошибку:

Installing package into ‘/home/ehsan/R/x86_64-pc-linux-gnu-library/3.0’
(as ‘lib’ is unspecified)
* installing *source* package ‘RMySQL’ ...
** package ‘RMySQL’ successfully unpacked and MD5 sums checked
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 compress in -lz... yes
checking for getopt_long in -lc... yes
checking for mysql_init in -lmysqlclient... yes
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 mysql.h usability... no
checking mysql.h presence... no
checking for mysql.h... no
configure: creating ./config.status
config.status: creating src/Makevars
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/include/mysql/mysql.h     -fpic  -O3 -pipe  -g  -c RS-DBI.c -o RS-DBI.o
cc1: warning: /usr/include/mysql/mysql.h: not a directory [enabled by default]
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/include/mysql/mysql.h     -fpic  -O3 -pipe  -g  -c RS-MySQL.c -o RS-MySQL.o
cc1: warning: /usr/include/mysql/mysql.h: not a directory [enabled by default]
In file included from RS-MySQL.c:22:0:
RS-MySQL.h:32:19: fatal error: mysql.h: No such file or directory
 #include <mysql.h>
                   ^
compilation terminated.
make: *** [RS-MySQL.o] Error 1
ERROR: compilation failed for package ‘RMySQL’
* removing ‘/home/ehsan/R/x86_64-pc-linux-gnu-library/3.0/RMySQL’
The downloaded source packages are in
    ‘/tmp/RtmpTRRPqg/downloaded_packages’
Warning message:
In install.packages("RMySQL") :
  installation of package ‘RMySQL’ had non-zero exit status**

По-видимому, он не может найти mysql.h, и я искал и изменил путь к

экспортировать PKG_CPPFLAGS="-I/usr/R/include/mysql/mysql.h"

но это не увенчалось успехом. Есть много людей, у которых была такая же проблема, но ни одно из их решений (если они существовали) не сработало для меня. Буду признателен за любой комментарий или помощь.

#Обновление: проблема решена#

Следующая команда, похоже, решила проблему:

sudo apt-get установить r-cran-rmysql


person Ehsan M. Kermani    schedule 16.07.2014    source источник
comment
Вы можете написать свой собственный ответ вместо того, чтобы редактировать решенную проблему   -  person Rich Scriven    schedule 27.09.2014
comment
@RichardScriven, я предпочитаю более компактный!   -  person Ehsan M. Kermani    schedule 27.09.2014
comment
Хорошо. Но я просто говорю, что люди иногда будут голосовать за ваш ответ, даже если вы сами ответите на свой вопрос.   -  person Rich Scriven    schedule 27.09.2014


Ответы (5)


Как уже было сказано, у меня сработала следующая команда:

sudo apt-get установить r-cran-rmysql

person Ehsan M. Kermani    schedule 17.01.2015
comment
после установки установите в R studio, тогда все работает - person Mr S Coder; 08.12.2019

Моя эта проблема была решена путем выполнения следующей команды:

sudo apt-get install libmysql++-dev
person vipul singhal    schedule 17.10.2016

поскольку @ehsanmo не опубликовал свой ответ в качестве ответа, тогда я это сделаю и подтвержу, что его решение работает и для меня:

sudo apt-get install r-cran-rmysql

(у меня минт 12)

person ErichBSchulz    schedule 22.11.2014

Ну, есть два типа проблем с установкой/созданием. Отсутствуют файлы .h и/или отсутствуют библиотеки .so/.a. Как вы можете видеть из вашего журнала, у вас отсутствует .h

Причин тому несколько: 1. Пакет, поставляющий их, не установлен. Это означает, что эти файлы нельзя найти нигде в дереве /usr. Решение состоит в том, чтобы установить правильный пакет и убедиться, что файлы есть

2.- Включаемые файлы не найдены конфигуратором установки. Это означает, что какая-то переменная среды или параметр установки установлены неправильно. Какую переменную устанавливать, обычно указано в документации; в некоторых случаях вам нужно установить что-то помимо R, и опять же, это обычно указано в документации.

3.- библиотеки не находятся в LD_LIBRARY_PATH, и, надеюсь, решение этого не требует пояснений.

4.- Существует более глубокая ошибка компиляции/компоновки, означающая, что пакет не совместим с остальной частью программного обеспечения или не был должным образом портирован.

person Hack-R    schedule 16.07.2014
comment
Спасибо, это многое проясняет. - person Ehsan M. Kermani; 16.07.2014
comment
Конечно, нет проблем. На самом деле это решение было основано на электронном письме, которое мой вице-президент по ИТ прислал мне относительно проблем с установкой пакетов, которые у меня были с R в кластере Solaris HPC. Я сделал Evernote из его электронной почты, и я рад, что это пригодилось здесь. - person Hack-R; 17.07.2014

Настройка: 1

find / -name mysql.h

Если файл заголовков не найден, отсутствует

Setp :1 Затем установите или переустановите mysql-devel или mysql-client.

sudo yum (re)install mysql-devel
sudo yum (re)install mysql-client

sudo yum (re)install mysql-community-devel
sudo yum (re)install mysql-community-client
person Veeramani K    schedule 26.12.2020