Compiling nightly on macOS

Sorry @lock042, I missed your message. Yes I’m compiling with clang

➜ gcc -v
Configured with: --prefix=/Applications/Xcode-10.3.app/Contents/Developer/usr --with-gxx-include-   dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin19.3.0
Thread model: posix
InstalledDir: /Applications/Xcode-10.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
1 Like

I’ve seen that on the master branch some commits tries to fix de Debayer configuration option working with Ekos. Unfortunately after download those changes and compile the app again, I can’t see any change. The problem remains.

Which problem?
The only issue we were aware and we have fixed is when there’s an offset in FITS header for debayer process.
Everything else is OK on my side.
I think your understanding of the option “Debayer in up-bottom” orientation is not correct.

When you open preferences and select the compatibility check box on debayer (to use Ekos saved fits), the option is not persisted. If you open preferences dialog again the opción is no checked. Obviously on the next run, it’s also un he had and the debayer operation produces wrong results.

I’m not sure if you use the right glade with your compiled version, or if it is a macos bug.
But on my side it works well.

Does other options are saved ? If some option are saved (like the debayer algorithm) then it is an issue in your installation.

I know almost nothing about glade, but sure that I’ve not been bothering with it. I’ve only downloaded the most recent commits on master, autogen, compile and install Siril. Then I go to preferences and make some changes (as you suggested I’ve made also other changes, like the pattern bayer)

The I exit the app and I can see the the configuration file (~/.config/siril/siril.config) has the changes that I’ve made:

working-directory = "/Users/rlbe/Documents/Astrophoto/2020.03.01/Light";
libraw-settings : 
{
  mul_0 = 1.0;
  mul_2 = 1.0;
  bright = 1.0;
  auto = 1;
  cam_wb = 0;
  auto_wb = 0;
  user_qual = 1;
  gamm_0 = 1.0;
  gamm_1 = 1.0;
  user_black = 0;
};
debayer-settings : 
{
  ser_use_bayer_header = false;
  pattern = 3;
  compatibility = true;
  inter = 10;
  stretch = true;
  xbayeroff = 0;
  ybayeroff = 0;
};
prepro-settings : 
{
  cfa = true;
  equalize_cfa = true;
};
registration-settings : 
{
  method = 1;
};
stacking-settings : 
{
  method = 1;
  rejection = 3;
  mem_mode = 2;
  maxmem = 0.9;
  maxmem_gb = 4.0;
};
photometry-settings : 
{
  gain = 2.3;
  inner-radius = 20.0;
  outer-radius = 30.0;
  minval = 0;
  maxval = 65535;
};
misc-settings : 
{
  swap_directory = "/var/folders/xy/mksl4zq557ggryg9tl_y8yqjqtkb6c/T/";
  extension = ".fits";
  confirm = false;
  show_preview = true;
  theme = 0;
  remember_winpos = true;
  scripts_paths = ( "/usr/local/share/siril/scripts", "/Users/rlbe/.siril/scripts", "/Users/rlbe/siril/scripts" );
  main_w_pos = ( 210, 65, 1299, 771 );
  is_maximized = false;
};

Then I open the app again, open the preferences and all my previous options are gone

If you need any other test on macOS, please ask me. I’m more than ready to help :slight_smile:

By the way, if I try to debayer an image, the saved values are used

log: Conversion: processing...
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file C_2017_T2_PANSTARRS_Light_30_secs_001.fits, 1 layer(s), 4928x3262 pixels
log: Filter Pattern: GRBG
log: Saving FITS: file wrong_00001.fits, 3 layer(s), 4928x3262 pixels
log: Execution time: 2.39 s.

So, the problem seems related only with the dialog initialisation.

I just tried on macOS, and I don’t have the issue.
So I suspect that your installation has a problem or there is something I don’t understand.

Make sure to install the right glade by doing:

sudo make install

EDIT: it could be due to the specific installation of brew where config file are not stored in the same place, BUT I don’t understand why saving config file is working and not the reading.
You help is really needed as I don’t use brew (and I don’t want as it would break my system for the bundle)

I always run

sudo make install

After each compilation. If you have any test that you want I run, I’m ready. How can home brew interfere here? I don’t understand this relationship because I’ve only used home brew in the beginning to install dependencies

What I mean is that on my mac (at my work), I use jhbuild to compile the bundler.
This build is very fragile and I cannot install homebrew. That would be the mess and the build would not work anymore.
This is the reason why I can’t test with homebrew.
However, the only difference between homebrew and the bundle version of Siril, this is the place where is stored the file siril.config file. In the hombrew version we use the same dir than in Linux and it works well on this later. So I really don’t understand.

