УкраїнськаEnglishmRussian
Вхід/Новий
У темі немає нових постів

Проблемы компиляции


Автор Повідомлення
Повідомлення створено: 24. 09. 2008 [11:20]
alex
Alex Fomenko
Автор теми
Зареєстрован(а) с: 24.09.2008
Повідомлення: 2
У меня система Ubuntu 8.04 со всеми апдейтами.
запускал конфигуратор с такими параметрами:
./configure --disable-FireBird --prefix=/tmp/oscada/

пробовал с установленным byacc результат:
==============
...........
/bin/bash ../../../../ylwrap func_analise.ypp y.tab.c func_analise.cpp y.tab.h func_analise.h y.output func_analise.output -- byacc
byacc: 21 shift/reduce conflicts.
g++ -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../src -fPIC -DPIC -O2 -DOSC_DEBUG -DOSC_HASHMAP -MT func_analise.o -MD -MP -MF .deps/func_analise.Tpo -c -o func_analise.o func_analise.cpp
func_analise.ypp:77: error: stray ‘@’ in program
func_analise.ypp:79: error: stray ‘@’ in program
func_analise.ypp:81: error: stray ‘@’ in program
...............
===============
причем если добавить
--disable-JavaLikeCalc
то все компилируется нормально. Но (само собой) куча демок не работает.

Если установить bison то все компилируется нормально. Посему, рекомендую в конфигураторе изменить данную проверку на наличие только bison.

Также появился вопрос, где можно найти описание скриптового языка, который используется для описания обработчиков. А также как можно просто периодически читать определенное значение поля из базы даных, не внося в нее никаких изменений. Т.е. есть таблица с несколькими строками, надо уметь читать значение определенного поля определенной строки (которое периодически меняется)
Повідомлення створено: 24. 09. 2008 [12:43]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
alex wrote:

У меня система Ubuntu 8.04 со всеми апдейтами.
запускал конфигуратор с такими параметрами:
./configure --disable-FireBird --prefix=/tmp/oscada/

Если установить bison то все компилируется нормально. Посему, рекомендую в конфигураторе изменить данную проверку на наличие только bison.

Гипотетически оно не должно зависеть от реализации генераторов синтаксических анализаторов. А отладить не могу в виду отсутствия byacc в моём дистрибутиве. Может как нибудь поправлю в другом дистрибутиве.

alex wrote:

Также появился вопрос, где можно найти описание скриптового языка, который используется для описания обработчиков. А также как можно просто периодически читать определенное значение поля из базы даных, не внося в нее никаких изменений. Т.е. есть таблица с несколькими строками, надо уметь читать значение определенного поля определенной строки (которое периодически меняется)

Первое это здесь: http://diyaorg.dp.ua/oscadawiki/Doc/JavaLikeCalc и здесь: http://diyaorg.dp.ua/oscadawiki/Doc/KoncepcijaSredyVizualizacii
Второе: Для решения этого вопроса нужно реализовать источник данных для получения данных из БД или добавить в пользовательское API функции запросов к БД. Ни того ни другого пока нет, хотя мысли по этому поводу есть.


Learn, learn and learn better than work, work and work.
Повідомлення створено: 24. 09. 2008 [13:14]
alex
Alex Fomenko
Автор теми
Зареєстрован(а) с: 24.09.2008
Повідомлення: 2
roman wrote:

alex wrote:

Также появился вопрос, где можно найти описание скриптового языка, который используется для описания обработчиков. А также как можно просто периодически читать определенное значение поля из базы даных, не внося в нее никаких изменений. Т.е. есть таблица с несколькими строками, надо уметь читать значение определенного поля определенной строки (которое периодически меняется)

Первое это здесь: http://diyaorg.dp.ua/oscadawiki/Doc/JavaLikeCalc и здесь: http://diyaorg.dp.ua/oscadawiki/Doc/KoncepcijaSredyVizualizacii
Второе: Для решения этого вопроса нужно реализовать источник данных для получения данных из БД или добавить в пользовательское API функции запросов к БД. Ни того ни другого пока нет, хотя мысли по этому поводу есть.


ОК. А есть ли планы по реализации этого источника данных или API?
Повідомлення створено: 24. 09. 2008 [14:06]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
Есть, но пока не очень торопливые. В виду отсутствия реальной такой задачи и присутствия кучи реальных, но других. icon_smile.gif

Learn, learn and learn better than work, work and work.
Повідомлення створено: 23. 02. 2009 [12:49]
xintrea
Sergey Stepanov
Зареєстрован(а) с: 23.02.2009
Повідомлення: 7
alex wrote:

У меня система Ubuntu 8.04 со всеми апдейтами.
запускал конфигуратор с такими параметрами:
./configure --disable-FireBird --prefix=/tmp/oscada/

пробовал с установленным byacc результат:
==============
func_analise.ypp:77: error: stray ‘@’ in program
func_analise.ypp:79: error: stray ‘@’ in program
func_analise.ypp:81: error: stray ‘@’ in program
===============
причем если добавить --disable-JavaLikeCalc то все компилируется нормально. Но (само собой) куча демок не работает. Если установить bison то все компилируется нормально.


Подтверждаю. Аналогичная проблема и на Ubuntu 7.04.

Решение более подробно. При возникновении подобной ошибки надо

1. Установить bison через менеджер пакетов. Пакет byacc удалять не нужно.
2. Дать команду make clean
3. Дать команду ./configure с теми же параметрами что и вначале сборки. При этом система сборки переконфигурируется так, что в качестве компилятора компилятора будет использоваться bison (почему не byacc - непонятно кстати, но главное что работает).
4. Для сборки дать команду make, далее как обычно.
Повідомлення створено: 10. 03. 2009 [20:32]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
Похоже в byacc отличается механизм разбора ошибок синтаксического анализатора от bison. Наверное сделаю жёсткую зависимость на bison.

Learn, learn and learn better than work, work and work.



20398