assimp icon indicating copy to clipboard operation
assimp copied to clipboard

[Android]assimp.so armeabi-v7 build Failed,arm64-v8a success

Open friskyliu opened this issue 2 years ago • 2 comments

[Android]assimp.so armeabi-v7 build Failed,arm64-v8a success。

ndk version: 21.4.7075529
cmake version: 3.18.1
assimp version: 5.2.4

build params:

        -DANDROID_ABI=%ABI% ^
        -DANDROID_PLATFORM=android-%PLATFORM_VERSION% ^
        -DCMAKE_INSTALL_PREFIX=%LIB_OUTPUT_DIR% ^
        -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=%LIB_OUTPUT_DIR%/build ^
        -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=%LIB_OUTPUT_DIR%/build ^
        -DCMAKE_BUILD_TYPE=Release ^
        -DANDROID_NDK=%ANDROID_NDK% ^
        -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%/build/cmake/android.toolchain.cmake ^
        -DCMAKE_MAKE_PROGRAM=%CMAKE_PATH%/bin/ninja.exe ^
        -G"Ninja" ^
        -DANDROID_ARM_NEON=TRUE ^
        -DANDROID_TOOLCHAIN=clang ^
        -DANDROID_STL=c++_shared ^
        -DCMAKE_C_FLAGS="%CFLAGS% -Os -Wall -pipe -fPIC" ^
        -DCMAKE_CXX_FLAGS=-Wno-c++11-narrowing ^
        -DANDROID_CPP_FEATURES=rtti exceptions ^
        -DASSIMP_BUILD_DRACO=TRUE ^
        -DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=FALSE ^
        -DASSIMP_BUILD_GLTF_IMPORTER=TRUE ^
        -DASSIMP_BUILD_OBJ_IMPORTER=TRUE ^
        -DASSIMP_BUILD_FBX_IMPORTER=TRUE ^
        -DASSIMP_BUILD_COLLADA_IMPORTER=TRUE ^
        -DASSIMP_BUILD_SAMPLES=OFF ^
        -DASSIMP_BUILD_TESTS=OFF ^
        -DASSIMP_NO_EXPORT=ON ^
        -DASSIMP_BUILD_ZLIB=ON ^
        -DASSIMP_BUILD_ASSIMP_TOOLS=OFF ^
        -DASSIMP_ANDROID_JNIIOSYSTEM=OFF ^

build log:

-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
...
-- Looking for unistd.h - found
-- Build an import-only version of Assimp.
-- Found PythonInterp: D:/ProgramFile/Python/Python37/python.exe (found version "3.7.5")
--- Running combined CXX flags test, flags: -Wno-bool-compare;-Wno-comment;-Wno-maybe-uninitialized;-Wno-sign-compare;-Wno-unused-local-typedefs;-fvisibility=default;-Wno-bool-compare;-Wno-comment;-Wno-maybe-uninitialized;-Wno-sign-compare;-Wno-unused-local-typedefs;-fvisibility=default
--- Passed combined CXX flags test
INFO Hunter enabled or RT-extension not found. glTF import/export will be built without Open3DGC-compression.
-- Enabled importer formats: COLLADA OBJ FBX GLTF
-- Disabled importer formats: AMF 3DS AC ASE ASSBIN B3D BVH DXF CSM HMP IRRMESH IQM IRR LWO LWS M3D MD2 MD3 MD5 MDC MDL NFF NDO OFF OGRE OPENGEX PLY MS3D COB BLEND IFC XGL Q3D Q3BSP RAW SIB SMD STL TERRAGEN 3D X X3D 3MF MMD
-- Treating all warnings as errors (for assimp library only)
-- Configuring done
-- Generating done
-- Build files have been written to: D:/WorkDir/assimp/bin/armeabi-v7a
[3/218] Building CXX object contrib/draco/CMakeFiles/draco_core.dir/src/draco/core/divide.cc.o
warning: unknown warning option '-Wno-bool-compare' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
2 warnings generated.
....
[21/218] Building CXX object contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/stdio_file_reader.cc.o
FAILED: contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/stdio_file_reader.cc.o
D:\Android_SDK\ndk\21.4.7075529\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi21 --gcc-toolchain=D:/Android_SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=D:/Android_SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/sysroot -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DDRACO_CMAKE=1 -DDRACO_FLAGS_SRCDIR=\"D:/WorkDir/assimp/assimp-5.2.4/contrib/draco\" -DDRACO_FLAGS_TMPDIR=\"/tmp\" -D_FILE_OFFSET_BITS=64 -Iinclude -I. -ID:/WorkDir/assimp/assimp-5.2.4/include -ID:/WorkDir/assimp/assimp-5.2.4/code -ID:/WorkDir/assimp/assimp-5.2.4/. -ID:/WorkDir/assimp/assimp-5.2.4/contrib/zlib -Icontrib/zlib -ID:/WorkDir/assimp/assimp-5.2.4/contrib/draco -ID:/WorkDir/assimp/assimp-5.2.4/contrib/draco/src -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -frtti -Wno-c++11-narrowing -Oz -DNDEBUG  -fPIC -Wno-bool-compare -Wno-comment -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-local-typedefs -fvisibility=default -std=gnu++11 -MD -MT contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/stdio_file_reader.cc.o -MF contrib\draco\CMakeFiles\draco_io.dir\src\draco\io\stdio_file_reader.cc.o.d -o contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/stdio_file_reader.cc.o -c D:/WorkDir/assimp/assimp-5.2.4/contrib/draco/src/draco/io/stdio_file_reader.cc
warning: unknown warning option '-Wno-bool-compare' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
D:/WorkDir/assimp/assimp-5.2.4/contrib/draco/src/draco/io/stdio_file_reader.cc:91:48: error: use of undeclared identifier 'ftello'; did you mean 'ftell'?
  const size_t file_size = static_cast<size_t>(ftello(file_));
                                               ^~~~~~
                                               ftell
