Официальный форум СВД Встраиваемые Системы
13 Август, 2022, 17:48:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: libxml2 для QNX4  (Прочитано 6207 раз)
Олег Большаков
Легенда

Сообщений: 3140



« : 11 Февраль, 2010, 17:42:54 »

Библиотека libxml2 для QNX4

Libxml2 — программная библиотека синтаксического разбора XML документов. Библиотека написана на языке программирования C. Изначально она была разработана для проекта GNOME, но может быть использована отдельно. Код libXML высокопереносимый, т.к. имеет зависимости только от ANSI C библиотек. Код распространяется под лицензией MIT. Описание в википедии.

Доступна для загрузки libxml2 1.7.6 для QNX4. При работе с последними сборками понадобятся дополнительные библиотеки.

libxml2-2.7.6-qnx4-bin-20131222.tar.gz

Код:
$ cksum libxml2-2.7.6-qnx4-bin-20131222.tar.gz
1192533479 1749889 libxml2-2.7.6-qnx4-bin-20131222.tar.gz

(щёлкните чтобы показать/скрыть)
« Последнее редактирование: 22 Декабрь, 2013, 20:36:52 от Олег Большаков » Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #1 : 13 Февраль, 2010, 18:14:39 »

Оказалось, что функция rngTest() содержала ошибку. При сборки теста из репозитория количество ошибок сократилось до 13. Думаю, что и с остальными удастся справиться.
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #2 : 15 Февраль, 2010, 01:04:19 »

Разобрался с ошибками, связанными с кодировкой EBCDIC. Для этого подготовил библиотеку iconv для QNX4.

Осталось всего три ошибки при прохождении тестов libxml2. Похоже, что ошибки связаны с отсутствием функций isnan() и isinf(). Поразбираюсь в ближайшее время. Новый дистрибутив libxml2 выложу после того, когда станет ясно, как поступать с данными ошибками.
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #3 : 09 Март, 2010, 00:02:00 »

Сегодня разобрался с оставшимися тремя ошибками в тестах. Для этого пришлось использовать заголовочный файл math.h и специально подготовленную библиотеку math387r.lib из OpenWatcom.

На днях выложу свежую сборку libxml2.
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #4 : 09 Март, 2010, 20:34:33 »

Выложил версию 20100309 (ссылка в первом сообщении). При линковке потребуется доработанная библиотека math387.
Записан
mgb
Пользователь

Сообщений: 15


« Ответ #5 : 10 Март, 2010, 13:13:24 »

При попытке скачать 20100309 получаю:
File does not exist. Make sure you specified correct file name.
Проверьте, пожалуйста
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #6 : 10 Март, 2010, 13:25:59 »

Исправил ссылку.
Записан
LH
Ветеран

Сообщений: 345


« Ответ #7 : 23 Декабрь, 2012, 05:25:16 »

Не удается применить libxml2.lib и xml2.lib для чтения xml-файла при компиляции и сборке программы в среде qnx4 с Watcom 10.4 (не в Open Watcom ).

При сборке с xml2.lib, после подключения z.lib и iconv.lib остались не определенными  ф-ции _FDSign() и _FDClass().
При сборке с libxml2.lib не потребовалось подключать z.lib и iconv.lib.

Проблема одна и та же: root->name не указывает на "ltrsrv_config"

Пожалуйста подскажите решение.



Тестовая программа:

#include <string.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

void _FDClass()
{

}

void _FDSign()
{

}


main()
{
    xmlDoc *doc = NULL;
    xmlNode *root = NULL;

    LIBXML_TEST_VERSION

    doc = xmlReadFile("./config.xml", NULL, 0);

    root = xmlDocGetRootElement(doc);

    printf("root name: %s \n", root->name );

}


Файл config.xml

<?xml version="1.0"?>
<ltrsrv_config>
  <log>
    <level> 3 </level>
  </log>
  <crate_ip_entries>
    <ip autocon='1'> 1.1.1.22 </ip>
  </crate_ip_entries>
</ltrsrv_config>
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #8 : 27 Декабрь, 2012, 12:42:15 »

Действительно, проявляется подобная ошибка. Попробуйте указать опцию компилятору -Wc,-ei .
Записан
LH
Ветеран

Сообщений: 345


« Ответ #9 : 29 Декабрь, 2012, 14:12:23 »

Спасибо! Ваши рекомендации решили проблему.
Записан
mgb14
Пользователь

Сообщений: 65


« Ответ #10 : 13 Декабрь, 2013, 13:01:29 »

Имели проблемы с распаковкой содержимого сжатого zlib 1.2.5 - перешли на текущую zlib 1.2.8 - проблемы c распаковкой ушли. Однако зачем-то в новом zlib изменили структуры и выявилась несовместимость libxml2 представленного в данной ветке с новой библиотекой zlib (получаем SIGSEGV), в итоге приложения использующие xmllib компилируем со старым libz.a. Крайне благодарны автору темы за портирование libxml2 в QNX4 и извиняемся за нахальство Smiley, но нельзя ли собрать libxml2 c zlib 1.2.8 ?   
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #11 : 13 Декабрь, 2013, 15:51:42 »

mgb14, постараюсь сделать, если будет свободное время. Smiley
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #12 : 22 Декабрь, 2013, 20:39:05 »

Подготовил сборку libxml2 версии 2.7.6 с использованием zlib 1.2.8. Ссылка на скачивание в первом сообщении этой темы.

Не тестировал, об ошибках сообщайте. Smiley
Записан
mgb14
Пользователь

Сообщений: 65


« Ответ #13 : 15 Январь, 2014, 16:24:16 »

Здравствуйте, Олег! Спасибо за портацию, извиняюсь за задержку с тестированием. На наших задачах данная версия библиотеки нормально создает XML-файлы, однако при попытки парсить XML-файл - идет SIGSEGV
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #14 : 16 Январь, 2014, 11:44:33 »

Проверим у себя повнимательнее. Возможно, потребуются дополнительные данные.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2020 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 28 Июль, 2022, 08:06:37