Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error compiling indi-rpicam #617

Closed
Astro-Otter-Space opened this issue Jul 28, 2022 · 3 comments
Closed

Error compiling indi-rpicam #617

Astro-Otter-Space opened this issue Jul 28, 2022 · 3 comments
Labels
bug Something isn't working

Comments

@Astro-Otter-Space
Copy link

Astro-Otter-Space commented Jul 28, 2022

Describe the bug
While compiling the driver indi-rpicam, on Ubuntu 20.04 installed on raspberry pi 3 model b+, i have some errors who cancel the compilation and installaton.
I have cmake version :

hamham@astroloutre:~$ cmake --version
cmake version 3.23.2

To Reproduce

hamham@astroloutre:~/Projects/build/indi-rpicam$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ~/Projects/indi-3rdparty/indi-rpicam
-- The CXX compiler identification is GNU 9.4.0
-- The C compiler identification is GNU 9.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test COMPATIBLE_FORTIFY_SOURCE
-- Performing Test COMPATIBLE_FORTIFY_SOURCE - Success
-- Found INDI: /usr/lib/arm-linux-gnueabihf/libindidriver.so (found version "1.9.6") 
-- Found CFITSIO 3.47: /usr/lib/arm-linux-gnueabihf/libcfitsio.so
-- Found NOVA: /usr/lib/arm-linux-gnueabihf/libnova.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found USB1: /usr/lib/arm-linux-gnueabihf/libusb-1.0.so (found version "1.0.23") 
-- Performing Test USB1_HAS_LIBUSB_ERROR_NAME
-- Performing Test USB1_HAS_LIBUSB_ERROR_NAME - Success
-- Found FFTW3: /usr/lib/arm-linux-gnueabihf/libfftw3.so
-- Found FFTW3: /usr/lib/arm-linux-gnueabihf/libfftw3.so
-- Looking for pthread.h
CMake Warning (dev) at /snap/cmake/1089/share/cmake-3.23/Modules/CheckIncludeFile.cmake:82 (message):
  Policy CMP0075 is not set: Include file check macros honor
  CMAKE_REQUIRED_LIBRARIES.  Run "cmake --help-policy CMP0075" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  CMAKE_REQUIRED_LIBRARIES is set to:

    /usr/lib/arm-linux-gnueabihf/libnova.so

  For compatibility with CMake 3.11 and below this check is ignoring it.
Call Stack (most recent call first):
  /snap/cmake/1089/share/cmake-3.23/Modules/FindThreads.cmake:146 (CHECK_INCLUDE_FILE)
  CMakeLists.txt:34 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) 
-- Could NOT find GMock (missing: GMOCK_LIBRARY GMOCK_INCLUDE_DIR) 
-- GTEST not found, not building unit tests
-- No OMAP3 processor on this machine.
-- No OMAP4 processor on this machine.
-- Neon found with compiler flag : -mfpu=neon -D__NEON__
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hamham/Projects/build/indi-rpicam

We can see a warning. Then i continue:

hamham@astroloutre:~/Projects/build/indi-rpicam$ make -j4
[ 13%] Building CXX object CMakeFiles/rpicam.dir/mmalcamera.cpp.o
[ 13%] Building CXX object CMakeFiles/rpicam.dir/mmalencoder.cpp.o
[ 20%] Building CXX object CMakeFiles/rpicam.dir/mmaldriver.cpp.o
[ 26%] Building CXX object CMakeFiles/rpicam.dir/mmalexception.cpp.o
[ 40%] Building CXX object CMakeFiles/rpicam.dir/mmalcomponent.cpp.o
[ 40%] Building CXX object CMakeFiles/rpicam.dir/cameracontrol.cpp.o
[ 46%] Building CXX object CMakeFiles/rpicam.dir/raw10tobayer16pipeline.cpp.o
[ 53%] Building CXX object CMakeFiles/rpicam.dir/raw12tobayer16pipeline.cpp.o
[ 60%] Building CXX object CMakeFiles/rpicam.dir/pipeline.cpp.o
In file included from /home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.cpp:37:
/home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.h:65:18: error: ‘virtual void MMALDriver::addFITSKeywords(INDI::CCDChip*)’ marked ‘override’, but does not override
   65 |     virtual void addFITSKeywords(INDI::CCDChip * targetChip) override;
      |                  ^~~~~~~~~~~~~~~
/home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.cpp: In member function ‘virtual void MMALDriver::addFITSKeywords(INDI::CCDChip*)’:
/home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.cpp:103:42: error: no matching function for call to ‘MMALDriver::addFITSKeywords(INDI::CCDChip*&)’
  103 |     INDI::CCD::addFITSKeywords(targetChip);
      |                                          ^