D:/Android_SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include\stdio.h:224:6: note: 'ftell' declared here
long ftell(FILE* __fp);
     ^
2 warnings and 1 error generated.
[22/218] Building CXX object contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/file_writer_utils.cc.o
warning: unknown warning option '-Wno-bool-compare' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
2 warnings generated.
...
[34/218] Building CXX object contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/ply_decoder.cc.o
warning: unknown warning option '-Wno-bool-compare' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
2 warnings generated.
ninja: build stopped: subcommand failed.
[1/186] Building CXX object contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/stdio_file_reader.cc.o
FAILED: contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/stdio_file_reader.cc.o
D:\Android_SDK\ndk\21.4.7075529\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi21 --gcc-toolchain=D:/Android_SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=D:/Android_SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/sysroot -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DDRACO_CMAKE=1 -DDRACO_FLAGS_SRCDIR=\"D:/WorkDir/assimp/assimp-5.2.4/contrib/draco\" -DDRACO_FLAGS_TMPDIR=\"/tmp\" -D_FILE_OFFSET_BITS=64 -Iinclude -I. -ID:/WorkDir/assimp/assimp-5.2.4/include -ID:/WorkDir/assimp/assimp-5.2.4/code -ID:/WorkDir/assimp/assimp-5.2.4/. -ID:/WorkDir/assimp/assimp-5.2.4/contrib/zlib -Icontrib/zlib -ID:/WorkDir/assimp/assimp-5.2.4/contrib/draco -ID:/WorkDir/assimp/assimp-5.2.4/contrib/draco/src -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -frtti -Wno-c++11-narrowing -Oz -DNDEBUG  -fPIC -Wno-bool-compare -Wno-comment -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-local-typedefs -fvisibility=default -std=gnu++11 -MD -MT contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/stdio_file_reader.cc.o -MF contrib\draco\CMakeFiles\draco_io.dir\src\draco\io\stdio_file_reader.cc.o.d -o contrib/draco/CMakeFiles/draco_io.dir/src/draco/io/stdio_file_reader.cc.o -c D:/WorkDir/assimp/assimp-5.2.4/contrib/draco/src/draco/io/stdio_file_reader.cc
warning: unknown warning option '-Wno-bool-compare' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
D:/WorkDir/assimp/assimp-5.2.4/contrib/draco/src/draco/io/stdio_file_reader.cc:91:48: error: use of undeclared identifier 'ftello'; did you mean 'ftell'?
  const size_t file_size = static_cast<size_t>(ftello(file_));
                                               ^~~~~~
                                               ftell
D:/Android_SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include\stdio.h:224:6: note: 'ftell' declared here
long ftell(FILE* __fp);
     ^
2 warnings and 1 error generated.
[2/186] Building CXX object contrib/draco/CMakeFiles/draco_points_dec.dir/src/draco/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_decoder.cc.o
warning: unknown warning option '-Wno-bool-compare' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
2 warnings generated.
...
[14/186] Building CXX object contrib/draco/CMakeFiles/draco_compression_mesh_enc.dir/src/draco/compression/mesh/mesh_edgebreaker_encoder_impl.cc.o
warning: unknown warning option '-Wno-bool-compare' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
2 warnings generated.
ninja: build stopped: subcommand failed.

friskyliu avatar Jun 06 '22 12:06 friskyliu

Facing the same issue. @friskyliu Did you solve it?

sourabh-gupta-dev avatar Jul 27 '22 05:07 sourabh-gupta-dev

Two solutions:

Disable _FILE_OFFSET_BITS=64 or minSdkVersion=24

  1. Remove the assimp/CMakeLists.txt ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64 )

  2. -DANDROID_NATIVE_API_LEVEL=android-24 or -DANDROID_PLATFORM=android-24

https://developer.android.com/ndk/guides/common-problems

zzyyppqq avatar Aug 29 '22 09:08 zzyyppqq

You can get the prebuild so files here: https://kimkulling.itch.io/the-asset-importer-lib

kimkulling avatar Mar 26 '23 15:03 kimkulling

Problem continues:

/Users/~/Library/Android/sdk/ndk/24.0.8215888/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/fstream:952:20: error: use of undeclared identifier 'ftello'; did you mean 'ftell'?
    pos_type __r = ftello(__file_);
                   ^
/Users/~/Library/Android/sdk/ndk/24.0.8215888/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/cstdio:141:9: note: 'ftell' declared here
using ::ftell;
        ^
1 error generated.
  1. Works however -DANDROID_NATIVE_API_LEVEL=android-24 or -DANDROID_PLATFORM=android-24

danoli3 avatar Apr 25 '23 10:04 danoli3