OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 16 Декабрь, 2017 06:28

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 85 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Понедельник, 25 Июль, 2011 21:33 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7728
Откуда: Троицк, Москва
Слежу с интересом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Вторник, 26 Июль, 2011 13:50 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4041
Откуда: Россия, Орёл
Как я понимаю, исходная разработка стала несколько лет назад?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Вторник, 26 Июль, 2011 16:00 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
В CVS на SourceForge последний коммит датирован 2009-01-06. Автор коммита - Michael van Acken, т.е. автор компилятора.
В 2008 и 2007 годах коммитов довольно мало, но попадаются интересные имена файлов, такие как CodeGenJava.Mod.
В общем, надо мне брать последние исходники из CVS, а не последний релиз.
Michael van Acken - 2010-07-28 13:50 писал(а):
Hi all,

for myself I can say that I stopped working with Oberon several
years ago. By now it's quite hard for me to even read and
understand Oberon code. Go figure...

Jürgen did not continue with this project after our university time.
guenne I just gave access for some other work, unrelated to OOC.

-- mva


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Вторник, 26 Июль, 2011 23:04 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
Решил заставить работать команду "make test". Для начала пришлось в файле oo2crc-install.xml поправить секцию "repositories", заменив пути вида /usr/local... на d:/Programs/Dev...:
Код:
  <repositories>
    <!--file-system>/usr/local/src/oo2c/lib</file-system-->
    <!--file-system>/usr/local/src/oo2c</file-system-->
    <file-system>d:/Programs/Dev/MinGW/msys/1.0/local/src/oo2c/lib</file-system>
    <file-system>d:/Programs/Dev/MinGW/msys/1.0/local/src/oo2c</file-system>
    <!--.-->
  </repositories>
Даже после этого в текущей версии команда "make test" не заработала.

