Building okboard and issues with dependencies

hi there,
i know my posts are long but i try to give a context.
i am trying to build okboard following eber42s instructions.

basically you connect to build vm with ssh, you use sb2 to config the target and install some dependencies
you copy over the sources, the language db’s and trigger his release script.

this line in the script:
fakeroot rpmbuild -ba $RPMBUILD/SPECS/basename "$spec" $buildopts

results in that
error: Failed build dependencies:
pkgconfig(Qt5Core) is needed by okboard-full-0.6.34-1.i386
pkgconfig(Qt5Gui) is needed by okboard-full-0.6.34-1.i386
pkgconfig(Qt5Qml) is needed by okboard-full-0.6.34-1.i386
pkgconfig(Qt5Quick) is needed by okboard-full-0.6.34-1.i386
pkgconfig(sailfishapp) >= 0.0.10 is needed by okboard-full-0.6.34-1.i386

i wonder why, the sailfish sdk build engine wm should already contain those dependencies or ?
i have tried to install them in sb2 but failed.
i did use this map:

and got: no provider for when i try to do somehting like:

fakeroot zypper install python3-devel qt5-qtdeclarative-qtquick-devel meego-rpm-config git fakeroot libsailfishapp-devel core qtbase5-dev

no provider of core found
same for qtbase5-dev

You could use mb2 instead of rpmbuild, it will install builddeps correctly.

mb2 -t $TARGET --specfile foo.spec prepare
3 Likes

Why are you doing it this way more exactly?

i just want to build okboard. it does not work on gs290 due to a hardcoded maxwidth setring.
i am just following the instructions given by eber42.
and while depemdencies are fixed using mb2 it does now break somewhere else.

i would just need to rebuild okb engine with 67 instead of 66 as max dwv width and replace it manually on my phone.

I am not much more clever now :slight_smile: It would help if you included the instructions you are trying to follow and link all sources if possible.

starting from here:
https://openrepos.net/content/eber42/okboard

i ended up here:
https://git.tuxfamily.org/okboard/okb-engine.git/

and here:
https://git.tuxfamily.org/okboard/okb-keyboard.git/

the ok-board contains a readme.md and i did follow the how to get it built completely

the release.sh that you need to execute also forces you to include the databases for the 3 languages that are supported out of the box.

i have written my steps here:

thanks !

in the end it is all about curve_match.cpp that contains a define that i want to change
so in okb-engine/curve/curve_match
i have no clue about libs and dlls in linux.
on windows i would have replaced the dll and done.
here i guess i need to replace some .so ?

Now I see. The build procedure is not fully covered by RPM .spec :frowning:

I was able to build it with:

TARGET=SailfishOS-4.3.0.12-armv7hl
LANGS_RPM=https://openrepos.net/sites/default/files/packages/990/okboard-full-0.6.34-1.armv7hl.rpm

mkdir okb && cd okb
git clone https://git.tuxfamily.org/okboard/okb-engine.git
git clone https://git.tuxfamily.org/okboard/okb-keyboard.git

cd okb-engine/db
curl "$LANGS_RPM" |sfdk engine exec rpm2cpio |cpio -i -d './usr/share/okboard/*.*'
mv usr/share/okboard/* .
gunzip -d *.gz

cd ../../okb-keyboard
sfdk config target="$TARGET"
sfdk tools package-install "$TARGET.default" python3-devel \
    qt5-qtdeclarative-qtquick-devel meego-rpm-config git fakeroot \
    libsailfishapp-devel
sfdk engine exec mkdir -p /home/mersdk/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
sfdk build-shell ./release.sh
sfdk engine exec cp -r /home/mersdk/rpmbuild/RPMS "$PWD/"

After that, RPMs can be found under ./RPMS directory.

I had one temporary segfault during python execution. It passed when I ran release.sh again.

2 Likes

thank you very much !!
i will try as soon as i get some time

hi,

i was able to build it for arm7 and aarch64 and also to install it.
i still get error of unsupported screensize even with changed values but now i can address it :slight_smile:

Thanks Again!

1 Like

it took me a while to understand that my changes get downdated on each build :slight_smile: but now i have a working okboard on gs290 / vollaphone !
Thanks !

if someone needs an 64 bit package just contact me

Sounds interestingly. What do you mean more exactly? Something unexpected happening?

would it be very difficult to achieve the same for XA2 Ultra?

the original script does again download the sources , unzip them etc. so does not use the code.downloaded in hour script

you can try my rpm
dou you need 32 or 64 bit?

the 64 bit versiin can be downloaded from my github repo

unfortunately 32 bit

i will build it and upload, but i need few days