×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

Failing to build indi-3rdparty drivers

  • Posts: 53
  • Thank you received: 11
This has got to be something basic that I am missing, I would appreciate an advice.
The platform is Raspberry Pi OS 64bit.

I have built and installed INDI core according to the steps outlined github.com/indilib/indi. Everything included therein seems to be working fine.
Now I need GPSD support and QHY drivers, which are included in indi-3rdparty. I am trying to follow the steps on github.com/indilib/indi-3rdparty.

An example error from building indi-gpsd:
/home/kirill/Projects/indi-3rdparty/indi-gpsd/gps_driver.cpp: In member function 'virtual void GPSD::ISGetProperties(const char*)':
/home/kirill/Projects/indi-3rdparty/indi-gpsd/gps_driver.cpp:86:38: error: 'INumberVectorProperty' {aka 'struct _INumberVectorProperty'} has no member named 'getState'
   86 |     if (isConnected() && (LocationNP.getState() == IPS_OK || TimeTP.getState() == IPS_OK))
      |                                      ^~~~~~~~
Another one from building indi-qhy:
In file included from /home/kirill/Projects/indi-3rdparty/indi-qhy/qhy_ccd.cpp:23:
/home/kirill/Projects/indi-3rdparty/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;
      |                                                                           ^~~~~~~~~~
(This particular error seems to have been raised here and closed: github.com/indilib/indi-3rdparty/issues/721)
Headers for both libgps and libcfitsio are installed:
~/Projects/build/indi-qhy $ apt list libcfitsio-dev libgps-dev 2>&1 | grep installed
libcfitsio-dev/oldstable,now 3.490-3 arm64 [installed]
libgps-dev/oldstable,now 3.22-4 arm64 [installed]
Sources for indi core and indi-3rdparty have been cloned into adjacent directories in ~/Projects, just as instructed, so I assume the fact that they are not aware of each other is fine.

Thank you.
8 months 6 days ago #95064

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 6
Hi Kirill,

on my system it looks exactly the same:

apt list libcfitsio-dev libgps-dev 2>&1 | grep installed
libcfitsio-dev/oldstable,now 3.490-3 arm64 [installed]
libgps-dev/oldstable,now 3.22-4 arm64 [installed]

I don't think its a problem with those libraries.
The scope INDI::FITSRecord is not found. Looks like this definition is missing in the headers that your build process found.

Did you check your cmake output for possible errors? Like in this:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ~/src/indi-3rdparty/libqhy

Maybe the build process is not pulling the right headers from the newly built indilib.
Before I did my build I completely removed all packages for INDI from my system so that I don't get any collisions with older stuff.
I would also recommend to install into /usr/local/ e.g. to prevent future problems with installed packages.

Best regards, Norman
8 months 5 days ago #95105

Please Log in or Create an account to join the conversation.

  • Posts: 53
  • Thank you received: 11
Thank you for your time Norman.

I had initially built indi core using the developer-build script and later forgot about it. My understanding is that it builds the code in RAM, but in the end still installs the results into the system permanently. I may be wrong about it, but once I remembered about the fact itself, I went on and rebuilt the indi core manually without the script, installed and after that my issues with 3rd party were gone.

I did have one more problem with indi-qhy, but it got resolved once I uninstalled libqhy that I had downloaded from QHYCCD and replaced it with the version that is bundeled with indi-3rdparty.

It's all good now.
8 months 4 days ago #95161

Please Log in or Create an account to join the conversation.

Time to create page: 0.426 seconds