Damiano Callari and 5 others have liked Jasem Mutlaq's Profile 11 months ago

I found out about using condition variable [1] and implemented one to get this behavior. Thanks anyways :)

[1] en.cppreference.com/w/cpp/thread/condition_variable


Hi all :) I am developing a simple rotator client that takes a few arguments, connects to the rotator (currently a simulator), and it should just exit the program after reaching its destination. However, if I simply use 

after reaching the destination the program complains
BaseClient::~BaseClient: Probability of detecting a deadlock.

I am wondering what is the clean way to exit the program after reaching certain conditions without the need of human intervention? Should I just write a `while(true)` loop and check for conditions in the `main` function? If so, I am worried about blocking the CPU. Should I be worried?

Thanks in advance,
[color=#66d9ef]int[/color][color=#f8f8f2] [/color][color=#a6e22e]main[/color][color=#f8f8f2]([/color][color=#66d9ef]int[/color][color=#f8f8f2] [/color][color=#fd971f]argc[/color][color=#f8f8f2], [/color][color=#66d9ef]char[/color][color=#f8f8f2] [/color][color=#f92672]**[/color][color=#fd971f]argv[/color][color=#f8f8f2])[/color][color=#f8f8f2]{[/color][color=#f8f8f2]rotator_client->[/color][color=#a6e22e]setServer[/color][color=#f8f8f2]([/color][color=#e6db74]"localhost"[/color][color=#f8f8f2], [/color][color=#ae81ff]7624[/color][color=#f8f8f2]);[/color][color=#f8f8f2]rotator_client->[/color][color=#a6e22e]watchDevice[/color][color=#f8f8f2](arguments.device_name);[/color][color=#f8f8f2]rotator_client->[/color][color=#a6e22e]connectServer[/color][color=#f8f8f2]();[/color] [color=#f8f8f2]cout [/color][color=#f92672]<<[/color][color=#f8f8f2] [/color][color=#e6db74]"Press any key to terminate the client.[/color][color=#ae81ff]\n[/color][color=#e6db74]"[/color][color=#f8f8f2];[/color][color=#a6e22e]std[/color][color=#f8f8f2]::cin.[/color][color=#a6e22e]ignore[/color][color=#f8f8f2](); // <---------- what should I replace this line with?
// a while loop?[/color] [color=#f8f8f2]rotator_client->[/color][color=#a6e22e]disconnectServer[/color][color=#f8f8f2]();[/color][color=#f8f8f2]}[/color]


Pedram replied to the topic 'SBIG ALUMA 47-10' in the forum. 3 years ago

Thanks for your reply Jasem. I didn't find anything other than the arm64.deb [1] that Adam Robichaud [2] sent to you in the diffractionlimited forum post [3]. Is there any way we can help? Or should we just be patient and wait for a response? :(

[1] www.dropbox.com/s/4dt74ojpfdf2y8x/dlapi_1.3.5.0_arm64.deb?dl=0
[2] forum.diffractionlimited.com/members/adam-robichaud.6/
[3] forum.diffractionlimited.com/threads/linux-sdk.8060/#post-43150


Pedram created a new topic ' SBIG ALUMA 47-10' in the forum. 3 years ago

I noticed this discussion on diffraction limited forum asking for SBIG ALUMA CCD Series Linux SDK. Are you planning on releasing an update in the INDI SBIG 3rd party repository so that ALUMA users can drive this CCD with INDI-friendly clients? It would be a huge relief to use ALUMA drived by INDI in RPi ARM64.


Reading the FindSBIG.cmake file I found out about libsbigudrv. So:

$ sudo apt-get install libsbigudrv-dev
The output:
[Warning: Spoiler!]
And voila, no problems after this. Compiled and installed 'indi-sbig' successfully.


Hi all. I am using a x86_64 system and still I can not build the SBIG CCD driver.

I took the steps on indilib website for installing SBIG CCDs , to be specific:

$ sudo add-apt-repository ppa:mutlaqja/ppa
$ sudo apt-get update
$ sudo apt-get install indi-sbig

But when I try to run the SBIG service in KStars, it crashes complaining it cannot find the libsbig.so.4 file. Log file is attached to this reply. I'll also put the contents at the end of this reply.

File Attachment:

File Name: log_12-34-10_2021-01-31.txt
File Size: 5 KB

So then I tried installing SBIG from indi-3rdparty github repository . I tried installing only the SBIG driver, so here are the steps I took.
  1. Installed the INDI core library with git clone and cmake as instructed. Perfect success.
  2. Cloned the INDI 3rd party drivers github repository
  3. Followed the instructions for building the INDI 3rd party drivers individually like:
    $ mkdir -p ~/Projects/build/indi-sbig
    $ cd ~/Projects/build/indi-sbig
    $ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ~/Projects/indi-3rdparty/indi-sbig
    And got the error:

    -- Found CFITSIO: /usr/lib/x86_64-linux-gnu/libcfitsio.so
    CMake Error at /home/ino/apps/indi-3rdparty/cmake_modules/FindSBIG.cmake:44 (message):
      SBIG not found.  Please install SBIG Library http://www.indilib.org
    Call Stack (most recent call first):
      CMakeLists.txt:14 (find_package)
    -- Configuring incomplete, errors occurred!
    See also "/myPath/indi-sbig/CMakeFiles/CMakeOutput.log".

    Also I put the cmake log contents at the end of the reply and in the attachments.

    File Attachment:

    File Name: CMakeOutput_2021-01-31-2.log
    File Size: 43 KB

What should I do next? Thanks in advance.

Kstars version details:
[Warning: Spoiler!]

CPU architecture details:
[Warning: Spoiler!]

KStars log file contents:
[Warning: Spoiler!]

CMakeOutput.log contents:
[Warning: Spoiler!]


Actually Jasem has pointed this out in this github isuue . This worked fine for me too. I had to manually remove some indi-related left-overs from previous installations.


It looks like I had to delete previous libraries **manually**. A simple reinstall did not work for me. Maybe that is because all indi-related libraries were not removed automatically.


Hello, I am copying this from the github issue opened up with the same subject. Any help would be appreciated. Thanks in advance.

I tried the walkthrough on pip website since it is the recommended method for Ubuntu users.
This includes installing all prerequisites calling: `sudo apt-get install python-setuptools python-dev libindi-dev swig`
Then I get a _successful_ install of <strong>pyindi-client-0.2.6</strong> using _pip3_ calling: <code>sudo -H pip3 install pyindi-client</code>
But as soon as I try to import <strong>PyIndi</strong> the python instance crashes with the message: segmentation fault (core dumped)
I tried reinstalling the dependencies, but no luck.
Also, I checked the package calling: `pip3 check pyindi-client` and I got the response _No broken requirements found_
Then, after reading the stackoverflow question: [python tracing a segmentation fault](stackoverflow.com/a/2664232/6474744) I tried to get to the root of the problem using **gdb** by calling:
$ mkdir db-pyindi
$ cd db-pyindi
$ echo "import PyIndi" > import-pyindi.py
$ gdb python3
GNU gdb (Ubuntu 8.1-0ubuntu3.2)
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python3...(no debugging symbols found)...done.
<code>(gdb) run import-pyindi.py</code>
Starting program: /usr/bin/python3 import-pyindi.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff54232b9 in GlobalError::PushToStack() ()
from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0
[Warning: Spoiler!]
After hours of search, this was as far as I could go right now. Any help would be appreciated.