davisking / dlib

A toolkit for making real world machine learning and data analysis applications in C++
http://dlib.net
Boost Software License 1.0
13.5k stars 3.37k forks source link

cross compile - undefined reference to png_do_expand_palette_rgba8_neon' #2523

Closed fatalfeel closed 2 years ago

fatalfeel commented 2 years ago

root@linux:~/nt9833x/dlib/examples/build# cmake .. -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain.make -DCMAKE_BUILD_TYPE=Release

cmake --build . --config Release -- VERBOSE=1

/usr/bin/cmake -E cmake_link_script CMakeFiles/dnn_mmod_train_find_cars_ex.dir/link.txt --verbose=1 /opt/ivot/aarch64-ca53-linux-gnueabihf-8.4/bin/aarch64-ca53-linux-gnu-g++ -O3 -DNDEBUG -rdynamic CMakeFiles/dnn_mmod_train_find_cars_ex.dir/dnn_mmod_train_find_cars_ex.cpp.o -o dnn_mmod_train_find_cars_ex dlib_build/libdlib.a -lpthread /opt/ivot/aarch64-ca53-linux-gnueabihf-8.4/bin/../lib/gcc/aarch64-ca53-linux-gnu/8.4.0/../../../../aarch64-ca53-linux-gnu/bin/ld: dlib_build/libdlib.a(pngrtran.c.o): in function png_do_read_transformations': pngrtran.c:(.text+0x5800): undefined reference topng_do_expand_palette_rgba8_neon' /opt/ivot/aarch64-ca53-linux-gnueabihf-8.4/bin/../lib/gcc/aarch64-ca53-linux-gnu/8.4.0/../../../../aarch64-ca53-linux-gnu/bin/ld:

pngrtran.c:(.text+0x5b0c): undefined reference to png_riffle_palette_neon' /opt/ivot/aarch64-ca53-linux-gnueabihf-8.4/bin/../lib/gcc/aarch64-ca53-linux-gnu/8.4.0/../../../../aarch64-ca53-linux-gnu/bin/ld: pngrtran.c:(.text+0x6ed4): undefined reference topng_do_expand_palette_rgb8_neon' collect2: error: ld returned 1 exit status CMakeFiles/dnn_mmod_train_find_cars_ex.dir/build.make:97: recipe for target 'dnn_mmod_train_find_cars_ex' failed make[2]: [dnn_mmod_train_find_cars_ex] Error 1 make[2]: Leaving directory '/root/nt9833x/dlib/examples/build' CMakeFiles/Makefile2:977: recipe for target 'CMakeFiles/dnn_mmod_train_find_cars_ex.dir/all' failed make[1]: [CMakeFiles/dnn_mmod_train_find_cars_ex.dir/all] Error 2 make[1]: Leaving directory '/root/nt9833x/dlib/examples/build' Makefile:90: recipe for target 'all' failed

/////////////////////////////// png_do_expand_palette_rgba8_neon in /root/image_sdk/dlib/dlib/external/libpng/arm/palette_neon_intrinsics.c

fatalfeel commented 2 years ago

Got answer

/root/nt9833x/dlib/dlib/CMakeLists.txt

if (DLIB_PNG_SUPPORT) include(cmake_utils/find_libpng.cmake) if (PNG_FOUND) include_directories(${PNG_INCLUDE_DIR}) set (dlib_needed_libraries ${dlib_needed_libraries} ${PNG_LIBRARIES}) else()

If we can't find libpng then statically compile it in.

        include_directories(external/libpng external/zlib)
        set(source_files ${source_files}
           external/libpng/arm/arm_init.c
           external/libpng/arm/filter_neon_intrinsics.c
           external/libpng/arm/palette_neon_intrinsics.c   ##############add this
dlib-issue-bot commented 2 years ago

Warning: this issue has been inactive for 35 days and will be automatically closed on 2022-04-09 if there is no further activity.

If you are waiting for a response but haven't received one it's possible your question is somehow inappropriate. E.g. it is off topic, you didn't follow the issue submission instructions, or your question is easily answerable by reading the FAQ, dlib's official compilation instructions, dlib's API documentation, or a Google search.

dlib-issue-bot commented 2 years ago

Warning: this issue has been inactive for 42 days and will be automatically closed on 2022-04-09 if there is no further activity.

If you are waiting for a response but haven't received one it's possible your question is somehow inappropriate. E.g. it is off topic, you didn't follow the issue submission instructions, or your question is easily answerable by reading the FAQ, dlib's official compilation instructions, dlib's API documentation, or a Google search.

dlib-issue-bot commented 2 years ago

Notice: this issue has been closed because it has been inactive for 45 days. You may reopen this issue if it has been closed in error.