Could you tell me where must it be placed? I can move it manually to see if this is the case

In a non Bundle situation it is in the right place. Moreover you tell me siril wrote it in so that would say that it is working.

This is why I don’t understand why you have a problem.

I’ve refreshed the repo and now I’ve a problem with the linker when trying to build master

Undefined symbols for architecture x86_64:
"_isnanf", referenced from:
   _photometric_cc in photometric_cc.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [siril] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Using Xcode 11.3.1 on macOS 10.15.4

I’ve fixed the problem adding

#ifdef OS_OSX
#define isnanf(x) isnan(x)
#endif

at the beginning of photometric_cc.c

I will search for another fix because I don’t like it: isnan(double) is not isnanf(float)

1 Like

I’ve fixed your issue.

2 Likes

Hi @lock042 I’m still experiencing hanging each time I let Siril try to align images with more that on threads. By default on my MacBookPro siril tries to use the 8 cores. I’ve left the RAM option to use all the available memory and the behaviour is always the same: the preprocess is performed in parallel with multiple threads but as soon as the registration spawn is workers, I got my fans at full speed, the system monitor tops 700% but the process never progress.

On my logs, all that I can read is:

log: Running command: cd
log: Setting CWD (Current Working Directory) to '/Users/rlbe/Desktop/workspace/lights'
log: Running command: preprocess
Found a sequence (number 1) with base name "light_", looking for first and last indexes.
Writing sequence file light_.seq
S 'light_' 1 10 10 3 -1 3
L -1
Sequence found: light_ 1->10
Reading sequence file `light_.seq'.
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file light_001.fits, 1 layer(s), 4928x3262 pixels
bitpix for the sequence is set as 20
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file master_dark, 1 layer(s), 4928x3262 pixels
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file master_flat, 1 layer(s), 4928x3262 pixels
log: Preprocessing...
log: Normalisation value auto evaluated: 0.04
log: 85948 pixels corrected (0 + 85948)
log: Preprocessing: processing...
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file light_001.fits, 1 layer(s), 4928x3262 pixels
log: Reading FITS: file light_006.fits, 1 layer(s), 4928x3262 pixels
log: Reading FITS: file light_009.fits, 1 layer(s), 4928x3262 pixels
log: Reading FITS: file light_007.fits, 1 layer(s), 4928x3262 pixels
log: Reading FITS: file light_008.fits, 1 layer(s), 4928x3262 pixels
log: Reading FITS: file light_010.fits, 1 layer(s), 4928x3262 pixels
log: Reading FITS: file light_005.fits, 1 layer(s), 4928x3262 pixels
log: Reading FITS: file light_003.fits, 1 layer(s), 4928x3262 pixels
log: Filter Pattern: RGGB
log: Filter Pattern: RGGB
log: Filter Pattern: RGGB
log: Filter Pattern: RGGB
log: Filter Pattern: RGGB
log: Filter Pattern: RGGB
log: Filter Pattern: RGGB
log: Filter Pattern: RGGB
log: Saving FITS: file pp_light_003.fits, 3 layer(s), 4928x3262 pixels
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file light_004.fits, 1 layer(s), 4928x3262 pixels
log: Filter Pattern: RGGB
log: Saving FITS: file pp_light_005.fits, 3 layer(s), 4928x3262 pixels
log: Saving FITS: file pp_light_007.fits, 3 layer(s), 4928x3262 pixels
log: Saving FITS: file pp_light_008.fits, 3 layer(s), 4928x3262 pixels
log: Saving FITS: file pp_light_006.fits, 3 layer(s), 4928x3262 pixels
log: Saving FITS: file pp_light_010.fits, 3 layer(s), 4928x3262 pixels
log: Saving FITS: file pp_light_001.fits, 3 layer(s), 4928x3262 pixels
log: Saving FITS: file pp_light_009.fits, 3 layer(s), 4928x3262 pixels
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file light_002.fits, 1 layer(s), 4928x3262 pixels
log: Filter Pattern: RGGB
log: Saving FITS: file pp_light_004.fits, 3 layer(s), 4928x3262 pixels
log: Saving FITS: file pp_light_002.fits, 3 layer(s), 4928x3262 pixels
log: Sequence processing succeeded.
log: Execution time: 10.83 s.
log: #align lights
log: Running command: register
Found a sequence (number 1) with base name "pp_light_", looking for first and last indexes.
Found a sequence (number 2) with base name "light_", looking for first and last indexes.
Writing sequence file pp_light_.seq
S 'pp_light_' 1 10 10 3 -1 3
L -1
Sequence found: pp_light_ 1->10
seqfile 'light_.seq' already exists, not recomputing
Reading sequence file `pp_light_.seq'.
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file pp_light_001.fits, 3 layer(s), 4928x3262 pixels
bitpix for the sequence is set as -32
log: Registration: processing using method: Global Star Alignment (deep-sky)
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file pp_light_001.fits, 3 layer(s), 4928x3262 pixels
log: Reference Image:
log: Findstar: processing...
log: Found 311 stars in reference, channel #1
log: FWHMx:        6.98 "
log: FWHMy:        6.67 "
log: Global star registration: processing...
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file pp_light_008.fits, 3 layer(s), 4928x3262 pixels
log: Findstar: processing...
log: Reading FITS: file pp_light_005.fits, 3 layer(s), 4928x3262 pixels
log: Findstar: processing...
log: Reading FITS: file pp_light_003.fits, 3 layer(s), 4928x3262 pixels
log: Findstar: processing...
log: Reading FITS: file pp_light_007.fits, 3 layer(s), 4928x3262 pixels
log: Reading FITS: file pp_light_001.fits, 3 layer(s), 4928x3262 pixels
log: Findstar: processing...
log: Reading FITS: file pp_light_010.fits, 3 layer(s), 4928x3262 pixels
log: Findstar: processing...
log: Reading FITS: file pp_light_006.fits, 3 layer(s), 4928x3262 pixels
log: Findstar: processing...
log: Reading FITS: file pp_light_009.fits, 3 layer(s), 4928x3262 pixels
log: Findstar: processing...
log: Saving FITS: file r_pp_light_001.fits, 3 layer(s), 4928x3262 pixels
Read from FITS header: pix size 4.78x4.78, binning 1x1, focal 300
log: Reading FITS: file pp_light_002.fits, 3 layer(s), 4928x3262 pixels
log: Findstar: processing...