In file included from /home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.h:24,
                 from /home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.cpp:37:
/usr/include/libindi/indiccd.h:509:22: note: candidate: ‘virtual void INDI::CCD::addFITSKeywords(fitsfile*, INDI::CCDChip*)’
  509 |         virtual void addFITSKeywords(fitsfile * fptr, CCDChip * targetChip);
      |                      ^~~~~~~~~~~~~~~
/usr/include/libindi/indiccd.h:509:22: note:   candidate expects 2 arguments, 1 provided
[ 66%] Building CXX object CMakeFiles/rpicam.dir/jpegpipeline.cpp.o
make[2]: *** [CMakeFiles/rpicam.dir/build.make:90: CMakeFiles/rpicam.dir/mmaldriver.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:85: CMakeFiles/rpicam.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

I think i don't need to continue because of these errors below, but just for try :

hamham@astroloutre:~/Projects/build/indi-rpicam$ sudo make install
Consolidate compiler generated dependencies of target rpicam
[  6%] Building CXX object CMakeFiles/rpicam.dir/mmaldriver.cpp.o
In file included from /home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.cpp:37:
/home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.h:65:18: error: ‘virtual void MMALDriver::addFITSKeywords(INDI::CCDChip*)’ marked ‘override’, but does not override
   65 |     virtual void addFITSKeywords(INDI::CCDChip * targetChip) override;
      |                  ^~~~~~~~~~~~~~~
/home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.cpp: In member function ‘virtual void MMALDriver::addFITSKeywords(INDI::CCDChip*)’:
/home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.cpp:103:42: error: no matching function for call to ‘MMALDriver::addFITSKeywords(INDI::CCDChip*&)’
  103 |     INDI::CCD::addFITSKeywords(targetChip);
      |                                          ^
In file included from /home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.h:24,
                 from /home/hamham/Projects/indi-3rdparty/indi-rpicam/mmaldriver.cpp:37:
/usr/include/libindi/indiccd.h:509:22: note: candidate: ‘virtual void INDI::CCD::addFITSKeywords(fitsfile*, INDI::CCDChip*)’
  509 |         virtual void addFITSKeywords(fitsfile * fptr, CCDChip * targetChip);
      |                      ^~~~~~~~~~~~~~~
/usr/include/libindi/indiccd.h:509:22: note:   candidate expects 2 arguments, 1 provided
make[2]: *** [CMakeFiles/rpicam.dir/build.make:90: CMakeFiles/rpicam.dir/mmaldriver.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:85: CMakeFiles/rpicam.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Desktop (please complete the following information):

  • OS: Ubuntu 20.04
  • Indiserver 1.9.6
  • Last version of repo pulled

Do i need a specific version of cmake ?
Thank you

NB: at first i've decide to recompile the driver because of this error :

2022-07-28T12:39:04: startup: indiserver -m 128 -r 10 indi_rpicam 
2022-07-28T12:39:05: Driver indi_rpicam: MMALDriver()
2022-07-28T12:39:05: Driver indi_rpicam: MMALDriver() - returning
2022-07-28T12:39:05: Driver indi_rpicam: ISGetProperties()
2022-07-28T12:39:05: Driver indi_rpicam: getDefaultName()
2022-07-28T12:39:05: Driver indi_rpicam: initProperties()
2022-07-28T12:39:05: Driver indi_rpicam: getDefaultName()
2022-07-28T12:40:09: Driver indi_rpicam: CameraControl(/home/hamham/Projects/indi-3rdparty/indi-rpicam/cameracontrol.cpp:34): enter
2022-07-28T12:40:09: Driver indi_rpicam: mmal: mmal_component_create_core: could not find component 'vc.ril.camera'
2022-07-28T12:40:09: Driver indi_rpicam: terminate called after throwing an instance of 'MMALException'
2022-07-28T12:40:09: Driver indi_rpicam:   what():  
2022-07-28T12:40:09: Driver indi_rpicam: stderr EOF
<delProperty device="RPI Camera"/>
Child process 3909 died
@Astro-Otter-Space Astro-Otter-Space added the bug Something isn't working label Jul 28, 2022
@Astro-Otter-Space
Copy link
Author

I'm testing this : #365 (comment)

@Astro-Otter-Space
Copy link
Author

Still same error after build userland

@Astro-Otter-Space
Copy link
Author

Tested few days after and no error. The only difference is cmake version :

hamham@astroloutre:~/Projects/build/indi-rpicam$ cmake --version
cmake version 3.24.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant