[digiKam-users] digikam on Macbook M1 ? crash

Gilles Caulier caulier.gilles at gmail.com
Sun Feb 14 12:58:46 GMT 2021


Hi,

Thanks for your help.

digiKam has been compiled for macOS using Macports since a while and
it works like a charm. I write myself 4 bash scripts fully documented
to configure and compile whole bundle contents. This includes all low
level dependencies, Qt5, KF5, and more, until the final packaging bag
using Packages  open source application.
With 7.2.0 release I make the bundles fully relocatable...

The scripts can be located here :

https://invent.kde.org/graphics/digikam/-/tree/master/project/bundles/macports

I used this scripts into a special intel computer running a Virtual
Box machine created with this jewel project to host BigSur:

https://github.com/myspaghetti/macos-virtualbox

The computer create the PKGs all the day late with current code from
git/master, to be deployed here :

https://files.kde.org/digikam/

I documented the BigSur installation under VirtualBox here :

https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/CD/ContinuousDeploy.txt

This is the workflow for Intel only macOS packages. There are 2 PKGs :
one with debug symbols, another one without...

Now for Apple Silicon support, there is 2 ways:

1/ make an universal bundle, including Intel and M1 byte codes.
2/ make a M1 only bundle.

The solution 1/ is the recommendation by Macports team for the moment,
as not all ports are fully compatible with pure Silicon supports.
Also, some packages don't need to be compiled for the Apple M1 target
to provide M1 byte code. This is the way used by the Firefox project
to compile the web browser with M1 support.

The advantage of solution : the can be compiled with an Intel
computer. M1 byte code is cross compiled with XCode.

But, not all ports are not yet ready to be compatible with M1
supports. Work is in progress...

The solution 2/ requires a Silicon based computer. This cannot be
virtualized. So you need an Apple device and test if all compile fine
with Macports, and I'm sure that it will not be the case yet.

Of course the advantage of 2/ compared to 1/ is the size of the
bundle. 1/ will be more heavy than 2/ as it includes 2 different byte
codes in the bundle.

The solution 1/ must be prefered for the moment, and later solution 2/
will be the ultimate way to make a digiKam M1 package.

So if you want to make a try :

1/ Install Xcode on your Apple Computer following the continuous
deployment document that i write.
2/ Checkout the digiKam repository from gitlab.
3/ Configure scripts to generate an macports installation of universal
ports (https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/macports/config.sh#L18).
Here "arm64" targets mean Intel+Silicon if you run script under BigSur
Intel, else only Silicon.
4/ Start to run script 01... ; 02... ; 03... ; etc.

For me the macports installation is broken after the compilation of
many ports, and stops with a ffmpeg dependency. Macports team waits
for all feedback about broken ports with Silicon target. You need to
use Macports bugzilla for that. To be registered to MAcports users
mailing list will help for guidance.

Voilà.

Gilles Caulier

Le dim. 14 févr. 2021 à 11:41, LucasLinard <lucas at linard.tech> a écrit :
>
> Hi,
> I love Digikam and would like to help building the mac ARM version if I can
> help.
> What can I do? Can you point me a direction where to start??
> Thanks
>
>
>
> --
> Sent from: http://digikam.1695700.n4.nabble.com/digikam-users-f1735189.html


More information about the Digikam-users mailing list