Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python-igraph #539

Closed
mhsmith opened this issue Aug 30, 2021 · 16 comments · Fixed by #1196
Closed

python-igraph #539

mhsmith opened this issue Aug 30, 2021 · 16 comments · Fixed by #1196
Labels

Comments

@mhsmith
Copy link
Member

mhsmith commented Aug 30, 2021

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
Copy link
Member Author

mhsmith commented Aug 30, 2021

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
Copy link

So far, this problem should not be solved

@mhsmith
Copy link
Member Author

mhsmith commented Feb 2, 2023

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
Copy link
Contributor

Any progress on this?

@carloscbl
Copy link
Contributor

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
Copy link
Contributor

szhorvat commented Jun 28, 2024

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
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Member Author

mhsmith commented Jun 30, 2024

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
Copy link
Contributor

[ 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
Copy link
Contributor

szhorvat commented Jul 2, 2024

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 (android/ndk#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
Copy link
Contributor

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
Copy link
Member Author

mhsmith commented Jul 2, 2024

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.

@mhsmith
Copy link
Member Author

mhsmith commented Nov 1, 2024

igraph version 0.11.8 is now available in the public repository for Python 3.9 - 3.13, on arm64-v8a and x86_64. Thanks to everyone who helped!.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants