×

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

Bi-monthly release with minor bug fixes and improvements

Ekos on Mac OS X ?

  • Posts: 211
  • Thank you received: 23

Replied by Jamie Smith on topic Ekos on Mac OS X ?

OK, side note -
It looks like the "got no stars" error is coming from libindi in the ccd sim - not from kstars. :

indi/libindi/drivers/ccd/ccd_simulator.cpp
729: IDMessage(getDeviceName(),"Got no stars, is gsc installed with appropriate environment variables set ??");
7 years 6 months ago #11972
The topic has been locked.
  • Posts: 2885
  • Thank you received: 819

Replied by Rob Lancaster on topic Ekos on Mac OS X ?


Right, none of the errors that i saw last night trying stephane's app on my wife's computer actually came from kstars other than the one lying to me and saying it could nor run because I am not using sierra. Not sure if I made that clear. The lib usb issue was because of a dependency of indiserver's drivers.

For GSC, one big thing that makes it different than xplanet or indiserver is that I am not sure kstars does anything with it. It is probably just files that ccd simulator needs to find in order to simulate an observing session. So it could probably be fixed by setting an environment variable or by putting gsc in a specific location relative to indiserver and its drivers. Sorry, I havent looked into that yet.
7 years 6 months ago #11974
The topic has been locked.
  • Posts: 2885
  • Thank you received: 819

Replied by Rob Lancaster on topic Ekos on Mac OS X ?

One thing we might want to do is make gsc an optional install, due to its size.

One way to accomplish this would be to have two versions, one with embedded gsc and one without
Last edit: 7 years 6 months ago by Rob Lancaster.
7 years 6 months ago #11975
The topic has been locked.
  • Posts: 82
  • Thank you received: 9

Replied by Adam on topic Ekos on Mac OS X ?


That's right.
As a hint for Rob maybe: I got it working for me by adding my GSCDAT to the process environment for the indiserver process in the kstars source code (in servermanager.cpp). In case of bundling gsc with kstars, the path of course has to be modified:
--- a/kstars/indi/servermanager.cpp
+++ b/kstars/indi/servermanager.cpp
@@ -83,9 +83,9 @@ bool ServerManager::start()
         else if(indiServerDir.length()>10)
             indiServerDir=Options::indiServer().mid(0,Options::indiServer().length()-10);
         QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
-        QStringList envlist = env.toStringList();
-        envlist.replaceInStrings(QRegularExpression("^(?i)PATH=(.*)"), "PATH=/usr/bin:/usr/local/bin:" + driversDir + ":" + indiServerDir + ":\\1");
-        serverProcess->setEnvironment(envlist);
+        env.insert("PATH", "/usr/local/bin:/usr/bin:" + driversDir + ":" + indiServerDir);
+        env.insert("GSCDAT", QDir::homePath() + "/Projects/gsc");
+        serverProcess->setProcessEnvironment(env);
         #endif
     }
7 years 6 months ago #11976
The topic has been locked.
  • Posts: 2885
  • Thank you received: 819

Replied by Rob Lancaster on topic Ekos on Mac OS X ?


Yes this is very similar to what I was doing for the other programs (klauncher, indiserver, astrometry) to make sure they get the right environment to launch. If we want to bundle it, it is as simple as giving it the relative path from the application executable, just like I did for them. Right now I am fixing the night color mode bug that I finally figured out how to solve in a decent way, but I can do this too and submit both to Jasem today.
7 years 6 months ago #11977
The topic has been locked.
  • Posts: 2885
  • Thank you received: 819

Replied by Rob Lancaster on topic Ekos on Mac OS X ?

Ok upon rereading my post, I don't think I was completely clear, that code Adam posted *IS* actually the code that I wrote to make the indiserver work and get the right environment variables. And also, Adam you are setting the environment variable correctly. But the one thing that is missing is the code that I used to set the path to the indiserver relative to the application directory If it is bundled which is what I was referring to. But first we should decide if GSC belongs in the User directory, the data directory, or in the app bundle. Perhaps this is more clear.
Last edit: 7 years 6 months ago by Rob Lancaster.
7 years 6 months ago #11978
The topic has been locked.
  • Posts: 2257
  • Thank you received: 223

Replied by Gonzothegreat on topic Ekos on Mac OS X ?

OK, so after the emerge, you would need to run the following command:
otool -L Applications/KDE/kstars.app/Contents/MacOS/kstars
This will list all the libs.

