Пересборка Sqlite3 для поддержки кириллицы

Мне нужна поддержка кириллицы в SQL функции LOWER. Система Ubuntu 18.04.5.

Сейчас работает неверно:

select lower("СТЕК");
СТЕК

Я нашел решение на официальном сайте, его суть:

gcc -fPIC -shared icu.c `pkg-config --libs --cflags icu-uc icu-io` -o libSqliteIcu.so

Файл icu.c скачивается там же.

Но при сборке возникает ошибка:

icu.c: In function ‘sqlite3IcuInit’:
icu.c:510:41: error: ‘SQLITE_DIRECTONLY’ undeclared (first use in this function); did you mean ‘SQLITE_READONLY’?
     {"icu_load_collation",2,SQLITE_UTF8|SQLITE_DIRECTONLY,1, icuLoadCollation},
                                         ^~~~~~~~~~~~~~~~~
                                         SQLITE_READONLY
icu.c:510:41: note: each undeclared identifier is reported only once for each function it appears in
icu.c:502:53: error: ‘SQLITE_INNOCUOUS’ undeclared (first use in this function); did you mean ‘SQLITE_NOLFS’?
 # define SQLITEICU_EXTRAFLAGS (SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS)
                                                     ^
icu.c:512:30: note: in expansion of macro ‘SQLITEICU_EXTRAFLAGS’
     {"regexp", 2, SQLITE_ANY|SQLITEICU_EXTRAFLAGS,         0, icuRegexpFunc},
                              ^~~~~~~~~~~~~~~~~~~~

pkg-config --libs --cflags icu-uc icu-io выдает -licuio -licui18n -licuuc -licudata.

Как правильно собрать эту библиотеку?


Ответы (0 шт):