Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 19.06.2016
Сообщений: 37
1

Не видит созданные библиотеки в Qt

08.05.2020, 14:58. Показов 2177. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, такая проблема, работаю в системе Linux. Там собрал в Qt динамические библиотеки для PostgreSQL, в итоге у меня получилось 4 файла библиотеки, с помощью команды pg_config --pkglibdir узнал путь к библиотекам PostgreSQL, куда и поместил созданные файлы. Но при восстановлении базы данных, выдается такая ошибка:

pg_restore: создаётся FUNCTION "_common.cpp_xsd_valid(xml, xml)"
pg_restore: из записи оглавления 465; 1255 326977 FUNCTION cpp_xsd_valid(xml, xml) postgres
pg_restore: ошибка: could not execute query: ОШИБКА: загрузить библиотеку "/usr/lib/postgresql/9.3/lib/libxsdValidPg.so" не удалось: libxsdValidCpp.so.1: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
Выполнялась команда:
SQL
1
2
3
CREATE FUNCTION _common.cpp_xsd_valid(xml_val xml, xsd_val xml) RETURNS text
    LANGUAGE c STRICT
    AS 'libxsdValidPg.so', 'pg_xsd_valid';

pg_restore: ошибка: could not execute query: ОШИБКА: функция _common.cpp_xsd_valid(xml, xml) не существует
Выполнялась команда: ALTER FUNCTION _common.cpp_xsd_valid(xml_val xml, xsd_val xml) OWNER TO postgres;

pg_restore: создаётся COMMENT "_common.FUNCTION cpp_xsd_valid(xml_val xml, xsd_val xml)"
pg_restore: из записи оглавления 4603; 0 0 COMMENT FUNCTION cpp_xsd_valid(xml_val xml, xsd_val xml) postgres
pg_restore: ошибка: could not execute query: ОШИБКА: функция _common.cpp_xsd_valid(xml, xml) не существует
Выполнялась команда: COMMENT ON FUNCTION _common.cpp_xsd_valid(xml_val xml, xsd_val xml) IS 'Validation of xml_val by xsd_val.
If successful, then return: Validation is Ok..., else return error code (text)...';

В чем может быть проблема?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2020, 14:58
Ответы с готовыми решениями:

Visual Studio не видит БД созданные в MS SQL
Приветствую, форумчане! Перелопатил весь гугл, но так и не нашел ответ. Создал БД в MS Sql(MS Sql...

Не видит библиотеки
Я установил Qt с офф сайта (с помощью инсталлера) в каталог C:\Qt. После этого создаю пустой проект...

Не видит библиотеки
Rad studio xe4 не видит библиотеки кидаю файлы в C:\Program Files (x86)\Embarcadero\RAD...

VS2015 не видит библиотеки
Добрый день, ситуация такая, скинул товарищу свой исходник, он внес корректировки скинул мне...

6
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
08.05.2020, 18:35 2
покажите вывод команды
Bash
1
ldd /usr/lib/postgresql/9.3/lib/libxsdValidPg.so
у вас libxsdValidPg.so судя по всему зависит от libxsdValidCpp.so.1,
которую система не смогла найти и загрузить.
0
0 / 0 / 0
Регистрация: 19.06.2016
Сообщений: 37
09.05.2020, 16:34  [ТС] 3
$ ldd /usr/lib/postgresql/9.3/lib/libxsdValidPg.so
linux-vdso.so.1 (0x00007ffcaebdc000)
libxsdValidCpp.so.1 => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa4d1dbc000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa4d1fc9000)
0
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
09.05.2020, 18:45 4
Лучший ответ Сообщение было отмечено Kishou как решение

Решение

Цитата Сообщение от Kishou Посмотреть сообщение
libxsdValidCpp.so.1 => not found
динамический компоновщик не может найти вашу зависимую библиотеку. "рядом" не ищет.
Добавьте путь /usr/lib/postgresql/9.3/lib в кэш компоновщика.
(см. man ldconfig)
1
0 / 0 / 0
Регистрация: 19.06.2016
Сообщений: 37
09.05.2020, 18:58  [ТС] 5
Понял, попробую, большое спасибо!
0
0 / 0 / 0
Регистрация: 19.06.2016
Сообщений: 37
13.05.2020, 17:13  [ТС] 6
Даже с указанием прямого пути почему-то не видит библиотеку, вот содержание .pro файла:

Код
TEMPLATE = lib
CONFIG += console
CONFIG -= qt

INCLUDEPATH += /home/kira/Qt/Projects/xsdValidCpp/
INCLUDEPATH += /usr/include/postgresql/9.3/server
INCLUDEPATH += /usr/include/postgresql/9.3/lib

LIBS += -L/home/kira/Qt/Librarys-build -lxsdValidCpp

DESTDIR = /home/kira/Qt/Librarys-build

SOURCES += xsdvalidpg.c
0
0 / 0 / 0
Регистрация: 19.06.2016
Сообщений: 37
14.05.2020, 17:49  [ТС] 7
Не сразу понял, что нужно сделать по совету grgdvo. В итоге нужно в системе найти путь /etc и там файл ld.so.conf, в него добавить путь к библиотекам, которые подключены в динамической библиотеке. После чего в консоли ввести команду ldconfig, чтобы отредактировался файл с библиотеками и после этого всё нашлось. Большое спасибо еще раз!
0
14.05.2020, 17:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2020, 17:49
Помогаю со студенческими работами здесь

Не видит содержимое динамической библиотеки
(clang, linux) Делаю так: 1. Компиляция объектов 2. Сборка в динамическу библиотеку 3....

Изменения в Qt5, не видит библиотеки С++
Ребят столкнулся с проблемой, что Qt5 как будто не знает библиотеки С++. Собственно мне нужна...

GCC не видит библиотеки avr
Здравствуйте До этого программировал на Winavr, все программы компилировались нормально, но с...

Turbo C++ 3.0 Compiler не видит библиотеки
Совсем никаких, хотя вроде все подключено. Что можно сделать?

Паскаль не видит подключенные библиотеки
имеется программа в коде uses grafx2; пишу любую функцию из grafx2 компилятор пишет, что не...

Visual Studio не видит библиотеки
Добрый день. Такая проблема: пробую запустить пример кода с сайта http://robocraft.ru/ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru