Назад | Перейти на главную страницу

Проблема с установкой sqlite3-ruby

Я пытаюсь установить sqlite3-ruby gem (или, как теперь его называют, просто sqlite3), и всякий раз, когда я запускаю

гем установить sqlite3

он выплевывает это

Создание собственных расширений. это
может занять некоторое время ... ОШИБКА: Ошибка
установка sqlite3: ОШИБКА: не удалось
построить собственное расширение gem.

/usr/bin/ruby1.8 проверка extconf.rb
для sqlite3.h ... да проверка на
sqlite3_libversion_number () в
-lsqlite3 ... да проверка на rb_proc_arity () ... без проверки на
sqlite3_initialize () ... да проверка
для sqlite3_next_stmt () ... да
проверка sqlite3_backup_init () ...
да проверка на
sqlite3_column_database_name () ... нет
проверка на
sqlite3_enable_load_extension () ... да
проверка на
sqlite3_load_extension () ... да
создание Makefile

сделать cc -I. -Я.
-I / usr / lib / ruby ​​/ 1.8 / x86_64-linux -I. -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_NEXT_STMT -DHAVE_SQLITE3_BACKUP_INIT -DHAVE_SQLITE3_ENABLE_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -DHAVE_SQLITE3_LOAD_EXTENSION -I / usr / local / include-local / include -I / usr / local / include -I / usr / local / include -I / -g -O2 -fPIC -c statement.c В файле, включенном из ./sqlite3_ruby.h:42, из statement.c: 1: ./backup.h:7: error: ожидаемый список спецификаторов-спецификаторов перед
'sqlite3_backup' сделать: ***
[statement.o] Ошибка 1

Файлы Gem останутся установленными в
/usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.3
на проверку. Результаты зарегистрированы в
/usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.3/ext/sqlite3/gem_make.out

Вот мои системные характеристики:
Сервер Debian Lenny
Рубин 1.8.7
Рельсы 3.0.0
Пассажир 3.0.7
Sqlite3 3.7.6.2
rubygems 1.3.7

огромное спасибо

Мне нужно было включить SQLITE_ENABLE_COLUMN_METADATA во время компиляции. Нашел хороший учебник Вот

  1. Скачать и извлечь исходный код sqlite.
  2. открыто sqlite.c файл и найдите эти строки

    #ifndef SQLITE_API
    # define SQLITE_API
    #endif
    

    добавьте эту строку под ним

    #define SQLITE_ENABLE_COLUMN_METADATA
    
  3. Скомпилировать и установить

    ./configure
    make
    make check
    sudo make install #You need to run 'make install' as root or with sudo...
    sudo make clean
    

Я ожидаю, что вам нужно будет установить один или оба из ruby-dev (el) и sqlite3-dev (el). Это -dev в системах, подобных Debian, и -devel в системах, подобных Red Hat.