opengisch / OSGeo4A

OSGeo4A is a build environment to cross-compile opensource GIS software for android devices
MIT License
30 stars 22 forks source link

Building error #63

Closed berkayoruc closed 3 years ago

berkayoruc commented 4 years ago

When I want to build and type " ./distribute.sh -dqgis -mqgis ", this error occurs: "Error: Please report issue to enable support for newer arch ()"

NDK Version = 19.2.5345600 SDK Version = 21 Qt Version = 5.11.2 Compling environment = Ubuntu 20.xx Config file = https://paste.ubuntu.com/p/wswQrTRs4M/

I tried ARCHES=("armeabi-v7a" "x86") and ARCHES=("armeabi-v7a")

m-kuhn commented 4 years ago

I would recommend to take the pre-compiled docker images (https://hub.docker.com/r/opengisch/qfield-sdk/tags) or if you want to build locally use the github workflows as reference (https://github.com/opengisch/OSGeo4A/blob/master/.github/workflows/docker.yml#L18-L19). The documentation of the repo would need some updates.

berkayoruc commented 4 years ago

I would recommend to take the pre-compiled docker images (https://hub.docker.com/r/opengisch/qfield-sdk/tags) or if you want to build locally use the github workflows as reference (https://github.com/opengisch/OSGeo4A/blob/master/.github/workflows/docker.yml#L18-L19). The documentation of the repo would need some updates.

I tried but there is still same error.

m-kuhn commented 4 years ago

Can you try

docker build --build-arg ARCHES="armeabi-v7a" -t opengisch/qfield-sdk:test .
imanhn commented 3 years ago

I have edited distribute.sh and set $ARCH manually, export ARCH="arm64-v8a" and export ARCH="x86_64" (I don't know which one should I use)

In both cases (above ARCHs), everything goes smooth till it reaches to call build_openssl then it fails cause it can not find the path of include directory. I checked openssl's code and it use angles in include statements meaning that we should cmake it with -I but I still couldn't find where to change (if I don't find it, I will put a condition in run_build() to skip openssl and build it manually with my $ARCH as prefix while running config.sh. it would be great if Matthias could shed some light here.

In parallel, I am downloading the Docker image (20200818 version).

m-kuhn commented 3 years ago

ARCH is one of [armeabi-v7a, arm64-v8a, x86, x86_64] (see .github/workflows/docker.yml)

docker build --build-arg QT_VERSION=$(cat qt_version.txt) -t qt-ndk .docker/qt-ndk
docker build --build-arg ARCHES="${ARCH}" -t qfield-sdk .

That's what works for me