You will have to modify the path off two libraries to end up with:
This is done with the following tool: install_name_tool
The libraries are placed in the Frameworks folder.

You will also have to run the otool / install_name_tool on the: libindidriver.1.dylib


Same apply to the indi_simulator_*
pay attention to the /../../ as the path is important.



Now, we still have the libusb path issue which I cannot crack !!!! grrrrrrrrr
7 years 6 months ago #11980
The topic has been locked.
  • Posts: 211
  • Thank you received: 23

Replied by Jamie Smith on topic Ekos on Mac OS X ?

So, the premise here is that we need to copy these libraries in to the application frameworks folder, then tell the app to look there instead?

I can probably automate that pretty well, except I just broke my build. Let me rebuild and see if I can suss this out.
7 years 6 months ago #11981
The topic has been locked.
  • Posts: 2885
  • Thank you received: 819

Replied by Rob Lancaster on topic Ekos on Mac OS X ?


Yes, that is the premise. When all the libraries are at relative paths to the executable and the ones that need to be static builds are static, and after we work out any remaining issues, we will have an app that all you have to do is drag and drop and everything will work.

I am almost done with the night color theme. I plan to work on the gsc issue next. Do we want to tell kstars to let indiserver know the gsc folder is in the user's data folder? I think that is the best plan. I can do that very easily. If we do that, Jamie, that's where your script should put the gsc folder instead, in the users data folder rather than in the app bundle.
7 years 6 months ago #11982
The topic has been locked.
  • Posts: 211
  • Thank you received: 23

Replied by Jamie Smith on topic Ekos on Mac OS X ?


I think that would work great- I can make it install the GSC stuff wherever you want it. With stuff pathed relative to the application root it doesn't matter where the app is, either.
7 years 6 months ago #11983
The topic has been locked.
  • Posts: 2257
  • Thank you received: 223

Replied by Gonzothegreat on topic Ekos on Mac OS X ?

I agree, it's the best plan, the 'data' folder is where we should stick everything we really need.
7 years 6 months ago #11984
The topic has been locked.
  • Posts: 211
  • Thank you received: 23

Replied by Jamie Smith on topic Ekos on Mac OS X ?

I want to make sure that I get this, so bear with me (I hope the quoting all works!)-

otool -L Applications/KDE/kstars.app/Contents/MacOS/kstars|egrep "libcfitsio|libindi"
gives me
/usr/local/opt/cfitsio/lib/libcfitsio.5.dylib (compatibility version 5.0.0, current version 5.3.39)
	@rpath/libindi.1.dylib (compatibility version 1.0.0, current version 1.3.0)

But - how do I know that it is just those two that I have to fix? is it because they:
1) aren't a qt5 path
2) aren't in /usr/local/
3) aren't in the ${KSTARS_DIR}
4) based on below - maybe also filter out KF5 as well?

If so, then maybe I need to do all that meet the above- which, in my case at least now, is:
otool -L Applications/KDE/kstars.app/Contents/MacOS/kstars|egrep -v "qt5|${KSTARS_DIR}|/usr/lib/"
Applications/KDE/kstars.app/Contents/MacOS/kstars:
	/usr/local/opt/cfitsio/lib/libcfitsio.5.dylib (compatibility version 5.0.0, current version 5.3.39)
	@rpath/libindi.1.dylib (compatibility version 1.0.0, current version 1.3.0)
	/usr/local/opt/libraw/lib/libraw.15.dylib (compatibility version 16.0.0, current version 16.0.0)
(note that I also show libraw)

Again - where did the list come from? If I can generate the list then we won't have to change it every time we add something.

I see the 2 or 3 from the first otool filter, and a few more from the later otool against libindidriver, which accounts for:
  • libusb-1.0.0.dylib
  • libnova-0.15.0.dylib
  • libcfitsio.5.dylib
  • libcfitsio.5.dylib
  • libindi.1.dylib
  • libindidriver.1.dylib
but that leaves a few that I don't know why are included (libintl.8.dylib, liblzma.5.dylib, libphonon4qt5.4.dylib, libphonon4qt5experimental.4.dylib)
why just the indi_simulator ones? shouldn't we do them all?
Last edit: 7 years 6 months ago by Jamie Smith.
7 years 6 months ago #11985
The topic has been locked.
Time to create page: 0.748 seconds