And that’s all. The only “fix” is to kill the app and start again limiting SiriL to use one 1 core.

Yes I’m using the latest commits from master. I sync with the repo once a day and try to compile and install from the current state of this master branch

Your logs look fine. Sometimes, Findstar takes too much time. Try to do it on one single image to test it.

If I choose the same folder and reduce the number of cores to 1 it works flawlessly throughout all the sequence (60 images in 8 min 45 sec). But as soon as I let more that one core actives, it hangs, mainly on find stars but it has hung almost in all sequence algorithms.

Are there any way to choose my default the number of cores?

16:49:28: Reading FITS: file r_pp_light_117.fits, 3 layer(s), 4928x3262 pixels
16:49:30: Reading FITS: file r_pp_light_118.fits, 3 layer(s), 4928x3262 pixels
16:49:32: Reading FITS: file r_pp_light_119.fits, 3 layer(s), 4928x3262 pixels
16:49:34: Reading FITS: file r_pp_light_120.fits, 3 layer(s), 4928x3262 pixels
16:49:37: Not using limits on maximum memory for stacking
16:49:37: We have 12 parallel blocks of size 815 (+2) for stacking.
16:49:37: Starting stacking...
16:51:39: Pixel rejection in channel #0: 0.208% - 0.705%
16:51:39: Pixel rejection in channel #1: 0.352% - 0.502%
16:51:39: Pixel rejection in channel #2: 0.297% - 0.227%
16:51:39: Rejection stacking complete. 60 images have been stacked.
16:51:39: Integration of 60 images:
16:51:39: Pixel combination ......... average
16:51:39: Normalization ............. additive + scaling
16:51:39: Pixel rejection ........... Winsorized sigma clipping
16:51:39: Rejection parameters ...... low=3.000 high=3.000
16:51:39: Background noise value (channel: #0): 1.498e-04
16:51:39: Background noise value (channel: #1): 1.458e-04
16:51:39: Background noise value (channel: #2): 1.511e-04
16:51:40: Saving FITS: file ../result.fits, 3 layer(s), 4928x3262 pixels
16:51:40: Stacked sequence successfully.
16:51:40: Execution time: 4 min 08 s.
16:51:40: Running command: cd
16:51:40: Setting CWD (Current Working Directory) to '/Users/rlbe/Desktop/workspace'
16:51:40: Running command: close
16:51:40: Script execution finished successfully.
16:51:40: Total execution time: 8 min 45 s.

@heckflosse , @vinvin : any idea?