Siril: Looking for a maintainer for Mac OSX package

Hello everyone.
Maybe some of you know Siril, a free and open-source software for astrophotography.
Siril runs on GNU/Linux, FreeBSD and OS X. For the later we use the homebrew package manager. It is quite cool but I have to say that I would prefer providing an .app bundle.
However, I do not have any OS X system and knowledges for building it.
So, the Siril team is now looking for a maintainer of the Mac OSX package. Would someone being interested ?
Siril is written in C and GTK+ and compiles very well on OS X.

Cheers

2 Likes

Little up.
The version 0.9.6 is now released. So any volunteers would be welcome.

Maybe we could ask @Carmelo_DrRaw if he has time to include an OSX build in his packaging efforts, or possibly @partha?

I could possibly make an attempt before the end of June, but I cannot guarantee. Otherwise, from my side this will have to be postponed to Augustā€¦

More news ASAP!

2 Likes

Iā€™ll be happy to take look Pat. Iā€™ll download the source and see what I
can do.

2 Likes

Thank you so much guys :)!!!

This is a great news.

@lock042 I am flying blind here. Do you have a tutorial somewhere that I can use to test my build? For example, what do I do after I start siril?

Something like: load 3 FITS images. Hit the compose button etc.

Thanks,
Partha

Oh sure. There is a documentation here: Siril
You can find some tutorials and/or videos.

Do not hesitate to ask me if you have some trouble.

@lock042, I have some issue and questions to discuss with you. Do you prefer to discuss here or we can take it off this board or on github?

Thanks,
Partha

As you want.
You can ask some questions here if you want.

@lock042

  1. make distclean does not work due to ./deps/kplot not having any distclean. If you want to start with fresh source you have to delete the current tree and then re-untar it.

  2. -rdynamics is not appropriate for Mac OSX and it is appropriately not used in configure. However, it still results in the warnings such as:
    (siril:94784): Gtk-WARNING **: Could not find signal handler ā€˜on_menuitem_resample_activateā€™. Did you compile with -rdynamic?

There are 13 such warnings. I can provide you with all the warnings in a burg report if you wish.

  1. Location if init file and of course the glade files are problematic and I think the code is incorrect. In main.c Lines 225 - 239 result in mangled folder names. I have fixed this on my end.

Otherwise, I seem to be OK. I donā€™t know how to test it since the atro images I dealt with recently ( coincidently, I am also having conversations with astronomers from the Lick Observatory) are FITS images.

Either way, I am happy to provide an app if you can find testers for me.

Hello @partha, thank you for your report.
1 - Right. Does ā€œmake cleanā€ is not enough ?
2 -
We do not use rdynamic of OS X. Here what we have in configure.ac:

 if test `uname` != "Darwin"; then
LDFLAGS="$LDFLAGS -rdynamic"
 fi

So the error you have is generally because a signal and a function are declared in the glade file but not in the C files.

I can see that we have in glade file:

<signal name="activate" handler="on_menuitem_resample_activate" swapped="no"/>

and in callbacks.c

void on_menuitem_resample_activate(GtkMenuItem *menuitem, gpointer user_data)

But the thing I see now is these functions are within

#ifdef OPENCV

blocks. Did you link to OPENCV ? Some libraries are not needed to compile but they are strongly recommended for using all the features.

3 - The code in the main was a patch given by an OS X user in a first attempt to build a bundle. This attempt failed. So maybe we could update the code.

Then, have you seen that in platform-specific/os-x/ you can find an OSX icon ?

If you want we can continue by email at

cyril dot richard42 at gmail dot com

Thank you so much for helping me !!

Dear you.
First, thank you for your answers.
Second, Partha did something very good !! Thank you @partha. The problem is that Siril uses the openmp library and this is a very important part of Siril computation.
However, Partha can not easily compile Siril with this option, so I would need someone that can. Maybe @Carmelo_DrRaw you could do it ?

My best regards,
Cheers.

Unfortunately my version of clang also does not support openmpā€¦ iā€™m afraid I cannot be of much help, sorry.

Regarding OpenMP on macOS, see: make macosx_bundle dylib location Ā· Issue #3824 Ā· Beep6581/RawTherapee Ā· GitHub
TL;DR: Apple ships severely outdated binaries, use Homebrew or MacPorts.

Siril is part of homebrew project: https://github.com/Homebrew/homebrew-science/blob/master/siril.rb

But for some people, install xcode (needed for homebrew) is not a good idea because of its size. It was the reason why I would like to have a bundle .app of Siril.
Is it possible to make a bundle for someone with homebrew ? If yes, how ?

Apple developed and uses GCD (Grand Central Dispatch - Wikipedia) as opposed to Openmp. If you wish to develop for the Mac, perhaps you can adopt your code to use GCD.

Thank you @partha but I dontā€™ think so. Openmp is too deeply used in our code and changing the way we use the multithread would be too complicated. Just an .app bundle while siril is running well with homebrew.