Compiling nightly on macOS

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?

Maybe there is a thread-safety issue in the current version or an openmp issue with your compiler? I’ve seen some occasional hangs when there is a lot of I/O involved, but it was on a slow computer and in your case preprocessing is going fine.
@rbarbera: Can you try with another compiler, maybe with the stable version if it’s not already the case?
Thank you

Now the latest master commit are not buildable. One macro is undefined

io/conversion.c:61:22: error: function-like macro 'LIBRAW_MAKE_VERSION' is not defined
#if LIBRAW_VERSION > LIBRAW_MAKE_VERSION(0, 19, 5)
                     ^
1 error generated.

It is on my machine and on the pipelines too.
Strange.

I can not find it

➜ grep -r LIBRAW_MAKE_VERSION *
src/io/image_formats_libraries.c:#if LIBRAW_VERSION < LIBRAW_MAKE_VERSION(0, 18, 0)
src/io/conversion.c:#if LIBRAW_VERSION > LIBRAW_MAKE_VERSION(0, 19, 5)
➜

And the most recent commits are

073f7fa7 (HEAD -> master, origin/master) Merge remote-tracking branch 'upstream/master'
23141b7c (upstream/master) Add cr3 depending of libraw version
99426c91 Fix the librtprocess build
54295bf6 Librtprocess has been released to 0.11.0
e5bad495 Minor changes in UI
f9818e4f Add new enum for error return of image opening
b47fd034 Forgot shortcuts UI

those are (obviously) the same that I can see on GitLab. Where do you have defined this macro?

this is in libraw_version.h.
An include file from the lib. But maybe you did not install libraw?

Meanwhile I’ve gone to HEAD~3 (to commit e5bad495) and was able to compile without the latest librcprocess changes. I’ve tried three compilers (all official releases): Xcode 10.3, Xcode 11.3.1 and Xcode 11.4. None of them worked, the process always hangs when I use more that one core. The version compiled with Xcode 11.4 crashed one. I’ve attached the error trace. Perhaps there are some valid information there

siri report.txt (3.3 KB)

It could be something related to homebrew. I don’t know. App compiled without homebrew has no issue on my side.

I’ve used homebrew now to install libraw (perhaps a check in autogen.sh could be added). Now the app doesn’t compiles with Xcode 11.4 or Xcode 11.3.1 (the two more recent releases from Apple).

output-xcode11.4.txt (325.6 KB)

It only compiles with Xcode 10.3 (that’s more than a year old and doesn’t have support for the macOS SDK 10.15)

Anyway, the version compiled with Xcode 10.3 and including libraw and the most up to date code, keeps hanging when used with more that 1 core :slight_smile:

About the homebrew interferece: I’m using homebrew to install dependencies because is the only documented way :slight_smile:. Are there any other script to install all the dependencies to build? I’ll be very happy to use it.

By the way, please take all this messages as a collaboration intent, not as a criticism. I’m more than happy with the work you are doing with SiriL, it’s a wonderful tool with a powerful and collaborative community behind. I only want to help (if I can) on building and test on the macOS platform.

Regards

A check exists in the configure step.

These is one, the one I used but not documented and really fragile. This method uses jhbuild and need to be on a machine that does not have homebrew.

No problem.

In my last commits I should have fixed the issue you had with compilation.

Thanks!

1 Like