xiph/vorbis

cross compilation broken on android

pmp-p opened this issue · 9 comments

pmp-p commented

and probably from linux to windows as said here
ffcd784

cmake 3.10.3 / ndk 21 on github actions with ubuntu-latest

== CI vorbis: now in pre-crosscompile ==
 * building vorbis for target armv7a-linux-androideabi
CMake Error at /home/runner/work/pydk/pydk/aosp/lib/python3.6/site-packages/cmake/data/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Ogg (missing: OGG_LIBRARY OGG_INCLUDE_DIR) (found version
  "1.3.4")
Call Stack (most recent call first):
  /home/runner/work/pydk/pydk/aosp/lib/python3.6/site-packages/cmake/data/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindOgg.cmake:73 (find_package_handle_standard_args)
  CMakeLists.txt:65 (find_package)


ERROR vorbis
Command exited with non-zero status 1
500.89user 49.47system 7:18.85elapsed 125%CPU (0avgtext+0avgdata 640260maxresident)k
270640inputs+1353592outputs (2454major+18074389minor)pagefaults 0swaps
##[error]Process completed with exit code 1.```

Is your git tree updated to latest master?

pmp-p commented

thx fixed in 7fd53df

pmp-p commented

Is your git tree updated to latest master?

it's a CI when a remote fails : i use hardcode a valid commit, open an issue and wait for issue to be closed :)
now it's fixed thanks a lot il will restore to use master :)

pmp-p commented

hmm sadly false hope, it seems it was not the only problem, with ffcd784 OR master
vorbis seems unable to find OGG
again with a strange Could NOT find Ogg (missing: OGG_LIBRARY OGG_INCLUDE_DIR) (found version "1.3.4")

my android CI is here https://github.com/pmp-p/pydk

could it be an OGG cmake problem instead ?

pmp-p commented

it seems OGG cmake detection problem that prevents building vorbis, closing here

pmp-p commented

for anyone interested in android/emscripten cross compilation
VORBIS does not look anymore for OGG_LIBRARIES and OGG_INCLUDE_DIRS
but OGG_LIBRARY and OGG_INCLUDE_DIR instead.

my problem is fixed, but cmake autodetection may need some improvement.

for anyone interested in android/emscripten cross compilation
VORBIS does not look anymore for OGG_LIBRARIES and OGG_INCLUDE_DIRS
but OGG_LIBRARY and OGG_INCLUDE_DIR instead.

Thanks for investigation. Yes, Ogg detection was changed, it follows guidlines now - OGG_LIBRARY and OGG_INCLUDE_DIR are cached variables to override if needed. OGG_LIBRARIES and OGG_INCLUDE_DIRS are initialized from OGG_LIBRARY and OGG_INCLUDE_DIRS and should not be edited manually. You can see documentation at the top of FindOgg.cmake.

Another, modern approach is to link exported Ogg::ogg library target, it is added by FindOgg.cmake. No need to use variables.

Hi, I am having this hame issue

[cmake] Could NOT find Ogg (missing: OGG_LIBRARY OGG_INCLUDE_DIR)

I am using

libogg -> 1.3.4
libvorbis -> 1.3.7

and in my CMakeLists.txt:

....
add_subdirectory("ext/libogg")
add_subdirectory("ext/libvorbis")
....

But I did not understand how pmp-p has fixed it.

I'm not very good at developing for Android.

I can only advise you to build the required libraries using CMake, install in a specific location and then find them using find_package.