×

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

Bi-monthly release with minor bug fixes and improvements

Problem with indiccd build

  • Posts: 146
  • Thank you received: 16
I'm trying to build indi and kstars on macOS, after having solved the problem about a month ago. But now it's failing with an error which didn't appear then.

I'm getting the following:
[75/483] Building CXX object libs/indibase/CMakeFiles/indidriver_OBJECT.dir/indiccd.cpp.o
FAILED: libs/indibase/CMakeFiles/indidriver_OBJECT.dir/indiccd.cpp.o 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -DGIT_TAG_STRING=\"v2.0.6-36-g6cb22894e\" -DHAVE_CLOCK_GETTIME -DHAVE_LIBNOVA -DHAVE_TIMESPEC_GET -DHAVE_XISF -DWITH_ENCLEN -I/Users/rfrancis/AstroRoot/craft-root/build/libs/indiserver/work/build/libs/indibase -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/httplib -I/Users/rfrancis/AstroRoot/craft-root/include/libusb-1.0 -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/timer -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/. -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/thread -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/stream -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indicore/. -I/Users/rfrancis/AstroRoot/craft-root/build/libs/indiserver/work/build/libs/indicore/../.. -I/Users/rfrancis/AstroRoot/craft-root/build/libs/indiserver/work/build/libs/indicore -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indidevice/. -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indidevice/property -I/Users/rfrancis/AstroRoot/craft-root/build/libs/indiserver/work/build/libs/indidevice/../.. -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/eventloop/. -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/dsp/. -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/fpack/. -I/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/hid/. -isystem /Users/rfrancis/AstroRoot/craft-root/include -D_FORTIFY_SOURCE=2 -O1  -Wall -Wextra -Wno-nonnull -Wno-deprecated-declarations -g -O2 -g -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk -mmacosx-version-min=10.15 -fPIC -std=gnu++17 -MD -MT libs/indibase/CMakeFiles/indidriver_OBJECT.dir/indiccd.cpp.o -MF libs/indibase/CMakeFiles/indidriver_OBJECT.dir/indiccd.cpp.o.d -o libs/indibase/CMakeFiles/indidriver_OBJECT.dir/indiccd.cpp.o -c /Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/indiccd.cpp
/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/indiccd.cpp:2463:44: error: no member named 'CompressionCodecSupported' in 'LibXISF::DataBlock'
                    if(LibXISF::DataBlock::CompressionCodecSupported(LibXISF::DataBlock::ZSTD))
                       ~~~~~~~~~~~~~~~~~~~~^
/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/indiccd.cpp:2463:90: error: no member named 'ZSTD' in 'LibXISF::DataBlock'
                    if(LibXISF::DataBlock::CompressionCodecSupported(LibXISF::DataBlock::ZSTD))
                                                                     ~~~~~~~~~~~~~~~~~~~~^
/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/indiccd.cpp:2464:66: error: no member named 'ZSTD' in 'LibXISF::DataBlock'
                        image.setCompression(LibXISF::DataBlock::ZSTD);
                                             ~~~~~~~~~~~~~~~~~~~~^
3 errors generated.
...
...
[90/483] Building CXX object libs/indibase/CMakeFiles/indidriver_OBJECT.dir/indisensorinterface.cpp.o
ninja: build stopped: subcommand failed.
Command ['/Users/rfrancis/AstroRoot/craft-root/dev-utils/bin/ninja', '-j', '16'] failed with exit code 1
Action: make for libs/indiserver:master FAILED
*** Craft all failed: libs/indiserver after 25s ***
fatal error: package libs/indiserver all failed
Craft stopped with out completing ['libs/indiserver']

How can I fix this?


Cheers,
Richard
1 month 3 weeks ago #99512

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

Need to rebuild libxisf from source?
1 month 3 weeks ago #99519

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

  • Posts: 146
  • Thank you received: 16
I thought of that, but the repo I found hasn't been changed for about 3 months, but it's only a month since I successfully built INDI

Cheers,
Richard
1 month 3 weeks ago #99533

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

  • Posts: 146
  • Thank you received: 16
I may have found a clue.

I did build libXISF from source and nothing changed. So I looked into its header bit more carefully. For codecs I found:
struct LIBXISF_EXPORT DataBlock
{
    enum CompressionCodec
    {
        None,
        Zlib,
        LZ4,
        LZ4HC,
        ZSTD
    };
    bool embedded = false;
    uint32_t byteShuffling = 0;
    uint64_t attachmentPos = 0;
    uint64_t attachmentSize = 0;
    uint64_t uncompressedSize = 0;
    CompressionCodec codec = None;
    int compressLevel = -1;
    ByteArray data;
    void decompress(const ByteArray &input, const std::string &encoding = "");
    void compress(int sampleFormatSize);
    /// ZSTD compression can be disabled at compile time
    static bool CompressionCodecSupported(CompressionCodec codec);
};

Whereas indiccd.cpp has the following:
if (targetChip->SendCompressed)
                {
                    if(LibXISF::DataBlock::CompressionCodecSupported(LibXISF::DataBlock::ZSTD))
                        image.setCompression(LibXISF::DataBlock::ZSTD);
                    else
                        image.setCompression(LibXISF::DataBlock::LZ4);
                    image.setByteshuffling(targetChip->getBPP() / 8);
                }

The error I'm getting is:
/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/indiccd.cpp:2463:44: error: no member named 'CompressionCodecSupported' in 'LibXISF::DataBlock'
                    if(LibXISF::DataBlock::CompressionCodecSupported(LibXISF::DataBlock::ZSTD))
                       ~~~~~~~~~~~~~~~~~~~~^
/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/indiccd.cpp:2463:90: error: no member named 'ZSTD' in 'LibXISF::DataBlock'
                    if(LibXISF::DataBlock::CompressionCodecSupported(LibXISF::DataBlock::ZSTD))
                                                                     ~~~~~~~~~~~~~~~~~~~~^
/Users/rfrancis/AstroRoot/craft-root/download/git/libs/indiserver/libs/indibase/indiccd.cpp:2464:66: error: no member named 'ZSTD' in 'LibXISF::DataBlock'
                        image.setCompression(LibXISF::DataBlock::ZSTD);
                                             ~~~~~~~~~~~~~~~~~~~~^
3 errors generated.

I don't know enough C++ to see what that's not working , but here's the clue.

Cheers,
Richard
1 month 2 weeks ago #99609

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

  • Posts: 474
  • Thank you received: 168
The code in INDI and libXISF is correct and compiles fine for me (on Linux though, but shouldn't matter in this case), but my guess is that your compiler finds an older version of the header, which didn't yet have the added function, from somewhere instead of the one you have compiled (did you also install it somewhere or point CMake to it?)
The following user(s) said Thank You: Richard Francis
1 month 2 weeks ago #99619

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

  • Posts: 146
  • Thank you received: 16
Thanks for the tip. I'll check
1 month 2 weeks ago #99622

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

  • Posts: 146
  • Thank you received: 16
So thanks Jarno, that was a good call. I'm not out of the woods but now I seem to be in aset of permissions problems.

Thanks again,
Richard
1 month 2 weeks ago #99626

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

Time to create page: 0.490 seconds