I’m trying to install the «sqlite3-ruby» gem (or the «sqlite3» gem) on OS X 10.6. I’m using ruby-1.9.2 and I currently get the following:
$ sqlite3 --version
3.7.4
$ sudo gem install sqlite3
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.
/Users/folken/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb
checking for sqlite3.h... *** 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.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/folken/.rvm/rubies/ruby-1.9.2-head/bin/ruby
--with-sqlite3-dir
--without-sqlite3-dir
--with-sqlite3-include
--without-sqlite3-include=${sqlite3-dir}/include
--with-sqlite3-lib
--without-sqlite3-lib=${sqlite3-dir}/lib
/Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:853:in `block in find_header'
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
from /Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:852:in `find_header'
from extconf.rb:28:in `<main>'
Gem files will remain installed in /Users/folken/.rvm/gems/ruby-1.9.2-head/gems/sqlite3-1.3.3 for inspection.
The following is the results of which & whereis, and the sqlite3.h is located in /opt/local/include:
$ which sqlite3
/opt/local/bin/sqlite3
$ whereis sqlite3
/usr/bin/sqlite3
I’ve tried passing in the following as well:
sudo gem install sqlite3 -- --with-sqlite3-include /opt/local/include --with-sqlite3-lib /opt/local/lib
sudo gem install sqlite3 -- --with-sqlite3-dir /opt/local/bin
which results in the following:
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.
/Users/folken/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb --with-sqlite3-dir /usr/bin/sqlite3
*** 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.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/folken/.rvm/rubies/ruby-1.9.2-head/bin/ruby
--with-sqlite3-dir
/Users/folken/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:1336:in `dir_config': undefined method `split' for true:TrueClass (NoMethodError)
from extconf.rb:9:in `<main>'
Also under /Users/folken/.rvm/gems/ruby-1.9.2-head/gems:
sqlite-ruby-2.2.3
sqlite3-1.3.3
Under RVM I have ruby-1.8.7 and the sqlite3 gem loads fine on that, but after much googling I have not found a solution that works for me. Any help is greatly appreciated (even if it involves manual installation / hackery to get working).
12 ответов
SQLite RubyGem на самом деле не RubyGem, это «CGem», IOW он написан на C. Это означает, что он должен быть скомпилирован и связан с интерпретатором Ruby при его установке и для этого файлы заголовков C для интерпретатора Ruby.
Если вы сами компилируете Ruby, эти файлы заголовков будут установлены автоматически, однако в системах RedHat-ish такие файлы заголовков обычно упаковываются в отдельный пакет под названием <whatever>-dev
. Таким образом, в этом случае вам нужно будет установить пакет ruby-dev
и, возможно, пакет libsqlite3-dev
(Ubuntu) или sqlite-devel
(Fedora).
Однако вам может быть лучше просто установить пакет с установленной упаковкой libsqlite3-ruby
операционной системы, таким образом, все зависимости будут автоматически выполнены.
(Примечание: все имена пакетов, вытащенные из воздуха, могут отличаться в вашей системе.)
Jörg W Mittag
07 янв. 2009, в 19:25
Поделиться
Вероятно, вам нужен пакет ruby dev. Для Ubuntu вам необходимо установить ruby1.8-dev, который включает файлы заголовков ruby. Быстрый google говорит, что пакет yum — это рубиновый. поэтому запустите это:
sudo yum install ruby-devel
hacintosh
08 янв. 2009, в 04:51
Поделиться
Я столкнулся с проблемой установки sqlite3-ruby gem на моем блоке fedora 13.
Он был исправлен после sudo yum install sqlite-devel
Rahul
06 янв. 2011, в 10:57
Поделиться
Когда у меня была эта проблема:
gem install sqlite3 -v '1.3.9'
Building native extensions. This could take a while...
ERROR: Error installing sqlite3:
ERROR: Failed to build gem native extension.
Для меня работала установка « libsqlite3-dev» с помощью:
apt-get install libsqlite3-dev
matiasmasca
12 май 2016, в 13:33
Поделиться
sudo apt-get install ruby-dev
исправил это для меня.
Sacha
18 дек. 2010, в 11:44
Поделиться
В Ubuntu 9 и 10 попробуйте:
sudo apt-get install ruby-dev
sudo apt-get install sqlite3-dev
Затем запустите
gem install sqlite3
ldemon
23 авг. 2011, в 22:23
Поделиться
Выполните следующее для ОС Fedora:
yum install rubygem-sqlite3
Chase
20 июль 2011, в 06:43
Поделиться
У вас есть весь исходный код, необходимый для сборки sqlite3-ruby? Gem пытается скомпилировать код C и не может найти заголовки. Вероятно, вы можете использовать генератор rpm для sqlite3-ruby (я не использую Fedora, но я уверен, что он существует), если вы предпочитаете отказываться от компиляции. Лично для рубинового материала я предпочитаю использовать драгоценный камень, а не систему дистрибуции.
barneytron
07 янв. 2009, в 17:48
Поделиться
Запустите «sudo yum install sqlite-devel», а затем «gem install sqlite3». Была такая же проблема на моей Fedora 15.
rapidror
01 авг. 2011, в 07:26
Поделиться
У меня была такая же самая точная проблема… вместо того, чтобы копировать недостающие части, я использовал синаптический метод unbuntu.
Ключевым пакетом для меня был libsqlite-ruby1.9.1… Я зарегистрировал свой опыт (для справки) с этой ошибкой по адресу:
Sqlite3-gem-error-during-bundle-install
Riding Rails
21 дек. 2010, в 20:39
Поделиться
Я исправил проблему на моем OLPC (Fedora 9), установив «gcc» как ни странно. Похоже, что это был один из тех пакетов dev, но нет.
Кроме того, в отношении других пакетов суффикс имеет значение «-devel», а не «-dev», поэтому убедитесь, что вы вернетесь к ним: «ruby-devel», «sqlite-devel»…
После того, как вы установили это, если у вас возникли ошибки в том, что ваши драгоценные камни были слишком старыми «< 1.3.1» при попытке запуска различных сценариев рельсов, например: script/server или script/console, google «upgrade_rubygems», чтобы исправить эту проблему…
НТН…
cosmo lee
15 май 2009, в 22:39
Поделиться
Я не очень хорошо знаком с Fedora, но в Ubuntu, когда вы устанавливаете пакеты, у вас есть apt-get, и вам нужно установить необходимые для сборки компоненты, которые включают gcc и другие инструменты компиляции для C. Я бы сказал, что это ваша проблема, и вы посмотрите, как это можно установить либо с помощью RPM, либо apt-get на Fedora.
Tim Knight
07 янв. 2009, в 19:10
Поделиться
Ещё вопросы
- 1Перемещение мыши, чтобы остановить монитор от сна [дубликата]
- 0использование jQuery .each в переменной javascript перед добавлением на экран
- 0Как я могу написать объединение в именованном запросе?
- 0Неверное значение из DDX_CBIndex ()
- 0Нужно нажать кнопку дважды, чтобы выполнить функцию — jQuery
- 1Нужно ли синхронизировать доступ к аргументам и локальным методам при одновременном вызове метода?
- 0Как перебрать все ключи кроме одного в руле?
- 0Как я могу узнать, сколько раз пятница 13-го появляется в году?
- 0AngularJS — Запуск функции один раз при загрузке
- 1HTML5 — проверка
- 0angular — не удается обновить массив из службы
- 0как создать уникальный код с правильным форматом
- 1Spring boot + файл свойств Gradle
- 0перенаправить не www на www с .htaccess в yii
- 0Ошибка проверки PHP
- 1Максимизировать и свернуть в Android
- 1Как запрограммировать проект для предотвращения DDoS-атаки
- 1WPF MVVM: динамическое рисование фигуры из файла xaml
- 0Как мне постоянно обновлять значение, если оно изменилось в базе данных
- 1Не удается импортировать android.text.util.Regex? Где это находится?
- 0Почему проблема «Изменение ориентации изображения», которая захватывается с помощью камеры устройства и загружается на FTP-сервер, сохраняется в следующем сценарии?
- 0Получить цену и добавить в корзину кнопку Magento
- 1Как создать несколько итераций
- 0JQuery формы ввода выберите значение
- 1Вывести вложенный список построчно в обратном порядке, используя понимание списка и цикл for — Python
- 0php получает информацию о фейсбуке, используя имя пользователя и пароль
- 0Вернуть только необходимое значение с preg_match
- 1Python: издеваться над атрибутом или издеваться над всем классом?
- 0Показывать различный контент в соответствии с переключателем
- 1Может ли скала код, скомпилированный с JDK 7, работать на JVM 8?
- 1Веб-приложение Python Dash вызывает внутреннюю ошибку сервера
- 0Пример вызова функции CakePHP из jQuery
- 0jQuery вызов webAPI WebSecurity.IsAuthenticated всегда ложно
- 0Build C ++ XPCOM ошибка зависимости
- 1Запустите веб-приложение Maven на сервере из Eclipse с внедрением свойств из профиля.
- 0Странная ошибка компоновщика
- 0SQL для выбора с определенной длиной критериев суммы результатов
- 0PHP Изменить включенный файл
- 1Обработка 2.0 Фильм не может открыть файл фильма при запуске из банки
- 1Перезаписать файл Python при его использовании?
- 0Функция привязки с большим количеством аргументов, чем необходимо, и передача ей определенных аргументов
- 0Как отобразить сообщение с помощью jquery?
- 1Превышение времени ожидания запроса на обработку
- 1Является ли формат файла конфигурации DRBD стандартным?
- 1Строка DataBar в Merged Cells странное поведение
- 1Сервисный класс Spring содержит слишком много методов поиска
- 0Эффективный поиск в хэш-таблице без использования ключа
- 1Проверьте соседнюю точку в 2d массиве с граничными условиями
- 0Использование Javascript для вычисления полей формы с комбинацией переключателей, текстовых полей и ползунка
- 0C ++ стандартная альтернатива itoa () для преобразования int в base 10 char *
При попытке выполнения rails s в папке с проектом терминал выдает сообщение
Could not find gem ‘sqlite3’ in any of the gem sources listed in your Gemfile or available on this machine.
Run `bundle install` to install missing gems
Запускаю bundle install и выдает это:
Installing sqlite3 1.3.12 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /tmp/bundler20161120-25046-1u39x6csqlite3-1.3.12/gems/sqlite3-1.3.12/ext/sqlite3
/usr/bin/ruby2.3 -r ./siteconf20161120-25046-gvhez0.rb extconf.rb
mkmf.rb can’t find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /tmp/bundler20161120-25046-1u39x6csqlite3-1.3.12/gems/sqlite3-1.3.12 for inspection.
Results logged to /tmp/bundler20161120-25046-1u39x6csqlite3-1.3.12/extensions/x86_64-linux/2.3.0/sqlite3-1.3.12/gem_make.out
Using turbolinks-source 5.0.0
Using tzinfo 1.2.2
В чем может быть причина? Весь вечер промучился….
-
Вопрос заданболее трёх лет назад
-
2183 просмотра
Пригласить эксперта
Для начала нужно попробовать установить сам SQLite (а не только его dev-пакет).
sudo apt-get install sqlite3 libsqlite3-dev
О! Есть прогресс после sudo apt-get install sqlite3 libsqlite3-dev Но теперь терминал выдает
rails s
Could not find gem ‘sqlite3’ in any of the gem sources listed in your Gemfile or available on this machine.
Run `bundle install` to install missing gems.
перед тем как запустить сервер делал bundle install и установка sqlite3 прошла успешно но в финале выдало ошибку на
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /tmp/bundler20161123-3460-57vq0zdebug_inspector-0.0.2/gems/debug_inspector-0.0.2/ext/debug_inspector
/usr/bin/ruby2.3 -r ./siteconf20161123-3460-5z3b6z.rb extconf.rb
mkmf.rb can’t find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /tmp/bundler20161123-3460-57vq0zdebug_inspector-0.0.2/gems/debug_inspector-0.0.2 for inspection.
Results logged to /tmp/bundler20161123-3460-57vq0zdebug_inspector-0.0.2/extensions/x86_64-linux/2.3.0/debug_inspector-0.0.2/gem_make.out
An error occurred while installing debug_inspector (0.0.2), and Bundler cannot continue.
Make sure that `gem install debug_inspector -v ‘0.0.2’` succeeds before bundling.
Запустил sudo gem install debug_inspector -v ‘0.0.2’ но выдало
Building native extensions. This could take a while…
ERROR: Error installing debug_inspector:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/debug_inspector-0.0.2/ext/debug_inspector
/usr/bin/ruby2.3 -r ./siteconf20161123-4179-mk02jr.rb extconf.rb
mkmf.rb can’t find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.3.0/gems/debug_inspector-0.0.2 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/debug_inspector-0.0.2/gem_make.out
В чем может быть причина?
А как вообще ruby ставился?
sudo apt-get install ruby2.3-dev ?
curl -sSL https://get.rvm.io | bash -s stable
rvm install 2.3.0
rvm default ruby-2.3.0
rvm use ruby-2.3.0
gem install bundler
cd каталог_с_моей_неведомой_ебаниной_на_рельсах
bundle install
-
Показать ещё
Загружается…
09 февр. 2023, в 22:01
50000 руб./за проект
09 февр. 2023, в 22:00
1 руб./за проект
09 февр. 2023, в 21:41
2000 руб./за проект
Минуточку внимания
I’m running an instance built off ami-595a0a1c. I am trying to install the sqlite3 (or sqlite) gem and it’s failing with the below error:
$ sudo gem install sqlite3 Building native extensions. This could take a while... ERROR: Error installing sqlite3: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb checking for sqlite3.h... no sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel' and check your shared library search path
(the
location where your sqlite3 shared library is located).
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.Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/ruby --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include=${sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib=${sqlite3-dir}/lib Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/sqlite3-1.3.3 for inspection. Results logged to /usr/lib64/ruby/gems/1.8/gems/sqlite3-1.3.3/ext/sqlite3/gem_make.out
Typically, this just means you need to install the development libraries and everything is cool. However, I have installed the sqlite-devel packages and still no dice. Since this is the Amazon Linux instance, I’d rather not add more repositories than the ones Amazon provides if possible. What can i do to get this thing to compile? Thanks for any insight!
From a brand new instance, here’s what I’ve done:
$ sudo yum install rubygems ruby-devel
$ sudo gem update —system
$ sudo gem install rails
$ rails new app
$ cd app
$ rails server
Could not find gem ‘sqlite3 (>= 0)’ in any of the gem sources listed in your Gemfile.
$ sudo yum install sqlite-devel
$ sudo gem install sqlite (or sqlite3 — same result)
See breakage above
I know there is a very similar post here but since it’s 2 years old and still unanswered I thought I’d give it another try.
Some versions to prove everything needed is installed and I’m at least somewhat sane:
ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
And the error:
# gem install sqlite3
Building native extensions. This could take a while...
ERROR: Error installing sqlite3:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
checking for sqlite3.h... *** 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.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby
--with-sqlite3-dir
--without-sqlite3-dir
--with-sqlite3-include
--without-sqlite3-include=${sqlite3-dir}/include
--with-sqlite3-lib
--without-sqlite3-lib=${sqlite3-dir}/lib
/usr/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /usr/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'
from /usr/lib/ruby/1.9.1/mkmf.rb:853:in `block in find_header'
from /usr/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
from /usr/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
from /usr/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /usr/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
from /usr/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /usr/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
from /usr/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
from /usr/lib/ruby/1.9.1/mkmf.rb:852:in `find_header'
from extconf.rb:28:in `<main>'
Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3 for inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3/ext/sqlite3/gem_make.out
EDIT: Here’s the mkmf.log it wants you to check:
"gcc -o conftest -I/usr/include/ruby-1.9.1/x86_64-linux -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I/usr/include -I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/include -march=x86-64 -mtune=generic -O2 -pipe -fPIC conftest.c -L. -L/usr/lib -L/usr/local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L. -Wl,--hash-style=gnu -Wl,--as-needed -rdynamic -Wl,-export-dynamic -lruby-static -lpthread -lrt -ldl -lcrypt -lm -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main() {return 0;}
/* end */
My first thoughts were that I needed to specify where to find sqlite3.h so I tried this:
gem install sqlite3 -- --with-sqlite3-include=/usr/include
Same error. Also, specifying —with-sqlite3-dir to give gem a general idea of where to find the files doesn’t help. I’ve confirmed that /usr/include/sqlite3.h exists, as well as the proper lib, and I’m running out of ideas.
At the very least I’d like to see someone else with a working configuration. Maybe we can compare version numbers, but even that’s a real stretch.
Last edited by Cyphus (2011-05-26 02:57:59)