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

indi-qhy cannot build #744

Closed
clamintus opened this issue Feb 28, 2023 · 2 comments
Closed

indi-qhy cannot build #744

clamintus opened this issue Feb 28, 2023 · 2 comments

Comments

@clamintus
Copy link

This is the output of cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ../../indi-qhy:

-- The C compiler identification is GNU 12.2.1
-- 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
-- Found CFITSIO 4.2.0: /usr/lib/libcfitsio.so
-- Found INDI: /usr/lib/libindidriver.so;/usr/lib/libindiAlignmentDriver.so (found version "2.0.0") 
-- Found QHY: /usr/lib/libqhyccd.so
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.13") 
-- Found NOVA: /usr/lib/libnova.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0") 
-- Found USB1: /usr/lib/libusb-1.0.so (found version "1.0.26") 
-- Performing Test USB1_HAS_LIBUSB_ERROR_NAME
-- Performing Test USB1_HAS_LIBUSB_ERROR_NAME - Success
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Performing Test COMPATIBLE_FORTIFY_SOURCE
-- Performing Test COMPATIBLE_FORTIFY_SOURCE - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/clamintus/Scaricati/libindi-eqmod-git/build/indi-qhy

This is the output of make -j4, which I ran after the previous cmake configuration command:

[ 33%] Building CXX object CMakeFiles/qhy_ccd_test.dir/qhy_ccd_test.cpp.o
[ 50%] Building CXX object CMakeFiles/qhy_video_test.dir/qhy_video_test.cpp.o
In file included from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from /home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd_test.cpp:21:
/usr/include/features.h:413:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  413 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
In file included from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from /home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_video_test.cpp:23:
/usr/include/features.h:413:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  413 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
In file included from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdint.h:26,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.1/include/stdint.h:9,
                 from /usr/include/libqhy/qhyccdstruct.h:28,
                 from /usr/include/libqhy/qhyccd.h:4,
                 from /home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.h:24,
                 from /home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:23:
/usr/include/features.h:413:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
  413 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^~~~~~~
[ 66%] Linking CXX executable qhy_ccd_test
[ 66%] Built target qhy_ccd_test
[ 83%] Linking CXX executable qhy_video_test
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.h:91:75: error: ‘FITSRecord’ is not a member of ‘INDI’
   91 |         void addFITSKeywords(INDI::CCDChip *targetChip, std::vector<INDI::FITSRecord> &fitsKeywords) override;
      |                                                                           ^~~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.h:91:75: error: ‘FITSRecord’ is not a member of ‘INDI’
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.h:91:85: error: template argument 1 is invalid
   91 |         void addFITSKeywords(INDI::CCDChip *targetChip, std::vector<INDI::FITSRecord> &fitsKeywords) override;
      |                                                                                     ^
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.h:91:85: error: template argument 2 is invalid
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.h:91:14: error: ‘void QHYCCD::addFITSKeywords(INDI::CCDChip*, int&)’ marked ‘override’, but does not override
   91 |         void addFITSKeywords(INDI::CCDChip *targetChip, std::vector<INDI::FITSRecord> &fitsKeywords) override;
      |              ^~~~~~~~~~~~~~~
[ 83%] Built target qhy_video_test
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp: In member function ‘void QHYCCD::streamVideo()’:
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2604:31: error: no matching function for call to ‘INDI::StreamManager::newFrame(uint8_t*&, uint32_t, uint64_t&)’
 2604 |             Streamer->newFrame(buffer, w * h * bpp / 8 * channels, timestamp);
      |             ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libindi/indiccd.h:37,
                 from /home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.h:25:
/usr/include/libindi/stream/streammanager.h:118:14: note: candidate: ‘void INDI::StreamManager::newFrame(const uint8_t*, uint32_t)’
  118 |         void newFrame(const uint8_t *buffer, uint32_t nbytes);
      |              ^~~~~~~~
/usr/include/libindi/stream/streammanager.h:118:14: note:   candidate expects 2 arguments, 3 provided
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp: At global scope:
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2732:75: error: ‘FITSRecord’ is not a member of ‘INDI’
 2732 | void QHYCCD::addFITSKeywords(INDI::CCDChip *targetChip, std::vector<INDI::FITSRecord> &fitsKeywords)
      |                                                                           ^~~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2732:75: error: ‘FITSRecord’ is not a member of ‘INDI’
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2732:85: error: template argument 1 is invalid
 2732 | void QHYCCD::addFITSKeywords(INDI::CCDChip *targetChip, std::vector<INDI::FITSRecord> &fitsKeywords)
      |                                                                                     ^
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2732:85: error: template argument 2 is invalid
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp: In member function ‘void QHYCCD::addFITSKeywords(INDI::CCDChip*, int&)’:
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2734:31: error: no matching function for call to ‘QHYCCD::addFITSKeywords(INDI::CCDChip*&, int&)’
 2734 |     INDI::CCD::addFITSKeywords(targetChip, fitsKeywords);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libindi/indiccd.h:508:22: note: candidate: ‘virtual void INDI::CCD::addFITSKeywords(INDI::CCDChip*)’
  508 |         virtual void addFITSKeywords(CCDChip * targetChip);
      |                      ^~~~~~~~~~~~~~~
