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

Сборка дистрибутивов OpenSCADA на Beaglebone Black (Debian 7)


Автор Повідомлення
Повідомлення створено: 16. 10. 2015 [17:20]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"Sergei_m" wrote:

Я тоже заинтересован в запуске OpenSCADA на ARM. ...

http://wiki.oscada.org/Using/PLC#h1086-1

Learn, learn and learn better than work, work and work.
Повідомлення створено: 31. 01. 2016 [08:12]
rioton
Igor Vostrikov
Зареєстрован(а) с: 24.10.2015
Повідомлення: 3
При сборке под arm вылезает вот это:

libtool: compile: /home/ig/Projects/buildroot-2015.08.1/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-g++ -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLOCALEDIR=\"/usr/share/locale\" -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/ig/Projects/buildroot-2015.08.1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include -c tsubsys.cpp -fPIC -DPIC -o .libs/liboscada_la-tsubsys.o
tsecurity.cpp: В функции-члене «void OSCADA::TUser::setPass(const string&)»:
tsecurity.cpp:335:5: ошибка: нет декларации «crypt_data» в этой области видимости
crypt_data data;
^
tsecurity.cpp:335:16: ошибка: expected «;» before «data»
crypt_data data;
^
tsecurity.cpp:336:5: ошибка: нет декларации «data» в этой области видимости
data.initialized = 0;
^
tsecurity.cpp:338:63: ошибка: нет декларации «crypt_r» в этой области видимости
cfg("PASS").setS(crypt_r(n_pass.c_str(),salt.c_str(),&data));
^
tsecurity.cpp: В функции-члене «bool OSCADA::TUser::auth(const string&)»:
tsecurity.cpp:343:5: ошибка: нет декларации «crypt_data» в этой области видимости
crypt_data data;
^
tsecurity.cpp:343:16: ошибка: expected «;» before «data»
crypt_data data;
^
tsecurity.cpp:344:5: ошибка: нет декларации «data» в этой области видимости
data.initialized = 0;
^
tsecurity.cpp:347:61: ошибка: нет декларации «crypt_r» в этой области видимости
return (pass == crypt_r(ipass.c_str(),salt.c_str(),&data));
^
make[5]: *** [liboscada_la-tsecurity.lo] Ошибка 1
make[5]: *** Ожидание завершения заданий...
make[4]: *** [all-recursive] Ошибка 1
make[3]: *** [all] Ошибка 2
make[2]: *** [all-recursive] Ошибка 1
make[1]: *** [/home/ig/Projects/buildroot-2015.08.1/output/build/openscada-0.8.15/.stamp_built] Ошибка 2
make: *** [_all] Ошибка 2
ig@ig-PC:~/Projects/buildroot-2015.08.1$

Кто-нибудь поможет ?

Повідомлення створено: 31. 01. 2016 [09:34]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
-D_GNU_SOURCE

Learn, learn and learn better than work, work and work.
Повідомлення створено: 01. 02. 2016 [15:39]
rioton
Igor Vostrikov
Зареєстрован(а) с: 24.10.2015
Повідомлення: 3
Спасибо за быстрый ответ, Роман
Если Вы имеете в виду CPPFLAGS="-D_GNU_SOURCE", то не помогает

Или я ошибаюсь?

Повідомлення створено: 01. 02. 2016 [15:51]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"rioton" wrote:

Если Вы имеете в виду CPPFLAGS="-D_GNU_SOURCE", то не помогает

Смотря где, примеры тут: http://wiki.oscada.org/Using/PLC#h1086-11
Кроме того, это вопрос не OpenSCADA, а вашего ToolChain, если он не определяет нужного окружения и тем самым блокирует доступ к нужным функциям.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 01. 02. 2016 [16:39]
rioton
Igor Vostrikov
Зареєстрован(а) с: 24.10.2015
Повідомлення: 3
А как сделать, чтобы Buildrootовский ToolChain
определял окружение OpenScada ?
Повідомлення створено: 01. 02. 2016 [16:55]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"rioton" wrote:

А как сделать, чтобы Buildrootовский ToolChain
определял окружение OpenScada ?

В документации на BuildRoot и читайте, а также: http://wiki.oscada.org/Using/PLC#h1086-6
Кроме того это не окружение OpenSCADA, а отключены функции GNU. Открываем crypt.h, смотрим почему не видна структура "crypt_data" и видим скорее всего такое: #ifdef __USE_GNU. Если в том "uCLibс" это вообще реализовано.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 17. 02. 2016 [20:02]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"roman" wrote:

Кроме того это не окружение OpenSCADA, а отключены функции GNU. Открываем crypt.h, смотрим почему не видна структура "crypt_data" и видим скорее всего такое: #ifdef __USE_GNU. Если в том "uCLibс" это вообще реализовано.

Добавил исключение использования crypt_r() если нет "__USE_GNU", что однако приведёт к хранению паролей в открытом виде и невозможности аутентификации по уже сохранённым хешам паролей.

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



12730