9 Replies Latest reply on Sep 24, 2017 2:35 AM by MeitavKleinfeld

    Out of box Euclid build of librealsense fails

    weaponeer

      I get this error after following the doc/installation.md steps. Also

       

      This also happens with "https://github.com/IntelRealSense/librealsense.git"

       

      euclid@EUCLID_xxxx:~$ git clone https://github.com/IntelEuclid/librealsense.git euclid_librealsense

      Cloning into 'euclid_librealsense'...

      remote: Counting objects: 16532, done.

      remote: Total 16532 (delta 0), reused 0 (delta 0), pack-reused 16531

      Receiving objects: 100% (16532/16532), 22.19 MiB | 1012.00 KiB/s, done.

      Resolving deltas: 100% (11728/11728), done.

      Checking connectivity... done.

      euclid@EUCLID_xxxx:~$ cd euclid_librealsense

      euclid@EUCLID_xxxx:~/euclid_librealsense$ mkdir build

      euclid@EUCLID_xxxx:~/euclid_librealsense$ cd build/

      euclid@EUCLID_xxxx:~/euclid_librealsense/build$ cmake ../

      -- Building in a ROS environment

      -- The C compiler identification is GNU 5.4.0

      -- The CXX compiler identification is GNU 5.4.0

      -- Check for working C compiler: /usr/bin/cc

      -- Check for working C compiler: /usr/bin/cc -- works

      -- Detecting C compiler ABI info

      -- Detecting C compiler ABI info - done

      -- Detecting C compile features

      -- Detecting C compile features - done

      -- Check for working CXX compiler: /usr/bin/c++

      -- Check for working CXX compiler: /usr/bin/c++ -- works

      -- Detecting CXX compiler ABI info

      -- Detecting CXX compiler ABI info - done

      -- Detecting CXX compile features

      -- Detecting CXX compile features - done

      -- Using CATKIN_DEVEL_PREFIX: /home/euclid/euclid_librealsense/build/devel

      -- Using CMAKE_PREFIX_PATH: /opt/ros/kinetic

      -- This workspace overlays: /opt/ros/kinetic

      -- Found PythonInterp: /usr/bin/python (found version "2.7.12")

      -- Using PYTHON_EXECUTABLE: /usr/bin/python

      -- Using Debian Python package layout

      -- Using empy: /usr/bin/empy

      -- Using CATKIN_ENABLE_TESTING: ON

      -- Call enable_testing()

      -- Using CATKIN_TEST_RESULTS_DIR: /home/euclid/euclid_librealsense/build/test_results

      -- Looking for pthread.h

      -- Looking for pthread.h - found

      -- Looking for pthread_create

      -- Looking for pthread_create - not found

      -- Looking for pthread_create in pthreads

      -- Looking for pthread_create in pthreads - not found

      -- Looking for pthread_create in pthread

      -- Looking for pthread_create in pthread - found

      -- Found Threads: TRUE 

      -- Found gtest sources under '/usr/src/gtest': gtests will be built

      -- Using Python nosetests: /usr/bin/nosetests-2.7

      -- catkin 0.7.6

      -- Performing Test COMPILER_SUPPORTS_CXX11

      -- Performing Test COMPILER_SUPPORTS_CXX11 - Success

      -- Performing Test COMPILER_SUPPORTS_CXX0X

      -- Performing Test COMPILER_SUPPORTS_CXX0X - Success

      -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")

      -- Checking for one of the modules 'libusb-1.0'

      CMake Warning at CMakeLists.txt:204 (message):

        3 source files ignored: src/lr200_mm.cpp;src/motion-common.h;src/lr200_mm.h

       

       

      -- Configuring done

      -- Generating done

      -- Build files have been written to: /home/euclid/euclid_librealsense/build

      euclid@EUCLID_xxxx:~/euclid_librealsense/build$ make

      Scanning dependencies of target realsense

      [  1%] Building CXX object CMakeFiles/realsense.dir/src/archive.cpp.o

      [  3%] Building CXX object CMakeFiles/realsense.dir/src/context.cpp.o

      [  5%] Building CXX object CMakeFiles/realsense.dir/src/device.cpp.o

      [  7%] Building CXX object CMakeFiles/realsense.dir/src/ds-device.cpp.o

      [  9%] Building CXX object CMakeFiles/realsense.dir/src/ds-private.cpp.o

      [ 11%] Building CXX object CMakeFiles/realsense.dir/src/f200.cpp.o

      [ 13%] Building CXX object CMakeFiles/realsense.dir/src/hw-monitor.cpp.o

      [ 15%] Building CXX object CMakeFiles/realsense.dir/src/image.cpp.o

      [ 17%] Building CXX object CMakeFiles/realsense.dir/src/ivcam-private.cpp.o

      [ 19%] Building CXX object CMakeFiles/realsense.dir/src/ivcam-device.cpp.o

      [ 21%] Building CXX object CMakeFiles/realsense.dir/src/log.cpp.o

      [ 23%] Building CXX object CMakeFiles/realsense.dir/src/motion-module.cpp.o

      [ 25%] Building CXX object CMakeFiles/realsense.dir/src/r200.cpp.o

      [ 26%] Building CXX object CMakeFiles/realsense.dir/src/rs.cpp.o

      [ 28%] Building CXX object CMakeFiles/realsense.dir/src/sr300.cpp.o

      [ 30%] Building CXX object CMakeFiles/realsense.dir/src/stream.cpp.o

      [ 32%] Building CXX object CMakeFiles/realsense.dir/src/sync.cpp.o

      [ 34%] Building CXX object CMakeFiles/realsense.dir/src/timestamps.cpp.o

      [ 36%] Building CXX object CMakeFiles/realsense.dir/src/types.cpp.o

      [ 38%] Building CXX object CMakeFiles/realsense.dir/src/uvc-libuvc.cpp.o

      [ 40%] Building CXX object CMakeFiles/realsense.dir/src/uvc-v4l2.cpp.o

      [ 42%] Building CXX object CMakeFiles/realsense.dir/src/uvc-wmf.cpp.o

      [ 44%] Building CXX object CMakeFiles/realsense.dir/src/uvc.cpp.o

      [ 46%] Building C object CMakeFiles/realsense.dir/src/verify.c.o

      [ 48%] Building CXX object CMakeFiles/realsense.dir/src/zr300.cpp.o

      [ 50%] Building C object CMakeFiles/realsense.dir/src/libuvc/ctrl.c.o

      [ 51%] Building C object CMakeFiles/realsense.dir/src/libuvc/dev.c.o

      [ 53%] Building C object CMakeFiles/realsense.dir/src/libuvc/diag.c.o

      [ 55%] Building C object CMakeFiles/realsense.dir/src/libuvc/frame.c.o

      [ 57%] Building C object CMakeFiles/realsense.dir/src/libuvc/init.c.o

      [ 59%] Building C object CMakeFiles/realsense.dir/src/libuvc/stream.c.o

      [ 61%] Linking CXX shared library devel/lib/librealsense.so

      [ 61%] Built target realsense

      Scanning dependencies of target SR300-live-test

      [ 63%] Building CXX object unit-tests/CMakeFiles/SR300-live-test.dir/unit-tests-live.cpp.o

      [ 65%] Building CXX object unit-tests/CMakeFiles/SR300-live-test.dir/unit-tests-live-sr300.cpp.o

      [ 67%] Linking CXX executable ../devel/lib/librealsense/SR300-live-test

      ../devel/lib/librealsense.so: undefined reference to `rsimpl::make_lr200_mm_device(std::shared_ptr<rsimpl::uvc::device>)'

      collect2: error: ld returned 1 exit status

      unit-tests/CMakeFiles/SR300-live-test.dir/build.make:121: recipe for target 'devel/lib/librealsense/SR300-live-test' failed

      make[2]: *** [devel/lib/librealsense/SR300-live-test] Error 1

      CMakeFiles/Makefile2:439: recipe for target 'unit-tests/CMakeFiles/SR300-live-test.dir/all' failed

      make[1]: *** [unit-tests/CMakeFiles/SR300-live-test.dir/all] Error 2

      Makefile:138: recipe for target 'all' failed

      make: *** [all] Error 2

        • 1. Re: Out of box Euclid build of librealsense fails
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hello weaponeer,

          Thank you for your interest in the Intel® Euclid™ Development Kit.

          I reproduced the issue you are experiencing. But I’ll be needing more time to come up with a solution.

          As soon as I have relevant information I’ll post it here.

          Thank you for your patience.

          Regards,
          Andres V.

          • 2. Re: Out of box Euclid build of librealsense fails
            weaponeer

            Andres,

             

            Many thanks -- I tried adding lr200_mm.cpp back to the CMakeLists.txt -- but this caused other issues with Motion related includes.  I started over at that point with a new clone, and decided to post -- as others must have found a way around this issue.

             

            Thanks,

             

            MarkC

            • 3. Re: Out of box Euclid build of librealsense fails
              Intel Corporation
              This message was posted on behalf of Intel Corporation

              Hello MarkC,

              The reason behind the error message has to do with the fact that the librealsense version on Github has components that are not compatible with the Euclid.

              There is a version of librealsense that is already installed in the Euclid, it is located in /usr/lib/librealsense. Could you please tell me why are you trying to download the version on Github?

              I’ll be waiting for your response.

              Have a nice day.

              Regards,
              Andres V.

              • 4. Re: Out of box Euclid build of librealsense fails
                weaponeer

                Andres,

                 

                Thanks for the reply, I do appreciate it.

                 

                My reason for wanting a local git-based librealsense is to develop with the ability to debug at the source level, and to rapidly pick up fixes and extensions.  Our motivation to explore this platform (Euclid) and its possible uses were driven to a great deal by the fact that there was an expectation that the software platform was open.  And that it provided in a small package a broad and well integrated suite of sensors that would have otherwise required integration at several levels.

                 

                I'm not trying to be difficult here, but to me it does not seem unreasonable to expect the publicly available SDK to build on the target designed to demonstrate it ?

                 

                Working around this is acceptable, but I hope you can see my point -- I have too many orphaned platforms in the "drawer of obsolescence" -- and too little time to resuscitate them.

                 

                Are there any plans to address this, or suggestions as to how I might approach fixing it myself ?

                 

                Mark

                • 5. Re: Out of box Euclid build of librealsense fails
                  Intel Corporation
                  This message was posted on behalf of Intel Corporation

                  Hello Mark,

                  I understand your interest in gaining full control of the software platform. 

                  There hasn’t been any announcements for a publicly available SDK, so I can’t tell you when, or if, it will be available.

                  What I can assure is that I will share your request with the corresponding team.

                  Have a nice day.

                  Regards,
                  Andres V.

                  • 6. Re: Out of box Euclid build of librealsense fails
                    weaponeer

                    Andres,

                     

                    Thanks -- I hope the developers find a way.  Meantime I will try and work around this as I have time.

                     

                    Cheers,

                     

                    MarkC

                    • 7. Re: Out of box Euclid build of librealsense fails
                      MeitavKleinfeld

                      Hi Weaponeer,

                      Fortunately I have a workaround for you.

                      If you go to the CMakeLists.txt and turn off "BUILD_UNIT_TESTS", it should compile fine.

                      Unless you plan on using those (I know that I haven't ever had the need to use them myself), it shouldn't be a problem.

                      If you want to build the examples (which aren't exactly as relevant to the Euclid, but can help you better understand librealsense), you can check that on, but make sure to build GLFW first, since it's a dependency.

                       

                      Regards,

                      Meitav

                      Intel Euclid Development Team

                      1 of 1 people found this helpful
                      • 8. Re: Out of box Euclid build of librealsense fails
                        weaponeer

                        Meitav,

                         

                        Thanks !  That worked -- and led me to this:

                         

                        • cmake .. -DBUILD_EXAMPLES:BOOL=true -DBUILD_UNIT_TESTS:BOOL=false
                        • Which gave me a clean build with example binaries

                         

                        euclid@EUCLID_7189:~/librealsense/build$ ls -l devel/lib/librealsense

                        total 5280

                        -rwxrwxr-x 1 euclid euclid  340496 Sep 19 11:51 cpp-alignimages

                        -rwxrwxr-x 1 euclid euclid  192976 Sep 19 11:51 cpp-callback

                        -rwxrwxr-x 1 euclid euclid  396352 Sep 19 11:52 cpp-callback-2

                        -rwxrwxr-x 1 euclid euclid  442232 Sep 19 11:52 cpp-capture

                        -rwxrwxr-x 1 euclid euclid 1051184 Sep 19 11:52 cpp-config-ui

                        -rwxrwxr-x 1 euclid euclid  187808 Sep 19 11:52 cpp-enumerate-devices

                         

                        And they ran ok (so far) !

                         

                         

                        euclid@EUCLID_7189:~/librealsense/build$ devel/lib/librealsense/cpp-enumerate-devices

                        Device 0 - Intel RealSense LR200:

                        Serial number: 3511805472

                        Firmware version: 2.0.71.09

                        USB Port ID: 2-4

                        Camera info:

                            DEVICE_NAME         : Intel RealSense LR200

                            DEVICE_SERIAL_NUMBER: 3511805472

                            CAMERA_FIRMWARE_VERSION: 2.0.71.09

                            CAMERA_TYPE         : PRQ-Ready

                            OEM_ID              : OEM None

                            ISP_FW_VERSION      : 0xd940

                            CONTENT_VERSION     : 12

                            MODULE_VERSION      : 4.4.0.111

                            IMAGER_MODEL_NUMBER : 33

                            CALIBRATION_DATE    : 2014-07-04 08:18:35 UTC

                            EMITTER_TYPE        : Laser Driver 4.1

                            FOCUS_VALUE         : 0

                            LENS_TYPE           : Newmax 58.9 x 45.9 degs in VGA

                            3RD_LENS_TYPE       : AEOT

                            LENS_COATING__TYPE  : Visible-light block / IR pass 43 nm width

                            3RD_LENS_COATING_TYPE: IR coating

                            NOMINAL_BASELINE    : 70 mm

                            3RD_NOMINAL_BASELINE: 58 mm

                        Supported options:                                    min        max       step  default

                            COLOR_BACKLIGHT_COMPENSATION                       : 0    ... 1           1     0        

                            COLOR_BRIGHTNESS                                   : -64  ... 64          1     0        

                            COLOR_CONTRAST                                     : 0    ... 100         1     50       

                            COLOR_EXPOSURE                                     : 50   ... 666         1     166      

                            COLOR_GAIN                                         : 0    ... 128         1     64       

                            COLOR_GAMMA                                        : 100  ... 500         1     300

                         

                         

                        Mark

                        • 9. Re: Out of box Euclid build of librealsense fails
                          MeitavKleinfeld

                          Fantastic!

                           

                          I'm seeing that other people do have so issues with the examples as well, so this will require some digging into the code, but I'm glad it works.

                          Let us know if you need any further help!

                           

                          Meitav

                          Intel Euclid Development Team