Program received signal SIGILL, Illegal instruction

Questions regarding the use of the C++ SDK for Server or Client development or integration into customer products ...

Moderator: uasdkcpp

Post Reply
Kangskii
Full Member
Full Member
Posts: 9
Joined: 21 Sep 2016, 04:15

Program received signal SIGILL, Illegal instruction

Post by Kangskii »

Dear UA support team,

I am now developing a cross-compiling environment based on OPC UA SDK. The host is Windows7 and IDE is Eclipse, and the target platform is an Intel-based embedded linux system.

I want to develop an IOT2000 project with Eclipse(an IOT2000 SDK has been included in the Eclipse project), and the compiler for the project is:
i586-poky-linux-g++.

I have recompiled the SDK source code (with i586-poky-linux-g++) and obtained the libraries: uamodule(d) -luamodels(d) -lcoremodule(d) -luabase(d) -luastack(d) -lxmlparser(d) -luapki(d). The 3rd party libraries: openssl and xml2, have been provided by the IOT2000 SDK, and are all precompiled with i586-poky-linux-g++.

I copied the HelloWorld .cpp/.h into the IOT2000 project, and it is ok during the compiling and linking with Eclipse.
However, when the project was downloaded to the embedded platform, the HelloWorld program stopped at "ret = UaPlatformLayer::init();" of OpcServerMain().

Then I used GDB and found the following error when "ret = UaPlatformLayer::init();" was executed:
Program received signal SIGILL, Illegal instruction.
0xb7d44027 in OpcUa_P_InitializeTimers () from target:/usr/lib/libuastack.so


Can you give some suggestions ?
Thanks.

Kangskii
Full Member
Full Member
Posts: 9
Joined: 21 Sep 2016, 04:15

Re: Program received signal SIGILL, Illegal instruction

Post by Kangskii »

Some more information for your reference:

In the OPc UA SDK, the openssl version is 1.0.0d, and linxml2 version is 2.7.7.
In my project, the openssl version is 1.0.0, and linxml2 version is 2.9.3.

Post Reply