Попробовал скомпилировать старые версии oo2c, начиная с v2.0.18, в надежде, что раньше команда работала, а потом сломалась. Оказалось, что не все релизы удаётся скомпилировать. Первой скомпилировалась v2.1.6. "Make test" не работает. Сначала часть тестов, проверяющих правильную работу, проходит успешно, а затем все тесты, проверяющие выдачу ошибок, не проходят:
Код:
ok: wf/001.xml
ok: wf/002.xml
ok: wf/003.xml
ok: wf/004.xml
ok: wf/005.xml
ok: wf/006.xml
ok: wf/007.xml
ok: wf/008.xml
ok: wf/009.xml
ok: wf/010.xml
ok: wf/011.xml
ok: wf/012.xml
cd /usr/local/src/oo2c/tests/config/sections && ./not-wf.sh
1c1
< In file not-wf/001.xml:
---
> In file file:///d$/Programs/Dev/MinGW/msys/1.0/local/src/oo2c/tests/config/sections/not-wf/001.xml:
failed: not-wf/001.xml
1c1
< In file not-wf/002.xml:
---
> In file file:///d$/Programs/Dev/MinGW/msys/1.0/local/src/oo2c/tests/config/sections/not-wf/002.xml:
failed: not-wf/002.xml
... и т.д.
Суть проблемы в том, что ожидается, что программа выдаст текст вида "In file not-wf/002.xml: <на следующей строке сообщение об ошибке в указанном файле>". Но вместо относительного пути к файлу выдаётся полный путь (file:///...).

Версии 2.1.7-11 тоже успешно скомпилировались, но во всех "make test" приводит к точно такой же проблеме с путём к файлу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Среда, 27 Июль, 2011 00:29 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
Нашёл причину. В файле oo2c\lib\src\XML\Error.Mod, начиная со строки 245 производится проверка. Если начало пути к файлу совпадает с текущим каталогом, то это начало (префикс текущего каталога) из выдачи удаляется, см. стр. 249 - вызов Strings.Delete. Проблема в том, что совпадение проверяется простым равенством, но строки различаются:
Код:
text = file:///d$/Programs/Dev/MinGW/msys/1.0/local/src/oo2c/tests/config/sections/not-wf/026.xml
cwd  = file://d:\Programs\Dev\MinGW\msys\1.0\local\src\oo2c\tests\config\sections/
Видимо, нельзя здесь использовать функцию OS:ProcessParameters.GetCwd, так как она возвращает DOS-путь к текущему каталогу ("d:\Programs..."), и добавление префикса "file://" тут не поможет. Надо искать ту функцию, которая превратила относительный путь "not-wf/026.xml" в полный путь с префиксом "file:///". Наверняка это было сделано с помощью получения текущего каталога, и при том в более правильном формате, чем выдаёт GetCwd.

UPD: Разобрался. Достаточно в файле Error.Mod заменить строку
Код:
cwd := "file://"+ProcessParameters.GetCwd()+"/";
на такую:
Код:
cwd := "file://"+HostPath.Normalize(ProcessParameters.GetCwd())+"/";
Т.е. добавить нормализацию пути. После этого первый набор тестов (TestConfigSections) проходит успешно!

Второй набор тестов (TestConfigCmdLine) ломается. Опять какие-то проблемы с путями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Среда, 27 Июль, 2011 21:10 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1526
Откуда: Беларусь, Минск
Все эти проблемы с путями... Неужели, cygwin + bash выдают стандартный виндовый путь вместо линуксового? У меня на работе они стоят уже лет 5, и всегда всё работало нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Среда, 27 Июль, 2011 21:15 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1526
Откуда: Беларусь, Минск
А, правда я в папку "/mnt" добавил 26 ссылок на все возможные диски компьютера, и вместо "D:\tmp" обращаюсь "/mnt/d/tmp". При добавлении ссылок на диски, как я помню, он не проверяет наличия пути, а потому ни на что не ругается. Сама проверка выполняется по факту обращения. Так что, таким образом можно будет обращаться к динамически подключаемым дискам или флешкам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Четверг, 28 Июль, 2011 06:42 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
Valery Solovey писал(а):
Неужели, cygwin + bash выдают стандартный виндовый путь вместо линуксового?
Не знаю, я работаю под MinGW+bash. Мне нужна маленькая среда.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Понедельник, 01 Август, 2011 09:42 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
Благодаря большой помощи пользователя Alexander Shiryaev у меня теперь есть рабочая виртуалка с OpenBSD, в которой я могу тестировать oo2c. Набор тестов под MinGW мне так и не удалось запустить, а под OpenBSD он отлично выполняется. На моём ноутбуке в VirtualBox весь цикл деинсталляции ранее скомпилированного пакета, полной компиляции и тестирования занимает 27 минут 50 секунд, из них более 20 минут - выполнение тестов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Понедельник, 01 Август, 2011 20:15 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
В репозиторий на GitHub импортированы последние исходники из CVS на SourceForge, интегрированы в ветку master. Там не было доработок компилятора, только обновления H2O - утилиты Stewart'а Greenhill'а для перевода сишных заголовочных файлов в обероновские модули импорта (в том числе поддерживает Component Pascal).

Интегрированы 2 из 4 исправлений Александра Ширяева к автоматическим тестам.

Выложено также моё исправление сканера (компилятор валился с трапом от достаточно тривиальной синтаксически некорректной директивы), снабжено тестом.

В попытке заставить работать "make test" под MinGW+msys была исправлена одна из проблем с путями. Под OpenBSD проверено, что это исправление корректно работает и там тоже.

В CVS OOC на SourceForge было обнаружено несколько проектов неизвестной степени готовности. Библиотека libpobj для обеспечения персистентности Oberon-объектов с хранением в PostgreSQL. Библиотека libnet - "basic NNTP client, simple HTTP server, framework for reading and writing HTML forms". Биндинги для http://www.spread.org/ , http://icu-project.org/ .

Ещё там есть утилита gaf2 - "a sophisticated NNTP client for high volume downloads. "High volume" means stuff like DVD rips and TV caps. The client can maintain simultaneous connections to several different NNTP servers, and offers configuration access by means of an embedded Web server. It is best run as a daemon on a host with direct Internet access."


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Четверг, 04 Август, 2011 11:14 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
Удалось скомпилировать программу ImportGraph. Результат получился не кроссплатформенный, поскольку используются библиотеки Files и Paths из Amadeus, а не из oo2c. Привязка к WinApi взята из проекта VisualOberon (модуль Windows.Mod автоматически создан утилитой H2O).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Четверг, 20 Октябрь, 2011 08:23 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 658
Откуда: СССР
Спасибо за интерес


Последний раз редактировалось Kubanych Воскресенье, 23 Октябрь, 2011 02:01, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Четверг, 20 Октябрь, 2011 10:38 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
Kubanych писал(а):
компилируются и устанавливаются, но при попытке запуска не находят библиотеки типа liboo2c.so.0
А библиотеки-то создались? Где находятся? В PATH путь к ним прописан?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 03:01 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 658
Откуда: СССР
Спасибо за интерес.


Последний раз редактировалось Kubanych Воскресенье, 23 Октябрь, 2011 02:00, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 06:20 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 658
Откуда: СССР
Спасибо за интерес


Последний раз редактировалось Kubanych Воскресенье, 23 Октябрь, 2011 01:59, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 09:23 
Аватара пользователя

Зарегистрирован: Суббота, 12 Июль, 2008 22:49
Сообщения: 565
Откуда: Россия, Санкт-Петербург
А зачем oo2c для сайтостроения? Просто интересно, как много по вашему сайтов используют CGI ?
Мне кажется, что их количество исчезающе мало. Причём CGI считается одним из основных источников потенциальной угрозы, поэтому от него отказываются.
Другое дело системный софт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 11:41 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4476
Откуда: Россия, Орёл
Обсуждение CGI и пр. выделено: viewtopic.php?f=27&t=3621


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Воскресенье, 23 Октябрь, 2011 11:48 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 312
Откуда: Россия, Стерлитамак
Kubanych писал(а):
Спасибо за интерес


А где предыдущие тексты, хотел попробовать на ubuntu установить (сам в линуксе не силен), отложил до выходных. И на тебе :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Вторник, 25 Октябрь, 2011 02:04 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 658
Откуда: СССР
Здравствуйте. Я подумал, народ не принял, поэтому удалил... Восстанавливаю

Разработка динамических сайтов на обероне. Начало. Простейший CGI. Шаг 1. Подготовка компилятора.

Чтобы
1) снизить порог вхождения тех, кого мы привлекаем в Оберон-сообщество для динамического сайтостроения;
2) обеспечить повторяемость экспериментов;
3) исключить вопрос об убитых сайтах и ссылках (см. начало темы);