/usr/include/libindi/indiccd.h:508:22: note:   candidate expects 1 argument, 2 provided
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2738:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2738 |         fitsKeywords.push_back({"GAIN", GainN[0].value, 3, "Gain"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2743:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2743 |         fitsKeywords.push_back({"OFFSET", OffsetN[0].value, 3, "Offset"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2748:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2748 |         fitsKeywords.push_back({"AMPGLOW", IUFindOnSwitch(&AMPGlowSP)->label, "Mode"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2753:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2753 |         fitsKeywords.push_back({"READMODE", ReadModeN[0].value, 1, "Read Mode"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2760:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2760 |         fitsKeywords.push_back({"GPS_SFLG", GPSHeader.start_flag, "StartFlag"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2762:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2762 |         fitsKeywords.push_back({"GPS_SS", GPSHeader.start_sec, "StartShutterSeconds"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2764:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2764 |         fitsKeywords.push_back({"GPS_SU", GPSHeader.start_us, 3, "StartShutterMicroSeconds"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2766:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2766 |         fitsKeywords.push_back({"GPS_ST", GPSDataStartT[GPS_DATA_START_TS].text, "StartShutterTime"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2770:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2770 |         fitsKeywords.push_back({"GPS_EFLG", GPSHeader.end_flag, "EndFlag"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2772:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2772 |         fitsKeywords.push_back({"GPS_ES", GPSHeader.end_sec, "EndShutterSeconds"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2774:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2774 |         fitsKeywords.push_back({"GPS_EU", GPSHeader.end_us, 3, "EndShutterMicroSeconds"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2776:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2776 |         fitsKeywords.push_back({"GPS_ET", GPSDataStartT[GPS_DATA_END_TS].text, "EndShutterTime"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2780:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2780 |         fitsKeywords.push_back({"GPS_NFLG", GPSHeader.now_flag, "NowFlag"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2782:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2782 |         fitsKeywords.push_back({"GPS_NS", GPSHeader.now_sec, "NowShutterSeconds"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2784:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2784 |         fitsKeywords.push_back({"GPS_NU", GPSHeader.now_us, 3, "NowShutterMicroSeconds"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2786:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2786 |         fitsKeywords.push_back({"GPS_NT", GPSDataStartT[GPS_DATA_NOW_TS].text, "NowShutterTime"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2789:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2789 |         fitsKeywords.push_back({"GPS_PPSC", GPSHeader.max_clock, "PPSCounter"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2800:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2800 |         fitsKeywords.push_back({"GPS_LONG", GPSHeader.longitude, 7, "GPS Longitude"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2803:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2803 |         fitsKeywords.push_back({"GPS_LAT", GPSHeader.latitude, 7, "GPS Latitude"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2806:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2806 |         fitsKeywords.push_back({"GPS_SEQ", GPSHeader.seqNumber, "Sequence Number"});
      |                      ^~~~~~~~~
/home/clamintus/Scaricati/libindi-eqmod-git/indi-qhy/qhy_ccd.cpp:2809:22: error: request for member ‘push_back’ in ‘fitsKeywords’, which is of non-class type ‘int’
 2809 |         fitsKeywords.push_back({"GPS_TMP", GPSHeader.tempNumber, "Temporary Sequence Number"});
      |                      ^~~~~~~~~
make[2]: *** [CMakeFiles/indi_qhy_ccd.dir/build.make:76: CMakeFiles/indi_qhy_ccd.dir/qhy_ccd.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/indi_qhy_ccd.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

I don't know how to fix this, since it appears as if the code is wrong. What's the matter here?

@clamintus
Copy link
Author

Don't mind the name of the parent folder - "libindi-eqmod-git".
It's like that because previously I tried to install indi-eqmod via the AUR since I'm on ArchLinux, but then I deleted everything and cloned there this repository using --depth=1 to save space, and I manually compiled and installed indi-eqmod and libqhy. So it's really just the parent folder where I cloned the repository.

@knro
Copy link
Collaborator

knro commented Feb 28, 2023

You need to rebuild INDI from GIT first and then it would work.

@knro knro closed this as completed Feb 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants