chaquo / chaquopy

Chaquopy: the Python SDK for Android
https://chaquo.com/chaquopy/
MIT License
789 stars 130 forks source link

python-igraph #539

Open mhsmith opened 3 years ago

mhsmith commented 3 years ago

From https://stackoverflow.com/questions/68977565:

Chaquopy version

9.1.0

Relevant parts of your build.gradle file

       ndk {
            abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
        }

        python {
            buildPython "C:/Users/shani/AppData/Local/Programs/Python/Python39/python.exe"
            pip{
                install "opencv-contrib-python-headless"
                install "pillow"
                install "numpy"
                install "python-igraph"
            }
        }

Describe your issue

the sync works fine but then when I try to run the app on the simulator the build fails (I'm using at the moment a mock script that doesn't require igraph).

Here is the error: igraph uses CMake as the build system. You need to install CMake before compiling igraph. Build failed for the C core of igraph.

mhsmith commented 3 years ago

Thanks for the report. This package isn't currently a priority, but I'll update this issue if we add it in the future. And if anyone else wants it too, please click the thumbs-up button above.

BlackPigHe commented 1 year ago

So far, this problem should not be solved

mhsmith commented 1 year ago

The package build tool is now open-source, so if you'd like to try building this package yourself, follow the instructions here. And if you're successful, please make a pull request so we can add the package to the public repository.

carloscbl commented 2 months ago

Any progress on this?

carloscbl commented 2 months ago

so far i reached this point where

[ 6%] Built target cxsparse_vendored [ 6%] Building C object vendor/f2c/CMakeFiles/arithchk.dir/arithchk.c.o [ 6%] Linking C executable arithchk [ 6%] Built target arithchk [ 6%] Generating arith.h for f2c... /bin/sh: 1: arithchk: not found gmake[2]: [vendor/f2c/CMakeFiles/f2c_vendored.dir/build.make:74: vendor/f2c/arith.h] Error 127 gmake[2]: Deleting file 'vendor/f2c/arith.h' gmake[1]: [CMakeFiles/Makefile2:437: vendor/f2c/CMakeFiles/f2c_vendored.dir/all] Error 2 gmake: [Makefile:156: all] Error 2

This arithchk fails idk why, even if i use a custom arith.h it later fails

szhorvat commented 2 months ago

First, I don't know anything about chaquopy or Android. But I may be able to help you work through and deal with build failures if you share the output each time. The first thing you need to look at is this:

https://igraph.org/c/html/latest/igraph-Installation.html#igraph-Installation-cross-compiling

When cross-compiling and not linking to an external BLAS/LAPACK/ARPACK, you must provide your own arith.h. That's what I do in the vcpkg igraph port, which you may use as a reference. You need to make sure that the arith.h file is appropriate for the platform (typically different on 32- and 64-bit platforms).

You will likely also need a manual intervention for the endianness check, as described in the documentation I linked.

If after this you see further failures, post the output.

szhorvat commented 2 months ago

P.S. If you have the possibility to use an emulator to run cross-compiled binaries, just set CMAKE_CROSSCOMPILING_EMULATOR and no workarounds will be necessary.

carloscbl commented 2 months ago

Firs, thank u @szhorvat for your help

Related with chaquopy: prepared a conda env python3.11

and i prepared a

~/chaquopy/server/pypi$ cat packages/igraph/meta.yaml 
package:
  name: igraph
  version: "0.11.5"

  build:
  number: 0
  script_env:
    - CMAKE_CROSSCOMPILING_EMULATOR=qemu-x86_64

this is the command i run

(build-wheel) cbernal@cbernal-MS-7B79:~/chaquopy/server/pypi$ ./build-wheel.py --no-unpack -v --python 3.11 --abi x86_64 igraph

im getting this error

Which seems to require touch the FLAG you were refering about endians CMake Error at etc/cmake/ieee754_endianness.cmake:38 (message): IEEE754 double endianness test terminated abnormally. Call Stack (most recent call first): CMakeLists.txt:118 (include)

@mhsmith is there a way to pass a custom Cmake flag? or i need to create a patch?

carloscbl commented 2 months ago

Also if i hack --no-unpack to place IEEE754_DOUBLE_ENDIANNESS_MATCHES=ON CMAKE_CROSSCOMPILING=ON

i get

[  6%] Linking C executable arithchk
[  6%] Built target arithchk
[  6%] Generating arith.h for f2c...
qemu-x86_64: Could not open '/system/bin/linker64': No such file or directory
gmake[2]: *** [vendor/f2c/CMakeFiles/f2c_vendored.dir/build.make:74: vendor/f2c/arith.h] Error 255
gmake[2]: *** Deleting file 'vendor/f2c/arith.h'
szhorvat commented 2 months ago

If you go with the emulator, it should be an Android emulator ... Also, CMAKE_CROSSCOMPILING_EMULATOR is not an environment variable, it's a CMake variable that should be set with -D on the CMake command line.

I suggest you go the manual route first.

I'm sorry, I was fixated on the build of igraph's C core and forgot that you're building a Python module. Extra CMake command line arguments can be added to the IGRAPH_CMAKE_EXTRA_ARGS environment variable. This is where you can add the flags to use your custom arith.h and skip the endianess check. So its value should be something like '-DF2C_EXTERNAL_ARITH_HEADER=/path/to/your/arith.h -DIEEE754_DOUBLE_ENDIANNESS_MATCHES=ON' (both documented here)

mhsmith commented 2 months ago

P.S. If you have the possibility to use an emulator to run cross-compiled binaries, just set CMAKE_CROSSCOMPILING_EMULATOR and no workarounds will be necessary.

Unfortunately the Android emulator is an isolated virtual machine which doesn't have direct access to the host filesystem, and it doesn't provide any simple wrapper command like this.

So I agree providing a manual arith.h is probably the easiest way to proceed. To get the correct content, you may be able to copy the arithchk executable to an Android emulator at /data/local/tmp, and then run it from an adb shell.

Once everything's working, it would then be a good idea to switch over to Chaquopy's own build of OpenBLAS, which is used by some other packages like NumPy. Search the existing recipes for how to use it.

carloscbl commented 2 months ago
[ 98%] Building C object src/CMakeFiles/igraph.dir/internal/zeroin.c.o
[ 98%] Building C object src/CMakeFiles/igraph.dir/version.c.o
[100%] Linking CXX static library libigraph.a
[100%] Built target igraph
Installing build...
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/lib/libigraph.a
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_attributes.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_typed_list_pmt.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_qsort.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_mixing.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_matching.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_arpack.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_strvector.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_heap_pmt.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_foreign.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_components.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_pmt_off.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_embedding.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_cohesive_blocks.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_graphicality.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_dqueue.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_constructors.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_adjlist.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_graphlets.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_transitivity.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_progress.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_matrix_pmt.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_nongraph.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_epidemics.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_vector_ptr.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_eulerian.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_datatype.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_bitset.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_stack_pmt.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_coloring.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_lsap.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_decls.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_cliques.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_flow.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_separators.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_bipartite.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_vector.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_matrix.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_microscopic_update.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_graph_list.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_statusbar.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_cycles.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_vector_type.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_interrupt.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_psumtree.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_games.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_random.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_array.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_sparsemat.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_community.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_reachability.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_dqueue_pmt.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_lapack.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_layout.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_topology.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_eigen.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_cocitation.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_visitor.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_iterators.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_matrix_list.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_structural.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_centrality.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_heap.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_error.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_stack.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_interface.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_complex.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_memory.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_paths.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_motifs.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_bitset_list.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_pmt.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_operators.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_constants.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_vector_list.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_scan.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_neighborhood.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_hrg.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_vector_pmt.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_blas.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_conversion.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_types.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_array_pmt.h
-- Up-to-date: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_config.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_threading.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_version.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/include/igraph/igraph_export.h
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/lib/pkgconfig/igraph.pc
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/lib/cmake/igraph/igraph-config.cmake
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/lib/cmake/igraph/igraph-config-version.cmake
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/lib/cmake/igraph/igraph-targets.cmake
-- Installing: /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/install/igraph/lib/cmake/igraph/igraph-targets-release.cmake
Found igraph as static library in vendor/install/igraph/lib/libigraph.a.
Build type: dynamic extension with vendored igraph source
Include path: vendor/install/igraph/include/igraph
Library path: vendor/install/igraph/lib /usr/local/lib /usr/lib/x86_64-linux-gnu /usr/lib64 /usr/lib /lib64 /lib
Runtime library path: 
Linked dynamic libraries: omp
Linked static libraries: vendor/install/igraph/lib/libigraph.a
Extra compiler options: 
Extra linker options: 
building 'igraph._igraph' extension
creating build/temp.linux_x86_64-cpython-311
creating build/temp.linux_x86_64-cpython-311/src
creating build/temp.linux_x86_64-cpython-311/src/_igraph
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/arpackobject.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/arpackobject.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/attributes.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/attributes.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/bfsiter.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/bfsiter.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/common.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/common.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/convert.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/convert.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/dfsiter.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/dfsiter.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/edgeobject.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/edgeobject.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/edgeseqobject.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/edgeseqobject.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/error.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/error.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/filehandle.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/filehandle.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/force_cpp_linker.cpp -o build/temp.linux_x86_64-cpython-311/src/_igraph/force_cpp_linker.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/graphobject.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/graphobject.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/igraphmodule.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/igraphmodule.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/indexing.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/indexing.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/operators.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/operators.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/pyhelpers.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/pyhelpers.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/random.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/random.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/utils.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/utils.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/vertexobject.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/vertexobject.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 -fPIC -Ivendor/install/igraph/include/igraph -I/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/env/include -I/home/cbernal/miniconda3/envs/build-wheel/include/python3.11 -c src/_igraph/vertexseqobject.c -o build/temp.linux_x86_64-cpython-311/src/_igraph/vertexseqobject.o
Chaquopy: ignored invalid -I directory: '/home/cbernal/miniconda3/envs/build-wheel/include/python3.11'
/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang++ -shared -L/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/lib -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libunwind.a -Wl,--build-id=sha1 -Wl,--no-rosegment -lm -Wl,--no-undefined -lpython3.11 -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include -idirafter /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/requirements/chaquopy/include/python3.11 build/temp.linux_x86_64-cpython-311/src/_igraph/arpackobject.o build/temp.linux_x86_64-cpython-311/src/_igraph/attributes.o build/temp.linux_x86_64-cpython-311/src/_igraph/bfsiter.o build/temp.linux_x86_64-cpython-311/src/_igraph/common.o build/temp.linux_x86_64-cpython-311/src/_igraph/convert.o build/temp.linux_x86_64-cpython-311/src/_igraph/dfsiter.o build/temp.linux_x86_64-cpython-311/src/_igraph/edgeobject.o build/temp.linux_x86_64-cpython-311/src/_igraph/edgeseqobject.o build/temp.linux_x86_64-cpython-311/src/_igraph/error.o build/temp.linux_x86_64-cpython-311/src/_igraph/filehandle.o build/temp.linux_x86_64-cpython-311/src/_igraph/force_cpp_linker.o build/temp.linux_x86_64-cpython-311/src/_igraph/graphobject.o build/temp.linux_x86_64-cpython-311/src/_igraph/igraphmodule.o build/temp.linux_x86_64-cpython-311/src/_igraph/indexing.o build/temp.linux_x86_64-cpython-311/src/_igraph/operators.o build/temp.linux_x86_64-cpython-311/src/_igraph/pyhelpers.o build/temp.linux_x86_64-cpython-311/src/_igraph/random.o build/temp.linux_x86_64-cpython-311/src/_igraph/utils.o build/temp.linux_x86_64-cpython-311/src/_igraph/vertexobject.o build/temp.linux_x86_64-cpython-311/src/_igraph/vertexseqobject.o vendor/install/igraph/lib/libigraph.a -Lvendor/install/igraph/lib -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib64 -L/usr/lib -L/lib64 -L/lib -lomp -o build/lib.linux_x86_64-cpython-311/igraph/_igraph.abi3.so
Chaquopy: ignored invalid -L directory: '/usr/local/lib'
Chaquopy: ignored invalid -L directory: '/usr/lib/x86_64-linux-gnu'
Chaquopy: ignored invalid -L directory: '/usr/lib64'
Chaquopy: ignored invalid -L directory: '/usr/lib'
Chaquopy: ignored invalid -L directory: '/lib64'
Chaquopy: ignored invalid -L directory: '/lib'
ld: error: undefined symbol: ftello64
>>> referenced by err.c:218 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/err.c:218)
>>>               err.c.o:(f__nowreading) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced by err.c:261 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/err.c:261)
>>>               err.c.o:(f__nowwriting) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced by endfile.c:93 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/endfile.c:93)
>>>               endfile.c.o:(t_runc) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced 1 more times

ld: error: undefined symbol: freopen64
>>> referenced by err.c:220 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/err.c:220)
>>>               err.c.o:(f__nowreading) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced by err.c:222 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/err.c:222)
>>>               err.c.o:(f__nowreading) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced by err.c:256 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/err.c:256)
>>>               err.c.o:(f__nowwriting) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced 1 more times

ld: error: undefined symbol: fseeko64
>>> referenced by err.c:228 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/err.c:228)
>>>               err.c.o:(f__nowreading) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced by err.c:0 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/err.c:0)
>>>               err.c.o:(f__nowwriting) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced by open.c:274 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/open.c:274)
>>>               open.c.o:(f_open) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced 2 more times

ld: error: undefined symbol: fopen64
>>> referenced by open.c:246 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/open.c:246)
>>>               open.c.o:(f_open) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced by open.c:255 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/open.c:255)
>>>               open.c.o:(f_open) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced by open.c:256 (/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/vendor/source/igraph/vendor/f2c/open.c:256)
>>>               open.c.o:(f_open) in archive vendor/install/igraph/lib/libigraph.a
>>> referenced 2 more times
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/wrappers/x86_64-linux-android21-clang++' failed with exit code 1
build-wheel: Error: Backend subprocess exited when trying to invoke build_wheel

So i did what u suggested, now it compiles bit triggers this errors:

ld: error: undefined symbol: ftello64

command was:

IGRAPH_CMAKE_EXTRA_ARGS='-DF2C_EXTERNAL_ARITH_HEADER=/home/cbernal/Downloads/android64_x86_64_arm64.h -DIEEE754_DOUBLE_ENDIANNESS_MATCHES=ON' ./build-wheel.py -v --python 3.11 --abi x86_64 igraph

The arith.h i got from the emulator

#define IEEE_8087
#define Arith_Kind_ASL 1
#define Long int
#define Intcast (int)(long)
#define Double_Align
#define X64_bit_pointers
#define NANCHECK
#define QNaN0 0x0
#define QNaN1 0x7ff80000
szhorvat commented 2 months ago

This is coming from deep in the guts of f2c, which hasn't been maintained in decades ...

It seems that Android might not have 64-bit file handling functions such as fopen64 (https://github.com/android/ndk/issues/30). These are not actually relevant for igraph.

I suggest finding sysdep1.h within the source tree and removing this section:

#ifdef __linux__
#define USE_LARGEFILE

#ifdef __GLIBC__
#define OFF_T __off64_t
#else
#define OFF_T off64_t
#endif /* __GLIBC__ */
#endif /* __linux__ */

Unfortunately I can't test on Linux today, but I believe this should fix it.

I'm not keen on modifying f2c too much, since it references systems we can't test on. But if this works for you, I will take a look at trying to remove all the irrelevant "largefile" stuff from f2c since I don't believe it's used (even indirectly) by igraph.

carloscbl commented 2 months ago

seems like it worked the compilation, by commenting/removing what u mention Thank u @szhorvat


adding 'igraph-0.11.5.dist-info/RECORD'
removing build/bdist.linux_x86_64/wheel
build-wheel: mkdir -p /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/fix_wheel
build-wheel: unzip -d /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/fix_wheel -q /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/src/dist/igraph-0.11.5-cp39-abi3-linux_x86_64.whl
build-wheel: Processing native binaries
build-wheel: mv /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/fix_wheel/igraph/_igraph.abi3.so /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/fix_wheel/igraph/_igraph.so
build-wheel: chmod +w /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/fix_wheel/igraph/_igraph.so
build-wheel: /home/cbernal/Android/Sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip --strip-unneeded /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/fix_wheel/igraph/_igraph.so
build-wheel: patchelf --remove-rpath /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/fix_wheel/igraph/_igraph.so
build-wheel: Adding requirement: chaquopy-libomp (>=9.0.9)
build-wheel: Adding requirement: chaquopy-libcxx (>=11000)
build-wheel: mkdir -p /home/cbernal/chaquopy/server/pypi/dist/igraph
build-wheel: wheel pack /home/cbernal/chaquopy/server/pypi/packages/igraph/build/0.11.5/cp311-cp311-android_21_x86_64/fix_wheel --dest-dir /home/cbernal/chaquopy/server/pypi/dist/igraph --build-number 0
Repacking wheel as /home/cbernal/chaquopy/server/pypi/dist/igraph/igraph-0.11.5-0-cp311-cp311-android_21_x86_64.whl...OK
mhsmith commented 2 months ago

As it says here, the 64-bit functions were added in Android API level 24. So you can probably also work around this by running build-wheel with the option --api-level 24, and making sure that your app's minSdk is at least 24.