Raspberry PI support...

Tonio Kroeger tonio.kroeger1903 at gmail.com
Thu Sep 10 09:01:05 BST 2020


> For the second step I had no idea what paths to configure for what config
file. Anyway, from your mail I concluded I can do without the steps 2 and 3.

I found the paths. It started running now. Sorry for producing
unnecessary traffic. (For my next steps I assume /usr/lib/qt5/ is my
"qt-path" and not something unter /opt)

-TK

On Thu, Sep 10, 2020 at 9:27 AM Tonio Kroeger <tonio.kroeger1903 at gmail.com>
wrote:

> Hi,
>
> thanks a lot! I
>
> From the git-md-readme: to setup computer you need to:
>
>    - run as root the "preparehost" script for your operating system.
>    - configure paths to use in config file.
>    - run the installdeps script and take a coffee.
>
> I ran sudo ./preparehost-raspberryos.sh and it worked fine.
> For the second step I had no idea what paths to configure for what config
> file. Anyway, from your mail I concluded I can do without the steps 2 and 3.
>
> Unfortunately when compiling digikam I get
>
> ./bootstrap.linux
> qtpaths: could not exec '/usr/lib/qt5/bin/qtpaths': No such file or
> directory
> FAILED COMMAND: QT_INSTALL_PREFIX=`qtpaths --install-prefix`
>
> This somehow reminds me of the "configure path" above. So I am missing
> something here. I tried hard but I have no clue. Seems to be some general
> configuration in the sense of "where is qt". It is probably absolutely
> obvious for you folks but for me who never came in touch with qt I do not
> even know where to search for a solution...
>
> Thanks
>
> TK
>
> On Mon, Sep 7, 2020 at 10:24 AM Gilles Caulier <caulier.gilles at gmail.com>
> wrote:
>
>> Hi,
>>
>> On the PI there is nothing special to customize in the configuration,
>> you need only to install package with apt-get, typically this list :
>>
>>
>> https://github.com/cgilles/digikam-install-deps/blob/master/preparehost-raspberryos.sh
>>
>> From this list you don't need to remove something (see the bottom of
>> this file). The script is used to also recompile the mast version of
>> Qt, but you can use the PI based OS packages as well.
>>
>> digiKam use a lots of memory and CPU computations. My PI is the last
>> version with 8Gb and 4 cores. I recommend using this model. You can
>> use a 4Gb version if your collection is not too big....
>>
>> To host collection use an external SSD of course, connected on USB3
>> port. It work like a charm.
>>
>> Best
>>
>> Gilles Caulier
>>
>>
>> Le lun. 7 sept. 2020 à 03:22, Tonio Kroeger
>> <tonio.kroeger1903 at gmail.com> a écrit :
>> >
>> > Hi Gilles,
>> >
>> > that is great news! Can you give a hint/link to what are the
>> prerequisites on the raspi? I really struggled with it. Installed a lot of
>> stuff I had no idea what it was. In the end my (headless) raspi did not
>> boot anymore...
>> >
>> > Would be absolutely great to have digikam on the raspi!
>> >
>> > Thanks
>> >
>> > TK
>> >
>> > On Sun, Jun 7, 2020 at 11:27 AM Gilles Caulier <
>> caulier.gilles at gmail.com> wrote:
>> >>
>> >> 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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20200910/bd56dc0f/attachment-0001.htm>


More information about the Digikam-devel mailing list