Step by step installation guide for Linux?

Asked by Simon Chase on 2017-10-06

For noobs like me, a step-by-step installation guide for Linux devices would be amazing. More specifically for me, how do I install on a Raspberry Pi?

Question information

Language:
English Edit question
Status:
Answered
For:
Sikuli Edit question
Assignee:
No assignee Edit question
Last query:
2017-10-06
Last reply:
2017-10-10
RaiMan (raimund-hocke) said : #1

This is what I have:
http://www.sikulix.com/specials/files/linux-setup-prerequisites.html

More I cannot do. It is especially not possible for me, to check and/or document the setup for every Linux flavour.
Due to time and knowledge, I will only check for Ubuntu.

For the rest it might be possible to find more in the net (e.g. stackoverflow).
Do not look only for SikuliX, but also for OpenCV.

TestMechanic (ndinev) said : #2

Today I tried to run Sikuli on latest rasbian but seems like libVisionProxy cannot be used under ARM processor. At least this is the error I am getting

[error (10/8/17 10:44:10 PM)] RunTimeSETUP: Problematic lib: /home/pi/.Sikulix/SikulixLibs_201703291041/libVisionProxy.so (...TEMP...)
[error (10/8/17 10:44:10 PM)] RunTimeSETUP: libVisionProxy.so loaded, but it might be a problem with needed dependent libraries
ERROR: ...TEMP...: ...TEMP...: cannot open shared object file: No such file or directory (Possible cause: can't load IA 32-bit .so on a ARM-bit platform)

RaiMan (raimund-hocke) said : #3

@TestMechanic
Yes, obviously, the bundled libraries cannot be used, since they are built for x86 (Ubuntu).

So you have to follow the procedure, to compile and build from the sources.
see comment #1

Simon Chase (schase) said : #4

But how do you compile and build from the sources...

TestMechanic (ndinev) said : #6

I tried "options 2 buildv notes"

and got:

----------- COMPILING
----- cvgui.cpp
----- finder.cpp
----- pyramid-template-matcher.cpp
----- sikuli-debug.cpp
----- tessocr.cpp
----- vision.cpp
----- visionJAVA_wrap.cxx
----------- LINKING
*****error*****
In file included from /usr/include/c++/6/vector:63:0,
                 from /home/pi/.Sikulix/sikulixlibs/linux/Build/Include/opencv2/core/core.hpp:63,
                 from /home/pi/.Sikulix/sikulixlibs/linux/Build/Source/opencv.hpp:9,
                 from /home/pi/.Sikulix/sikulixlibs/linux/Build/Source/cvgui.h:9,
                 from /home/pi/.Sikulix/sikulixlibs/linux/Build/Source/cvgui.cpp:6:
/usr/include/c++/6/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const ParagraphBlob*, std::vector<ParagraphBlob> >; _ForwardIterator = ParagraphBlob*; bool _TrivialValueTypes = false]’:
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const ParagraphBlob*, std::vector<ParagraphBlob> >’ will change in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const ParagraphBlob*, std::vector<ParagraphBlob> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const LineBlob*, std::vector<LineBlob> >; _ForwardIterator = LineBlob*; bool _TrivialValueTypes = false]’:
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const LineBlob*, std::vector<LineBlob> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const LineBlob*, std::vector<LineBlob> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_uninitialized.h: In member function ‘std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = LineBlob; _Alloc = std::allocator<LineBlob>]’:
/usr/include/c++/6/bits/stl_uninitialized.h:126:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const LineBlob*, std::vector<LineBlob> >’ will change in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/6/bits/stl_uninitialized.h: In member function ‘std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = ParagraphBlob; _Alloc = std::allocator<ParagraphBlob>]’:
/usr/include/c++/6/bits/stl_uninitialized.h:126:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const ParagraphBlob*, std::vector<ParagraphBlob> >’ will change in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/6/bits/stl_uninitialized.h: In static member function ‘static void cvgui::getParagraphBlobs(const cv::Mat&, std::vector<ParagraphBlob>&)’:
/usr/include/c++/6/bits/stl_uninitialized.h:126:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const ParagraphBlob*, std::vector<ParagraphBlob> >’ will change in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^

[error (10/9/17 9:59:56 PM)] RunSetup: Building libVisionproxy.so not possible - check the log
[error (10/9/17 9:59:56 PM)] RunSetup: ... terminated abnormally :-(

-------------------

Unfortunately it is no clear for me what is the error

RaiMan (raimund-hocke) said : #7

I am sorry, but I cannot help you, since I decided some years ago, to leave that low level C++ stuff behind me.

Be sure, to link against an OpenCV 2.4.x library package. OpenCV 3.x will not work with SikuliX 1.1.x.

Having the correct parts together, the build script should do its job - may be after necessary adjustments.

... but I generally do not understand the need for SikuliX on a Raspberry PI.

TestMechanic (ndinev) said : #8

For me it is just a challenge :-)

RaiMan (raimund-hocke) said : #9

@TestMechanic
... already thought so ;-) all the best.

Can you help with this problem?

Provide an answer of your own, or ask Simon Chase for more information if necessary.

To post a message you must log in.