Raspberry PI support...
Gilles Caulier
caulier.gilles at gmail.com
Sun Jun 7 10:27:11 BST 2020
Hi all,
I bought the last PI version 4 B, with 4 core ARM 64 bits and 8Gb of RAM.
compared to older PI 3 mono core 1 Gb, this version rock really and
fully suitable with Plasma desktop.
Compared to version 3, version 4 compiles the whole digiKam from
scratch in less than one hour. Under version 3, it's more than 10
hours....
Expected for the Opengl API, all compile fine. I will investigate why
libgl API do not export right functions, even if all include files are
installed...
I also made a small patch to compile Exiv2 under ARM. I PR my patch
but, as usual, it's always complicated with Robin to propose changes
in the Exiv2 project even if the patch is very small.. I think the
problem is a human one...
https://github.com/Exiv2/exiv2/pull/1231
digiKam under ARM report alignment of data warnings, especially with
DImg API, like this :
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp: In member
function ‘Digikam::DImg Digikam::DImg::smoothScaleClipped(int, int,
int, int, int, int) const’:
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:231:81:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘ullong*’ {aka
‘long long unsigned int*’} increases required alignment of target type
[-Wcast-align]
dimgScaleAARGBA16(scaleinfo,
reinterpret_cast<ullong*>(buffer.bits()),
^
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:237:80:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘ullong*’ {aka
‘long long unsigned int*’} increases required alignment of target type
[-Wcast-align]
dimgScaleAARGB16(scaleinfo,
reinterpret_cast<ullong*>(buffer.bits()),
^
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:246:77:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘uint*’ {aka
‘unsigned int*’} increases required alignment of target type
[-Wcast-align]
dimgScaleAARGBA(scaleinfo, reinterpret_cast<uint*>(buffer.bits()),
^
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:252:76:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘uint*’ {aka
‘unsigned int*’} increases required alignment of target type
[-Wcast-align]
dimgScaleAARGB(scaleinfo, reinterpret_cast<uint*>(buffer.bits()),
^
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp: In member
function ‘Digikam::DImg Digikam::DImg::smoothScaleSection(int, int,
int, int, int, int) const’:
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:338:81:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘ullong*’ {aka
‘long long unsigned int*’} increases required alignment of target type
[-Wcast-align]
dimgScaleAARGBA16(scaleinfo,
reinterpret_cast<ullong*>(buffer.bits()),
^
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:346:80:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘ullong*’ {aka
‘long long unsigned int*’} increases required alignment of target type
[-Wcast-align]
dimgScaleAARGB16(scaleinfo,
reinterpret_cast<ullong*>(buffer.bits()),
^
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:358:66:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘uint*’ {aka
‘unsigned int*’} increases required alignment of target type
[-Wcast-align]
reinterpret_cast<uint*>(buffer.bits()),
^
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:367:65:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘uint*’ {aka
‘unsigned int*’} increases required alignment of target type
[-Wcast-align]
reinterpret_cast<uint*>(buffer.bits()),
^
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp: In function
‘Digikam::DImgScale::DImgScaleInfo*
Digikam::DImgScale::dimgCalcScaleInfo(const Digikam::DImg&, int, int,
int, int, bool)’:
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:521:80:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘ullong*’ {aka
‘long long unsigned int*’} increases required alignment of target type
[-Wcast-align]
isi->ypoints16 =
dimgCalcYPoints16(reinterpret_cast<ullong*>(img.bits()), img.width(),
img.height(), sch);
^
/home/gilles/Documents/7.x/core/libs/dimg/dimg_scale.cpp:526:76:
warning: cast from ‘uchar*’ {aka ‘unsigned char*’} to ‘uint*’ {aka
‘unsigned int*’} increases required alignment of target type
[-Wcast-align]
isi->ypoints =
dimgCalcYPoints(reinterpret_cast<uint*>(img.bits()), img.width(),
img.height(), sch);
Voilà, work in progress
Gilles caulier
More information about the Digikam-devel
mailing list