произведем необходимую и достаточную степень детализации шагов.

1. Начнем с отрезания 10 гигабайт от диска D, например, с использованием следующего инструмента
http://rutracker.org/forum/viewtopic.php?t=3020406

2. Скачаем дистрибутив 64 битного Linux, например отсюда
http://rutracker.org/forum/viewtopic.php?t=3677491

3. При установке, когда увидим окно с одним из пунктов меню "Рядом с Windows", выберем не этот пункт меню, а последний (для ручной установки), создаем на пустом месте раздел, задаем тип ext4fs с точкой монтирования "/", помечаем этот раздел первичным. Нам надо уместиться в 10 гигабайтах, поэтому раздел подкачки (SWAP) делать не будем, в современных компах оперативки достаточно много.

4. Чтобы наши операции не мешали эксплуатации Windows системы,
запускаем

gksudo gedit /boot/grub/grub.cfg

находим и вырезаем в нем примерно такой кусок текста

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 3E9C02FC9C02AF09
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

вставляем перед самым первым
menuentry 'Ubuntu ...

После этого при перезагрузке если клавиатуру не трогать, должен появляться Windows

5. Качаем последнюю версии сборщика мусора c
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/
например, gc-7.1.tar.gz .

Качаем последнюю версию oo2c, например, c
http://sourceforge.net/projects/ooc/files/ooc2/2.1.11/
версию oo2c_64-2.1.11.tar.bz2

6. Распаковываем oo2c_64-2.1.11.tar.bz2, например, в папке /home/oberon_programmist/instrument .
Распаковываем gc-7.1.tar.gz,
переименовываем папку gc-7.1 в gc,
вырезаем папку gc и вставляем в папку oo2c_64-2.1.11.

7. Запускаем терминал, переходим через команду cd в папку oo2c_64-2.1.11, например, так
cd /home/oberon_programmist/instrument/oo2c_64-2.1.11

Если будут проблемы с Линуксом, запускаем тут же браузер и ищем ответы через google

8. Запускаем команду
sudo apt-get install libtool
может спросить пароль

9. запускаем команду
sudo ./configure

среди появившихся строк должны быть такие

checking gc/gc.h usability... yes
checking gc/gc.h presence... yes
checking for gc/gc.h... yes

10. запускаем команду
sudo make

11. запускаем команду
sudo make install

12. Запускаем команду
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Эту команду надо запускать каждый раз перед запуском oo2c (или найти и прикрутить в автозапуск bash)

затем запускаем команду
oo2c

видим ответ

Usage:
oo2c [options] <module>...
oo2c (--make|-M) [options] <module>
oo2c --uses <ext-ident> [options] <module> ...
oo2c --build-package [options] <package>
oo2c --install-package [options] <package>
oo2c --uninstall-package [options] <package>
oo2c --build-pkg-doc [options] <package>
oo2c --package-installed [options] <package>
oo2c --list-packages [options]
Options:
--config <file>
--repository <directory>, -r <directory>
--no-rtc
(--all|-A)
--error-style (file:line:column|char-pos|attributes)

значит, компилятор oo2c поставился нормально.

P.S. Возникает одна проблема - скомпилированный в oo2c файл требует наличия liboo2c, на web сервере его администратор не даст поставить, поэтому работаю над тем, как решить эту проблему, а пока использую freepascal.


Последний раз редактировалось Kubanych Среда, 26 Октябрь, 2011 09:22, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Вторник, 25 Октябрь, 2011 08:09 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 1977
Откуда: Красноярск
Чтобы делать эксперименты прямо в вебе рекомендую использовать сервис облачных серверов, например, Clodo. Плата небольшая, любую библиотеку можете установить на свой веб-сервер и иметь функциональный сайт в Интернете на Обероне.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 85 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yahoo [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2017, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB