current OSX Build

current master 4.7.0 + a couple of RF lensfun data from: Kameratrollet

darktable-4.7.0+1026~geb93a64560_arm64.dmg (macOS >= 11.0)
darktable-4.7.0+1026~geb93a64560_x86_64.dmg (macOS >= 10.14)

be aware: this build contains a database update so there’s no way back to 4.6.x except using a backup of your ./config/darktable/library.db

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for upcoming release: https://github.com/darktable-org/darktable/blob/master/RELEASE_NOTES.md

difference to released 4.6.1 see: [Comparing release-4.6.1…maste ](Comparing master…release-4.6.1 · darktable-org/darktable · GitHub

2 Likes

LIghttable is a bit faster in this latest version. My catalog of 70,000 photos flies with this version.

current master 4.7.0 + a couple of RF lensfun data from: Kameratrollet

darktable-4.7.0+1079~g7ebded0604_arm64.dmg (macOS >= 11.0)
darktable-4.7.0+1079~g7ebded0604_x86_64.dmg (macOS >= 10.14)

be aware: this build contains a database update so there’s no way back to 4.6.x except using a backup of your ./config/darktable/library.db

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for upcoming release: https://github.com/darktable-org/darktable/blob/master/RELEASE_NOTES.md

difference to released 4.6.1 see: [Comparing release-4.6.1…maste ](Comparing master…release-4.6.1 · darktable-org/darktable · GitHub

1 Like

current master 4.7.0 + a couple of RF lensfun data from: Kameratrollet

darktable-4.7.0+1160~gd97b4d677b_arm64.dmg (macOS >= 11.0)
darktable-4.7.0+1160~gd97b4d677b_x86_64.dmg (macOS >= 10.14)

be aware: this build contains a database update so there’s no way back to 4.6.x except using a backup of your ./config/darktable/library.db

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for upcoming release: https://github.com/darktable-org/darktable/blob/master/RELEASE_NOTES.md

difference to released 4.6.1 see: [Comparing release-4.6.1…maste ](Comparing master…release-4.6.1 · darktable-org/darktable · GitHub

current master 4.7.0 + a couple of RF lensfun data from: Kameratrollet

darktable-4.7.0+1237~gfdedc3dae2_arm64.dmg (macOS >= 11.0)
darktable-4.7.0+1237~gfdedc3dae2_x86_64.dmg (macOS >= 10.14)

be aware: this build contains a database update so there’s no way back to 4.6.x except using a backup of your ./config/darktable/library.db

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for upcoming release: https://github.com/darktable-org/darktable/blob/master/RELEASE_NOTES.md

difference to released 4.6.1 see: [Comparing release-4.6.1…maste ](Comparing master…release-4.6.1 · darktable-org/darktable · GitHub

3 Likes

Script Manager and all my LUA scripts disappeared with this last release.

1 Like

I can wait for the devs to fix it. I have confidence it will be addressed in good time.

current master 4.7.0 + a couple of RF lensfun data from: Kameratrollet

darktable-4.7.0+1291~gc82a5024e2_arm64.dmg (macOS >= 11.0)
darktable-4.7.0+1291~gc82a5024e2_x86_64.dmg (macOS >= 10.14)

be aware: this build contains a database update so there’s no way back to 4.6.x except using a backup of your ./config/darktable/library.db

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for upcoming release: https://github.com/darktable-org/darktable/blob/master/RELEASE_NOTES.md

difference to released 4.6.1 see: [Comparing release-4.6.1…maste ](Comparing master…release-4.6.1 · darktable-org/darktable · GitHub

2 Likes

current master 4.7.0 + a couple of RF lensfun data from: Kameratrollet

darktable-4.7.0+1332~geeb6ad3f8d_arm64.dmg (macOS >= 11.0)
darktable-4.7.0+1332~geeb6ad3f8d_x86_64.dmg (macOS >= 10.14)

be aware: this build contains a database update so there’s no way back to 4.6.x except using a backup of your ./config/darktable/library.db

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for upcoming release: https://github.com/darktable-org/darktable/blob/master/RELEASE_NOTES.md

difference to released 4.6.1 see: [Comparing release-4.6.1…maste ](Comparing master…release-4.6.1 · darktable-org/darktable · GitHub

2 Likes

current master 4.7.0 + a couple of RF lensfun data from: Kameratrollet

darktable-4.7.0+1367~gae10888f91_arm64.dmg (macOS >= 11.0)
darktable-4.7.0+1367~gae10888f91_x86_64.dmg (macOS >= 10.14)

not much time left to test and report issues to be fixed with the upcoming 4.8.0 release :wink:

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for upcoming release: https://github.com/darktable-org/darktable/blob/master/RELEASE_NOTES.md

difference to released 4.6.1 see: [Comparing release-4.6.1…maste ](Comparing master…release-4.6.1 · darktable-org/darktable · GitHub

2 Likes

current master 4.7.0 + a couple of RF lensfun data from: Kameratrollet

darktable-4.7.0+1383~g6617cfd29b_arm64.dmg (macOS >= 11.0)
darktable-4.7.0+1383~g6617cfd29b_x86_64.dmg (macOS >= 10.14)

not much time left to test and report issues to be fixed with the upcoming 4.8.0 release :wink:

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for upcoming release: https://github.com/darktable-org/darktable/blob/master/RELEASE_NOTES.md

difference to released 4.6.1 see: [Comparing release-4.6.1…maste ](Comparing master…release-4.6.1 · darktable-org/darktable · GitHub

2 Likes

current 4.8.x bugfix build + a couple of RF lensfun data from: Kameratrollet

darktable-4.8.0+47~g145a07dfb8_arm64.dmg (macOS >= 11.0)
darktable-4.8.0+47~g145a07dfb8_x86_64.dmg (macOS >= 10.14)

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for 4.8.x bugfix release: https://github.com/darktable-org/darktable/blob/darktable-4.8.x/RELEASE_NOTES.md

difference to released 4.8.0 see: Comparing release-4.8.0...darktable-4.8.x · darktable-org/darktable · GitHub

2 Likes

Hi, were can I find step by step instructions to properly install this. I’m a rooky on terminal commands and I tried things that didn’t work obviously. I’m more an artist profile than a developer one. I use a clean and fresh install of macOs 11.7.10 on an mpbr '14 and try to install darktable-4.8.0+47~g145a07dfb8_arm64.dmg. Thx for all help possible.
Best regards. Vince

Hi, if you are on an intel chip download the x86_64.dmg.
Doble click on the downloaded file and in the open new window drag darktable into the application folder.
Then go to the App folder double click on dt and most probably you will get a message that it can not be open because Apple cannot check… Click OK.
Go to preferences/Privacy and security and there in Security click on the “open anyway” enter your password and that is it.

current 4.8.x bugfix build + a couple of RF lensfun data from: Kameratrollet

darktable-4.8.0+58~g834e3c3a0e_arm64.dmg (macOS >= 11.0)
darktable-4.8.0+58~g834e3c3a0e_x86_64.dmg (macOS >= 10.14)

you might run it with an in-memory library via terminal:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --library :memory:
or use a separate config directory:
/Volumes/darktable/darktable.app/Contents/MacOS/darktable --configdir ~/.config/darktable_test

also keep in mind that if you don’t disable writing sidecar files these can be messed up

both packages are unsigned, you might need to allow execution via terminal: " xattr -c <path/to/application.app> "

Release notes for 4.8.x bugfix release: https://github.com/darktable-org/darktable/blob/darktable-4.8.x/RELEASE_NOTES.md

difference to released 4.8.0 see: Comparing release-4.8.0…darktable-4.8.x · darktable-org/darktable · GitHub

I am unable to import from sd card. It does not import any files.
So I stated darktable with

/Applications/darktable.app/Contents/MacOS/darktable /Volumes/Untitled/DCIM/100MSDCF/DSC00540.ARW

It opened Darktable and showed me the file in “Darkroom” but when I clicked on it to edit, it crashed. the Full output is as follows

Raj-iMac:~ raj$ /Applications/darktable.app/Contents/MacOS/darktable /Volumes/Untitled/DCIM/100MSDCF/DSC00540.ARW

(process:14911): GLib-GObject-CRITICAL **: 13:17:23.451: g_object_set: assertion ‘G_IS_OBJECT (object)’ failed

(darktable:14911): Gtk-CRITICAL **: 13:17:23.773: gtk_window_add_accel_group: assertion ‘GTK_IS_WINDOW (window)’ failed

sqlite3 error: /Users/martin/src/darktable/src/gui/presets.c:90, function dt_gui_presets_init(), query “DELETE FROM data.presets WHERE writeprotect = 1”: attempt to write a readonly database

sqlite3 error: /Users/martin/src/darktable/src/libs/modulegroups.c:1329, function _preset_retrieve_old_presets(), query “DELETE FROM data.presets WHERE operation = ‘modulelist’ AND op_version = 1”: attempt to write a readonly database

Segmentation fault: 11

Please help

Your database file data.db seams to be readonly. Check access rights !

Full disk access is given to Darktable following is the import part debug

38.4926 [sql] /Users/martin/src/darktable/src/views/map.c:2975, function _view_map_center_on_image_list(): prepare “SELECT MIN(latitude), MAX(latitude), MIN(longitude), MAX(longitude), COUNT() FROM main.images AS i JOIN memory.collected_images AS l ON l.imgid = i.id WHERE latitude NOT NULL AND longitude NOT NULL"
38.4927 [sql] /Users/martin/src/darktable/src/libs/duplicate.c:279, function _lib_duplicate_init_callback(): prepare “SELECT i.version, i.id, m.value FROM images AS i LEFT JOIN meta_data AS m ON m.id = i.id AND m.key = ?3 WHERE film_id = ?1 AND filename = ?2 ORDER BY i.version”
38.4969 [add_job] 0 | 38.4969 import | queue: 0 | priority: 0
38.4969 [run_job+] 06 430768508.964523 38.4969 import | queue: 0 | priority: 4
38.5228 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.5228 [import_session] Failed to get session path.
38.5229 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.5229 [import_session] Failed to get session path.
38.5229 [import_session] Using filename DSC00536.ARW.
38.5462 [import_from] failed to write file
38.5641 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.5641 [import_session] Failed to get session path.
38.5642 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.5642 [import_session] Failed to get session path.
38.5642 [import_session] Using filename DSC00537.ARW.
38.5834 [import_from] failed to write file
38.6136 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.6136 [import_session] Failed to get session path.
38.6137 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.6137 [import_session] Failed to get session path.
38.6137 [import_session] Using filename DSC00538.ARW.
38.6199 [sql] /Users/martin/src/darktable/src/common/collection.c:922, function dt_collection_get_selected_count(): prepare "SELECT COUNT(
) FROM main.selected_images”
38.6262 [lighttable] expose took 0.0000 sec
38.6407 [sql] /Users/martin/src/darktable/src/common/collection.c:889, function _dt_collection_compute_count(): prepare “SELECT COUNT(DISTINCT sel.id) FROM (SELECT mi.id, filename, version FROM main.images AS mi WHERE (flags & 256) != 256 AND (( (film_id IN (SELECT id FROM main.film_rolls WHERE folder LIKE ‘/Volumes/HackSSD/A7C2/2024-06-10’))) AND ( (1=1)))) AS sel ORDER BY filename, version ASC LIMIT ?1, ?2”
38.6433 [import_from] failed to write file
38.6616 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.6616 [import_session] Failed to get session path.
38.6617 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.6617 [import_session] Failed to get session path.
38.6617 [import_session] Using filename DSC00539.ARW.
38.6855 [import_from] failed to write file
38.7065 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.7065 [import_session] Failed to get session path.
38.7066 [import_session] failed to create session path /Volumes/HackSSD/A7C2/2024-07-19.
38.7066 [import_session] Failed to get session path.
38.7066 [import_session] Using filename DSC00540.ARW.
38.7257 [import_from] failed to write file
38.7318 [run_job-] 06 430768509.199410 38.7318 import | queue: 0 | priority: 4
38.7454 [sql] /Users/martin/src/darktable/src/common/collection.c:889, function _dt_collection_compute_count(): prepare “SELECT COUNT(DISTINCT sel.id) FROM (SELECT mi.id, filename, version FROM main.images AS mi WHERE (flags & 256) != 256 AND (( (film_id IN (SELECT id FROM main.film_rolls WHERE folder LIKE ‘/Volumes/HackSSD/A7C2/2024-06-10’))) AND ( (1=1)))) AS sel ORDER BY filename, version ASC”
38.7457 [sql] /Users/martin/src/darktable/src/common/collection.c:922, function dt_collection_get_selected_count(): prepare “SELECT COUNT() FROM main.selected_images"
38.7457 [sql] /Users/martin/src/darktable/src/dtgtk/thumbtable.c:251, function _thumb_get_rowid(): prepare “SELECT rowid FROM memory.collected_images WHERE imgid=274”
38.7458 [sql] /Users/martin/src/darktable/src/common/collection.c:935, function dt_collection_get_collected_count(): prepare "SELECT COUNT(
) FROM memory.collected_images”
38.7458 [sql] /Users/martin/src/darktable/src/common/collection.c:935, function dt_collection_get_collected_count(): prepare “SELECT COUNT(*) FROM memory.collected_images”
38.7458 reload thumbs from db. force=1 w=1973 h=1245 zoom=4 rows=3 size=493 offset=1 centering=0…
38.7458 [sql] /Users/martin/src/darktable/src/dtgtk/thumbtable.c:2450, function dt_thumbtable_full_redraw(): prepare “SELECT mi.rowid, mi.imgid, si.imgid FROM memory.collected_images AS mi LEFT JOIN main.selected_images AS si ON mi.imgid = si.imgid WHERE mi.rowid>=1 LIMIT 12”
38.7458 done in 0.0000 sec 0 thumbs reloaded
38.7458 [mipmap_cache] thumbs fill 29.66/512.00 MB (5.79%)
38.7458 [mipmap_cache] float fill 0/16 slots (0.00%)
38.7458 [mipmap_cache] full fill 0/16 slots (0.00%)
38.7458 [mipmap_cache] level | near match | miss | stand-in | fetches | total rq
38.7458 [mipmap_cache] thumb | 50.00% | 50.00% | nan% | nan% | 100.00%
38.7458 [mipmap_cache] float | nan% | nan% | nan% | nan% | 0.00%
38.7458 [mipmap_cache] full | nan% | nan% | nan% | nan% | 0.00%

38.7459 [sql] /Users/martin/src/darktable/src/views/map.c:2975, function _view_map_center_on_image_list(): prepare "SELECT MIN(latitude), MAX(latitude),       MIN(longitude), MAX(longitude), COUNT(*) FROM main.images AS i  JOIN memory.collected_images AS l ON l.imgid = i.id  WHERE latitude NOT NULL AND longitude NOT NULL"
38.7460 [sql] /Users/martin/src/darktable/src/libs/duplicate.c:279, function _lib_duplicate_init_callback(): prepare "SELECT i.version, i.id, m.value FROM images AS i LEFT JOIN meta_data AS m ON m.id = i.id AND m.key = ?3 WHERE film_id = ?1 AND filename = ?2 ORDER BY i.version"
38.7488 [sql] /Users/martin/src/darktable/src/common/tags.c:1386, function dt_selected_images_count(): prepare "SELECT count(*) FROM main.selected_images"
38.7488 [sql] /Users/martin/src/darktable/src/common/tags.c:705, function dt_tag_get_attached(): prepare "SELECT COUNT(*) FROM (SELECT imgid FROM main.selected_images)"
38.7489 [sql] /Users/martin/src/darktable/src/common/tags.c:725, function dt_tag_get_attached(): prepare "SELECT DISTINCT I.tagid, T.name, T.flags, T.synonyms, COUNT(DISTINCT I.imgid) AS inb FROM main.tagged_images AS I JOIN data.tags AS T ON T.id = I.tagid WHERE I.imgid IN (SELECT imgid FROM main.selected_images) AND T.id NOT IN memory.darktable_tags GROUP BY I.tagid  ORDER by T.name"
38.7490 [sql] /Users/martin/src/darktable/src/common/tags.c:1422, function dt_tag_get_with_usage(): prepare "INSERT INTO memory.taglist (id, count)  SELECT tagid, COUNT(*)  FROM main.tagged_images  GROUP BY tagid"
38.7491 [sql] /Users/martin/src/darktable/src/common/tags.c:1386, function dt_selected_images_count(): prepare "SELECT count(*) FROM main.selected_images"
38.7491 [sql] /Users/martin/src/darktable/src/common/tags.c:1444, function dt_tag_get_with_usage(): prepare "SELECT T.name, T.id, MT.count, CT.imgnb, T.flags, T.synonyms  FROM data.tags T   LEFT JOIN memory.taglist MT ON MT.id = T.id   LEFT JOIN (SELECT tagid, COUNT(DISTINCT imgid) AS imgnb             FROM main.tagged_images              WHERE imgid IN (SELECT imgid                               FROM main.selected_images)                               GROUP BY tagid) AS CT     ON CT.tagid = T.id  WHERE T.id NOT IN memory.darktable_tags   ORDER BY T.name "
38.7492 [sql] /Users/martin/src/darktable/src/common/tags.c:1469, function dt_tag_get_with_usage(): exec "DELETE FROM memory.taglist"
38.7499 [sql] /Users/martin/src/darktable/src/common/map_locations.c:136, function dt_map_location_get_locations_by_path(): prepare "SELECT t.id, t.name, ti.count  FROM data.tags AS t  LEFT JOIN (SELECT tagid,               COUNT(DISTINCT imgid) AS count             FROM main.tagged_images             GROUP BY tagid) AS ti  ON ti.tagid = t.id  WHERE name = ?1 OR SUBSTR(name, 1, LENGTH(?2)) = ?2"
38.7500 [sql] /Users/martin/src/darktable/src/common/collection.c:889, function _dt_collection_compute_count(): prepare "SELECT COUNT(DISTINCT sel.id) FROM (SELECT mi.id, filename, version        FROM main.images AS mi                WHERE   (flags & 256) != 256  AND  (( (film_id IN (SELECT id FROM main.film_rolls WHERE folder LIKE '/Volumes/HackSSD/A7C2/2024-06-10'))) AND ( (1=1)))) AS sel ORDER BY filename, version ASC LIMIT ?1, ?2"
38.7502 [sql] /Users/martin/src/darktable/src/common/collection.c:889, function _dt_collection_compute_count(): prepare "SELECT COUNT(DISTINCT sel.id) FROM (SELECT mi.id, filename, version        FROM main.images AS mi                WHERE   (flags & 256) != 256  AND  (( (film_id IN (SELECT id FROM main.film_rolls WHERE folder LIKE '/Volumes/HackSSD/A7C2/2024-06-10'))) AND ( (1=1)))) AS sel ORDER BY filename, version ASC LIMIT ?1, ?2"
38.7503 [sql] /Users/martin/src/darktable/src/common/collection.c:922, function dt_collection_get_selected_count(): prepare "SELECT COUNT(*) FROM main.selected_images"
38.7503 [sql] /Users/martin/src/darktable/src/common/collection.c:2675, function dt_collection_update_query(): prepare "DELETE FROM main.selected_images WHERE imgid NOT IN (SELECT DISTINCT sel.id  FROM (SELECT mi.id, filename, version        FROM main.images AS mi                WHERE   (flags & 256) != 256  AND  (( (film_id IN (SELECT id FROM main.film_rolls WHERE folder LIKE '/Volumes/HackSSD/A7C2/2024-06-10'))) AND ( (1=1)))) AS sel ORDER BY filename, version ASC LIMIT ?1, ?2)"
38.7504 [sql] /Users/martin/src/darktable/src/common/collection.c:178, function dt_collection_memory_update(): exec "DELETE FROM memory.collected_images"
38.7504 [sql] /Users/martin/src/darktable/src/common/collection.c:183, function dt_collection_memory_update(): exec "DELETE FROM memory.sqlite_sequence WHERE name='collected_images'"
38.7504 [sql] /Users/martin/src/darktable/src/common/collection.c:189, function dt_collection_memory_update(): prepare "INSERT INTO memory.collected_images (imgid) SELECT DISTINCT sel.id  FROM (SELECT mi.id, filename, version        FROM main.images AS mi                WHERE   (flags & 256) != 256  AND  (( (film_id IN (SELECT id FROM main.film_rolls WHERE folder LIKE '/Volumes/HackSSD/A7C2/2024-06-10'))) AND ( (1=1)))) AS sel ORDER BY filename, version ASC LIMIT ?1, ?2"
38.7506 [sql] /Users/martin/src/darktable/src/common/collection.c:889, function _dt_collection_compute_count(): prepare "SELECT COUNT(DISTINCT sel.id) FROM (SELECT mi.id, filename, version        FROM main.images AS mi                WHERE   (flags & 256) != 256  AND  (( (film_id IN (SELECT id FROM main.film_rolls WHERE folder LIKE '/Volumes/HackSSD/A7C2/2024-06-10'))) AND ( (1=1)))) AS sel ORDER BY filename, version ASC"
38.7507 [sql] /Users/martin/src/darktable/src/common/collection.c:922, function dt_collection_get_selected_count(): prepare "SELECT COUNT(*) FROM main.selected_images"
38.7507 [sql] /Users/martin/src/darktable/src/dtgtk/thumbtable.c:235, function _thumb_get_imgid(): prepare "SELECT imgid FROM memory.collected_images WHERE rowid=1"
38.7507 [sql] /Users/martin/src/darktable/src/common/collection.c:935, function dt_collection_get_collected_count(): prepare "SELECT COUNT(*) FROM memory.collected_images"
38.7507 [sql] /Users/martin/src/darktable/src/common/collection.c:935, function dt_collection_get_collected_count(): prepare "SELECT COUNT(*) FROM memory.collected_images"
38.7507 reload thumbs from db. force=1 w=1973 h=1245 zoom=4 rows=3 size=493 offset=1 centering=0...
38.7508 [sql] /Users/martin/src/darktable/src/dtgtk/thumbtable.c:2450, function dt_thumbtable_full_redraw(): prepare "SELECT mi.rowid, mi.imgid, si.imgid FROM memory.collected_images AS mi LEFT JOIN main.selected_images AS si   ON mi.imgid = si.imgid WHERE mi.rowid>=1 LIMIT 12"
38.7508 done in 0.0001 sec 0 thumbs reloaded
38.7508 [mipmap_cache] thumbs fill 29.66/512.00 MB (5.79%)
38.7508 [mipmap_cache] float fill 0/16 slots (0.00%)
38.7508 [mipmap_cache] full  fill 0/16 slots (0.00%)
38.7508 [mipmap_cache] level | near match | miss | stand-in | fetches | total rq
38.7508 [mipmap_cache] thumb |  50.00% |  50.00% |    nan%  |    nan% | 100.00%
38.7508 [mipmap_cache] float |    nan% |    nan% |    nan%  |    nan% |   0.00%
38.7508 [mipmap_cache] full  |    nan% |    nan% |    nan%  |    nan% |   0.00%


38.7508 [sql] /Users/martin/src/darktable/src/views/map.c:2975, function _view_map_center_on_image_list(): prepare "SELECT MIN(latitude), MAX(latitude),       MIN(longitude), MAX(longitude), COUNT(*) FROM main.images AS i  JOIN memory.collected_images AS l ON l.imgid = i.id  WHERE latitude NOT NULL AND longitude NOT NULL"
38.7509 [sql] /Users/martin/src/darktable/src/libs/duplicate.c:279, function _lib_duplicate_init_callback(): prepare "SELECT i.version, i.id, m.value FROM images AS i LEFT JOIN meta_data AS m ON m.id = i.id AND m.key = ?3 WHERE film_id = ?1 AND filename = ?2 ORDER BY i.version"
38.7827 [sql] /Users/martin/src/darktable/src/common/collection.c:922, function dt_collection_get_selected_count(): prepare "SELECT COUNT(*) FROM main.selected_images"
38.7891 [lighttable] expose took 0.0000 sec
38.8000 [sql] /Users/martin/src/darktable/src/common/collection.c:889, function _dt_collection_compute_count(): prepare "SELECT COUNT(DISTINCT sel.id) FROM (SELECT mi.id, filename, version        FROM main.images AS mi                WHERE   (flags & 256) != 256  AND  (( (film_id IN (SELECT id FROM main.film_rolls WHERE folder LIKE '/Volumes/HackSSD/A7C2/2024-06-10'))) AND ( (1=1)))) AS sel ORDER BY filename, version ASC LIMIT ?1, ?2"
38.8716 [lighttable] expose took 0.0000 sec
43.7500 [lighttable] expose took 0.0000 sec
47.2009 [lighttable] expose took 0.0000 sec

285.7114 [lighttable] expose took 0.0000 sec
287.9864 [lighttable] expose took 0.0000 sec

This has nothing to do with the error message: attempt to write a readonly database
Your database files are read-only.

Check the permissions in your config folder. Open terminal and do the following steps:

cd ~/.config/darktable
chmod 755 *.db

Some people have reported that the config directory itself is read-only. In that case:

sudo chown <your_username> ~./config
sudo chmod -R 755 ~.config

Then try again.