sqlite3-ruby gem не может найти sqlite3.h в Ubuntu - PullRequest
10 голосов
/ 27 сентября 2010

Пытаюсь запустить Rails на Ubuntu, и у меня возникают проблемы с установкой sqlite3-ruby - он явно не может найти sqlite3.h.Все ссылки, которые я могу найти на ошибку, указывают на то, что проблема либо в: заголовки sqlite3 не установлены, либо make не может их найти.Мне кажется, что я решил обе эти проблемы и все еще вижу ту же проблему.

Не знаю, что здесь происходит.Несоответствие версий, может быть?Это с ruby ​​1.8.7, sqlite 3.6.22-1, gem 1.3.5 и sqlite3-ruby 1.3.1 на ubuntu 10.04.1.

david@li88-188:~$ sudo apt-get install sqlite3

[... успешная установка ...]

Setting up sqlite3 (3.6.22-1) ...
david@li88-188:~$ sudo apt-get install libsqlite3-dev

[... успешная установка ...]

Setting up libsqlite3-dev (3.6.22-1) ...
david@li88-188:~$ sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
 ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel'
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

[... опции конфигурации и т.д ....]

david@li88-188:~$ cat /var/lib/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/mkmf.log 
find_header: checking for sqlite3.h... -------------------- no

"gcc -E -I. -I/usr/lib/ruby/1.8/i486-linux -I. -I/usr/local/include -I/opt/local/include -I/usr/include  -D_FILE_OFFSET_BITS=64  -fno-strict-aliasing -g -g -O2  -fPIC   -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline  conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include <sqlite3.h>
/* end */

--------------------

Обратите внимание, что /usr/include находится в списке аргументов.

david@li88-188:~$ ls -l /usr/include/sqlite3.h 
-rw-r--r-- 1 root root 268351 2010-02-08 03:59 /usr/include/sqlite3.h

И обратите внимание, что файл есть.

Ответы [ 3 ]

41 голосов
/ 01 декабря 2011

В моем случае мне пришлось установить libsqlite3-dev

sudo apt-get install libsqlite3-dev
4 голосов
/ 27 сентября 2010

Неважно. Сам gcc не был установлен, как я обнаружил, когда попытался установить другой гем с лучшими сообщениями об ошибках.

1 голос
/ 27 сентября 2010

https://help.ubuntu.com/community/RubyOnRails вот базовое руководство по настройке среды разработки RoR для Ubuntu с каждым объясненным шагом. Удачи!

...