Closed JunFang-NWPU closed 7 years ago
Is there any additional information displayed nearby "linker command failed with exit code 1"? My suspicion is that this has to do with issue #150, but it would be good to confirm this via a more detailed error message.
There is no additional information in the Xcode. However, when "make" in the Terminal, there are several warnings.
_Scanning dependencies of target NE10
[ 2%] Building C object modules/CMakeFiles/NE10.dir/__/common/NE10_mask_table.c.o
[ 4%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft.c.o
[ 7%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_float32.c.o
[ 9%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_float32.c.o
[ 11%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_int32.cpp.o
[ 14%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_rfft_float32.c.o
[ 16%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int32.c.o
[ 19%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int16.c.o
[ 21%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fir.c.o
[ 23%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fir_init.c.o
[ 26%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_iir.c.o
[ 28%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_iir_init.c.o
[ 30%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_resize.c.o
[ 33%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_rotate.c.o
[ 35%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_boxfilter.c.o
/Users/Jun/Downloads/Ne10-master/modules/imgproc/NE10_boxfilter.c:382:18: warning:
format specifies type 'int' but the argument has type 'unsigned long'
[-Wformat]
sizeof (ne10_uint8_t)
^~~~~~~
1 warning generated.
[ 38%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_float32.neonintrinsic.c.o
[ 40%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int32.neonintrinsic.c.o
[ 42%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int16.neonintrinsic.c.o
[ 45%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_rfft_float32.neonintrinsic.c.o
[ 47%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_float32.neonintrinsic.cpp.o
[ 50%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_int32.neonintrinsic.cpp.o
[ 52%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_resize.neon.c.o
[ 54%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_boxfilter.neon.c.o
/Users/Jun/Downloads/Ne10-master/modules/imgproc/NE10_boxfilter.neon.c:281:18: warning:
format specifies type 'int' but the argument has type 'unsigned long'
[-Wformat]
sizeof (ne10_uint32_t)
^~~~~~~~
1 warning generated.
[ 57%] Building C object modules/CMakeFiles/NE10.dir/NE10_init.c.o
[ 59%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_init_dsp.c.o
[ 61%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_init_imgproc.c.o
[ 64%] Linking C static library libNE10.a
[ 64%] Built target NE10
Scanning dependencies of target NE10_test_demo
[ 66%] Building C object ios/CMakeFiles/NE10_test_demo.dir//modules/math/test/test_suite_math.c.o
[ 69%] Building C object ios/CMakeFiles/NE10_test_demo.dir//test/src/seatest.c.o
/Users/Jun/Downloads/Ne10-master/test/src/seatest.c:227:28: warning: equality
comparison with extraneous parentheses [-Wparentheses-equality]
else if ((expected == (char *)0))
/Users/Jun/Downloads/Ne10-master/test/src/seatest.c:227:28: note: remove
extraneous parentheses around the comparison to silence this warning
else if ((expected == (char *)0))
~ ^ ~
/Users/Jun/Downloads/Ne10-master/test/src/seatest.c:227:28: note: use '=' to
turn this equality comparison into an assignment
else if ((expected == (char *)0))
^~
=
/Users/Jun/Downloads/Ne10-master/test/src/seatest.c:232:26: warning: equality
comparison with extraneous parentheses [-Wparentheses-equality]
else if ((actual == (char *)0))
~~~~~~~^~~~~~~~~~~~
/Users/Jun/Downloads/Ne10-master/test/src/seatest.c:232:26: note: remove
extraneous parentheses around the comparison to silence this warning
else if ((actual == (char *)0))
~ ^ ~
/Users/Jun/Downloads/Ne10-master/test/src/seatest.c:232:26: note: use '=' to
turn this equality comparison into an assignment
else if ((actual == (char *)0))
^~
=
2 warnings generated.
[ 71%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/test/src/unit_test_common.c.o
/Users/Jun/Downloads/Ne10-master/test/src/unit_test_common.c:81:9: warning:
using integer absolute value function 'abs' when argument is of floating
point type [-Wabsolute-value]
if (abs(fa-fb) <= tolerance)
^
/Users/Jun/Downloads/Ne10-master/test/src/unit_test_common.c:81:9: note: use
function 'fabsf' instead
if (abs(fa-fb) <= tolerance)
^~~
fabsf
1 warning generated.
[ 73%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/test/src/NE10_random.c.o
[ 76%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_main.c.o
[ 78%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_suite_fir.c.o
[ 80%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_suite_fir_decimate.c.o
[ 83%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_suite_fir_interpolate.c.o
[ 85%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_suite_fir_lattice.c.o
[ 88%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_suite_fir_sparse.c.o
[ 90%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_suite_iir.c.o
[ 92%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_suite_fft_float32.c.o
[ 95%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_suite_fft_int16.c.o
[ 97%] Building C object ios/CMakeFiles/NE10_test_demo.dir/__/modules/dsp/test/test_suite_fft_int32.c.o
[100%] Linking CXX static library libNE10_test_demo.a
[100%] Built target NE10_test_demo_
Furthermore, if I "export NE10_IOS_TARGET_ARCH=armv7", then there are two errors in the "make".
_[ 1%] Generating CMakeFiles/NE10.dir/NE10_physics_ios.neon.s
[ 1%] Generating CMakeFiles/NE10.dir/NE10_abs_ios.neon.s
[ 2%] Generating CMakeFiles/NE10.dir/NE10_add_ios.neon.s
[ 3%] Generating CMakeFiles/NE10.dir/NE10_div_ios.neon.s
[ 4%] Generating CMakeFiles/NE10.dir/NE10_len_ios.neon.s
[ 5%] Generating CMakeFiles/NE10.dir/NE10_mla_ios.neon.s
[ 5%] Generating CMakeFiles/NE10.dir/NE10_mul_ios.neon.s
[ 6%] Generating CMakeFiles/NE10.dir/NE10_normalize_ios.neon.s
[ 7%] Generating CMakeFiles/NE10.dir/NE10_sub_ios.neon.s
[ 8%] Generating CMakeFiles/NE10.dir/NE10_dot_ios.neon.s
[ 9%] Generating CMakeFiles/NE10.dir/NE10_cross_ios.neon.s
[ 10%] Generating CMakeFiles/NE10.dir/NE10_mulmat_ios.neon.s
[ 10%] Generating CMakeFiles/NE10.dir/NE10_mulcmatvec_ios.neon.s
[ 11%] Generating CMakeFiles/NE10.dir/NE10_detmat_ios.neon.s
[ 12%] Generating CMakeFiles/NE10.dir/NE10_invmat_ios.neon.s
[ 13%] Generating CMakeFiles/NE10.dir/NE10_transmat_ios.neon.s
[ 14%] Generating CMakeFiles/NE10.dir/NE10_identitymat_ios.neon.s
[ 14%] Generating CMakeFiles/NE10.dir/NE10_rotate_ios.neon.s
Scanning dependencies of target NE10
[ 15%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_abs.c.o
[ 16%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_addc.c.o
[ 17%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_add.c.o
[ 18%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_divc.c.o
[ 18%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_div.c.o
[ 19%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_len.c.o
[ 20%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mlac.c.o
[ 21%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mla.c.o
[ 22%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mulc.c.o
[ 22%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mul.c.o
[ 23%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_normalize.c.o
[ 24%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_rsbc.c.o
[ 25%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_setc.c.o
[ 26%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_subc.c.o
[ 27%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_sub.c.o
[ 27%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_dot.c.o
[ 28%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_cross.c.o
[ 29%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_addmat.c.o
[ 30%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_submat.c.o
[ 31%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mulmat.c.o
[ 31%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mulcmatvec.c.o
[ 32%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_detmat.c.o
[ 33%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_invmat.c.o
[ 34%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_transmat.c.o
[ 35%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_identitymat.c.o
[ 36%] Building C object modules/CMakeFiles/NE10.dir/__/common/NE10_mask_table.c.o
[ 36%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft.c.o
[ 37%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_float32.c.o
[ 38%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_float32.c.o
[ 39%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_int32.cpp.o
[ 40%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_rfft_float32.c.o
[ 40%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int32.c.o
[ 41%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int16.c.o
[ 42%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fir.c.o
[ 43%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fir_init.c.o
[ 44%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_iir.c.o
[ 45%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_iir_init.c.o
[ 45%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_resize.c.o
[ 46%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_rotate.c.o
[ 47%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_boxfilter.c.o
/Users/Jun/Downloads/Ne10-master/modules/imgproc/NE10_boxfilter.c:382:18: warning:
format specifies type 'int' but the argument has type 'unsigned long'
[-Wformat]
sizeof (ne10_uint8_t) *
^~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
/Users/Jun/Downloads/Ne10-master/modules/imgproc/NE10_boxfilter.c:382:18: warning:
format specifies type 'int' but the argument has type 'unsigned long'
[-Wformat]
sizeof (ne10_uint8_t) *
^~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 48%] Building C object modules/CMakeFiles/NE10.dir/physics/NE10_physics.c.o
[ 49%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_addc.neon.c.o
[ 50%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_divc.neon.c.o
[ 50%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mlac.neon.c.o
[ 51%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mulc.neon.c.o
[ 52%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_rsbc.neon.c.o
[ 53%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_setc.neon.c.o
[ 54%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_subc.neon.c.o
[ 54%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_addmat.neon.c.o
[ 55%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_submat.neon.c.o
[ 56%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_float32.neonintrinsic.c.o
[ 57%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int32.neonintrinsic.c.o
[ 58%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int16.neonintrinsic.c.o
[ 59%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_rfft_float32.neonintrinsic.c.o
[ 59%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_float32.neonintrinsic.cpp.o
[ 60%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_int32.neonintrinsic.cpp.o
[ 61%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_resize.neon.c.o
[ 62%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_boxfilter.neon.c.o
/Users/Jun/Downloads/Ne10-master/modules/imgproc/NE10_boxfilter.neon.c:281:18: warning:
format specifies type 'int' but the argument has type 'unsigned long'
[-Wformat]
sizeof (ne10_uint32_t) *
^~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
/Users/Jun/Downloads/Ne10-master/modules/imgproc/NE10_boxfilter.neon.c:281:18: warning:
format specifies type 'int' but the argument has type 'unsigned long'
[-Wformat]
sizeof (ne10_uint32_t) *
^~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 63%] Building C object modules/CMakeFiles/NE10.dir/physics/NE10_physics.neon.c.o
[ 63%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_abs_ios.neon.s.o
[ 64%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_add_ios.neon.s.o
[ 65%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_div_ios.neon.s.o
[ 66%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_len_ios.neon.s.o
[ 67%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_mla_ios.neon.s.o
[ 68%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_mul_ios.neon.s.o
[ 68%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_normalize_ios.neon.s.o
[ 69%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_sub_ios.neon.s.o
[ 70%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_dot_ios.neon.s.o
[ 71%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_cross_ios.neon.s.o
[ 72%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_mulmat_ios.neon.s.o
[ 72%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_mulcmatvec_ios.neon.s.o
[ 73%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_detmat_ios.neon.s.o
[ 74%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_invmat_ios.neon.s.o
[ 75%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_transmat_ios.neon.s.o
[ 76%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_identitymat_ios.neon.s.o
[ 77%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_rotate_ios.neon.s.o
[ 77%] Building C object modules/CMakeFiles/NE10.dir/CMakeFiles/NE10.dir/NE10_physics_ios.neon.s.o
[ 78%] Building C object modules/CMakeFiles/NE10.dir/NE10_init.c.o
[ 79%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_init_math.c.o
[ 80%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_init_dsp.c.o
[ 81%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_init_imgproc.c.o
[ 81%] Building C object modules/CMakeFiles/NE10.dir/physics/NE10_init_physics.c.o
[ 82%] Linking C static library libNE10.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: armv7 file: libNE10.a(NE10_physics.neon.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: armv7 file: libNE10.a(NE10_rotate_ios.neon.s.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: armv7 file: libNE10.a(NE10_physics_ios.neon.s.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: armv7s file: libNE10.a(NE10_physics.neon.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: armv7s file: libNE10.a(NE10_rotate_ios.neon.s.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: armv7s file: libNE10.a(NE10_physics_ios.neon.s.o) has no symbols
[ 82%] Built target NE10
Scanning dependencies of target NE10_test_static
[ 82%] Building C object samples/CMakeFiles/NE10_test_static.dir/NE10_sample_complex_fft.c.o
[ 83%] Building C object samples/CMakeFiles/NE10_test_static.dir/NE10_sample_fir.c.o
[ 84%] Building C object samples/CMakeFiles/NE10_test_static.dir/NE10_sample_intro.c.o
[ 85%] Building C object samples/CMakeFiles/NE10_test_static.dir/NE10_sample_matrix_multiply.c.o
[ 86%] Building C object samples/CMakeFiles/NE10_test_static.dir/NE10_samples.c.o
[ 87%] Linking CXX executable NE10_test_static
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of iOS 7 [-Wdeprecated]
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of iOS 7 [-Wdeprecated]
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of iOS 7 [-Wdeprecated]
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of iOS 7 [-Wdeprecated]
ld: library not found for -lcrt1.3.1.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [samples/NE10_test_static] Error 1
make[1]: *** [samples/CMakeFiles/NE10_test_static.dir/all] Error 2
make: *** [all] Error 2_
Hope it is helpful to find the solution. Thanks.
Looks like it's cmake (from brew?) new xcode support issue. It must change -lstdc++ -> -lc++ linker switch by default.
Yes, I install cmake using brew. Is it the problem? And How to fix it? Thanks.
It must be fixed in cmake itself, but as quick hack may be this helps: https://stackoverflow.com/questions/27178106/linking-libc-to-cmake-project-on-linux
Thanks. I will try and get back to you soon.
I read #142 and try some solutions. Xcode has reported many error information, as updated in the original question. @joesavage
It looks like you've followed almost exactly the same path as @tipycalFlow in #142. And from the errors you've updated your original question with, it looks like you've reached the same conclusion too. As I suspected, the math functions being used in the iOS demo are causing you problems due to #150.
As a workaround, I think you should be able to build the demo for a 32-bit target, linking it against a version of the library compiled for ARMv7. I do remember reading something recently about Apple dropping support for 32-bit apps, though, so I'm not sure how easy that is to do now. In any case, another temporary solution is to simply remove the math functions from the demo application. Ultimately, though, this is something we should fix by providing better 64-bit support in the library, as outlined in #150.
@joesavage Current iphones (from 5s to 7+) are all ARM64. So it means we cannot use the Ne10 framework on these iphones if we need any math functions which are reported error? Is the 64-bit support on the plan?
Thanks.
Even though most iPhones are 64-bit machines these days, that shouldn't prevent you from running them in AArch32 mode, which would allow you to use Ne10's ARMv7-only math and physics functions. That being said, doing this is often undesirable, and as I noted previously may soon be impossible.
Resolving issue #150 by providing AArch64 support for these functions is really important because of this. I can't make any guarantees for when (or even if) this will be resolved, however, as Ne10 has a severe lack of development resources at the moment.
Got it. Thanks.
I successfully run the demo on my iphone 6s+ using following method:
cd $NE10_PATH
mkdir build && cd build
export IOS_DEVELOPER_PATH=/Applications/Xcode.app/Contents/Developer
export NE10_IOS_TARGET_ARCH=armv7
cmake -DCMAKE_TOOLCHAIN_FILE=../ios/ios_config.cmake .. -DMIN_IOS_VER=8.0 (according to issue #142 )
make
make install
Open demo project in XCode. Then set "Deployment Target" to "8.0" or later set "Build Active Architecture Only" to "No" If there are linker errors set “Enable Bitcode" to "No"
Hope it can help.
I build NE10 in my imac (MacOS Sierra, version 10.12.1) according to the building.md document.
It all passed.
Then I open the NE10Demo project from Xcode(Version 8.3.3), my connected phone is iphone 6s Plus (IOS 10.3.2).
I set "Deployment Target" to 10.3, "Building Active Architecture Only" to Yes, "Valid Architectures" to "arm64".
However, Xcode reports Linker Error "clang: error: linker command failed with exit code 1 (use -v to see invocation)"
I googled and set "Enable Bitcode" to "NO". Then many errors are reported as follows:
Apple Mach-O Linker (ld) Error Group "ne10_mulcmatvec_cm4x4f_v4f_neon", referenced from:
"_ne10_transmat_3x3f_c", referenced from:
"ne10_transmat_3x3f_neon", referenced from:
"_ne10_transmat_4x4f_c", referenced from:
"_ne10_submat_2x2f_c", referenced from:
"_ne10_mulcmatvec_cm4x4f_v4f_c", referenced from:
"_ne10_submat_3x3f_c", referenced from:
"_ne10_mulmat_2x2f_c", referenced from:
"ne10_mulmat_2x2f_neon", referenced from:
"ne10_mulmat_3x3f_neon", referenced from:
"_ne10_mulmat_4x4f_c", referenced from:
"_ne10_invmat_2x2f_c", referenced from:
"ne10_invmat_2x2f_neon", referenced from:
"ne10_invmat_3x3f_neon", referenced from:
"_ne10_identitymat_2x2f_c", referenced from:
"ne10_mulmat_4x4f_neon", referenced from:
"_ne10_identitymat_4x4f_c", referenced from:
"ne10_identitymat_4x4f_neon", referenced from:
"ne10_detmat_2x2f_neon", referenced from:
"_ne10_detmat_3x3f_c", referenced from:
"_ne10_detmat_4x4f_c", referenced from:
"_ne10_addmat_2x2f_c", referenced from:
"ne10_detmat_3x3f_neon", referenced from:
"_ne10_addmat_2x2f_neon", referenced from:
"_ne10_addmat_3x3f_c", referenced from:
"ne10_detmat_4x4f_neon", referenced from:
"_ne10_addmat_3x3f_neon", referenced from:
"_ne10_addmat_4x4f_neon", referenced from:
"ne10_sub_float_neon", referenced from:
"ne10_sub_vec2f_neon", referenced from:
"ne10_sub_vec3f_neon", referenced from:
"_ne10_subc_float_c", referenced from:
"_ne10_subc_float_neon", referenced from:
"_ne10_subc_vec2f_c", referenced from:
"_ne10_subc_vec3f_c", referenced from:
"_ne10_subc_vec3f_neon", referenced from:
"_ne10_subc_vec2f_neon", referenced from:
"_ne10_subc_vec4f_c", referenced from:
"_ne10_subc_vec4f_neon", referenced from:
"ne10_mulcmatvec_cm2x2f_v2f_neon", referenced from:
"_ne10_setc_float_c", referenced from:
"_ne10_setc_float_neon", referenced from:
"_ne10_setc_vec2f_c", referenced from:
"_ne10_setc_vec3f_c", referenced from:
"_ne10_setc_vec4f_c", referenced from:
"_ne10_submat_4x4f_c", referenced from:
"_ne10_rsbc_float_c", referenced from:
"_ne10_submat_4x4f_neon", referenced from:
"_ne10_rsbc_float_neon", referenced from:
"_ne10_sub_vec4f_c", referenced from:
"_ne10_normalize_vec4f_c", referenced from:
"_ne10_rsbc_vec3f_c", referenced from:
"_ne10_rsbc_vec4f_neon", referenced from:
"_ne10_sub_vec2f_c", referenced from:
"_ne10_normalize_vec2f_c", referenced from:
"ne10_normalize_vec2f_neon", referenced from:
"_ne10_mla_float_c", referenced from:
"ne10_normalize_vec3f_neon", referenced from:
"ne10_normalize_vec4f_neon", referenced from:
"_ne10_mulcmatvec_cm2x2f_v2f_c", referenced from:
"_ne10_vmul_vec2f_c", referenced from:
"_ne10_invmat_4x4f_c", referenced from:
"_ne10_sub_float_c", referenced from:
"ne10_vmul_vec3f_neon", referenced from:
"_ne10_invmat_3x3f_c", referenced from:
"_ne10_rsbc_vec3f_neon", referenced from:
"_ne10_sub_vec3f_c", referenced from:
"_ne10_rsbc_vec2f_c", referenced from:
"_ne10_mlac_vec3f_neon", referenced from:
"_ne10_normalize_vec3f_c", referenced from:
"_ne10_identitymat_3x3f_c", referenced from:
"_ne10_mulc_float_c", referenced from:
"ne10_vmul_vec4f_neon", referenced from:
"_ne10_mulc_vec2f_c", referenced from:
"_ne10_divc_vec3f_c", referenced from:
"_ne10_mulc_vec2f_neon", referenced from:
"_ne10_dot_vec4f_c", referenced from:
"_ne10_add_vec2f_c", referenced from:
"_ne10_mulc_vec3f_neon", referenced from:
"_ne10_detmat_2x2f_c", referenced from:
"_ne10_mulc_vec4f_c", referenced from:
"_ne10_dot_vec3f_c", referenced from:
"_ne10_mlac_float_neon", referenced from:
"ne10_mla_float_neon", referenced from:
"ne10_abs_vec4f_neon", referenced from:
"_ne10_vmla_vec2f_c", referenced from:
"_ne10_addc_vec4f_c", referenced from:
"ne10_vmla_vec3f_neon", referenced from:
"_ne10_mulc_float_neon", referenced from:
"_ne10_transmat_2x2f_c", referenced from:
"_ne10_vmla_vec4f_c", referenced from:
"ne10_vmla_vec4f_neon", referenced from:
"_ne10_mlac_float_c", referenced from:
"ne10_cross_vec3f_neon", referenced from:
"_ne10_mlac_vec2f_c", referenced from:
"_ne10_mulmat_3x3f_c", referenced from:
"_ne10_vmla_vec3f_c", referenced from:
"_ne10_abs_vec3f_c", referenced from:
"_ne10_mlac_vec2f_neon", referenced from:
"_ne10_mlac_vec4f_c", referenced from:
"_ne10_len_vec3f_c", referenced from:
"_ne10_len_vec4f_c", referenced from:
"ne10_len_vec4f_neon", referenced from:
"_ne10_dot_vec2f_c", referenced from:
"_ne10_abs_float_c", referenced from:
"ne10_vmul_vec2f_neon", referenced from:
"ne10_sub_vec4f_neon", referenced from:
"_ne10_div_float_c", referenced from:
"_ne10_vdiv_vec3f_c", referenced from:
"ne10_abs_vec2f_neon", referenced from:
"ne10_vdiv_vec3f_neon", referenced from:
"_ne10_divc_vec3f_neon", referenced from:
"ne10_add_float_neon", referenced from:
"ne10_add_vec3f_neon", referenced from:
"ne10_addc_float_neon", referenced from:
"_ne10_vdiv_vec4f_c", referenced from:
"ne10_abs_vec3f_neon", referenced from:
"ne10_vdiv_vec4f_neon", referenced from:
"_ne10_divc_vec2f_neon", referenced from:
"_ne10_mlac_vec3f_c", referenced from:
"ne10_invmat_4x4f_neon", referenced from:
"_ne10_divc_vec4f_c", referenced from:
"_ne10_divc_float_neon", referenced from:
"_ne10_cross_vec3f_c", referenced from:
"_ne10_mulc_vec3f_c", referenced from:
"ne10_identitymat_2x2f_neon", referenced from:
"_ne10_setc_vec2f_neon", referenced from:
"_ne10_add_float_c", referenced from:
"_ne10_divc_vec2f_c", referenced from:
"ne10_add_vec4f_neon", referenced from:
"_ne10_submat_2x2f_neon", referenced from:
"ne10_addc_vec2f_neon", referenced from:
"_ne10_mlac_vec4f_neon", referenced from:
"_ne10_vdiv_vec2f_c", referenced from:
"ne10_vdiv_vec2f_neon", referenced from:
"_ne10_vmul_vec4f_c", referenced from:
"ne10_transmat_4x4f_neon", referenced from:
"ne10_len_vec3f_neon", referenced from:
"_ne10_add_vec3f_c", referenced from:
"ne10_addc_vec4f_neon", referenced from:
"_ne10_add_vec4f_c", referenced from:
"_ne10_addc_vec3f_c", referenced from:
"_ne10_mul_float_c", referenced from:
"_ne10_vmul_vec3f_c", referenced from:
"ne10_vmla_vec2f_neon", referenced from:
"ne10_mul_float_neon", referenced from:
"_ne10_submat_3x3f_neon", referenced from:
"_ne10_divc_float_c", referenced from:
"_ne10_len_vec2f_c", referenced from:
"ne10_abs_float_neon", referenced from:
"ne10_dot_vec4f_neon", referenced from:
"ne10_add_vec2f_neon", referenced from:
"_ne10_mulc_vec4f_neon", referenced from:
"ne10_mulcmatvec_cm3x3f_v3f_neon", referenced from:
"ne10_div_float_neon", referenced from:
"ne10_identitymat_3x3f_neon", referenced from:
"ne10_addc_vec3f_neon", referenced from:
"_ne10_addmat_4x4f_c", referenced from:
"_ne10_addc_float_c", referenced from:
"_ne10_abs_vec2f_c", referenced from:
"_ne10_mulcmatvec_cm3x3f_v3f_c", referenced from:
"_ne10_addc_vec2f_c", referenced from:
"ne10_transmat_2x2f_neon", referenced from:
"_ne10_setc_vec4f_neon", referenced from:
"ne10_dot_vec3f_neon", referenced from:
"_ne10_abs_vec4f_c", referenced from:
"_ne10_setc_vec3f_neon", referenced from:
"ne10_dot_vec2f_neon", referenced from:
"_ne10_rsbc_vec4f_c", referenced from:
"ne10_len_vec2f_neon", referenced from:
"_ne10_divc_vec4f_neon", referenced from:
"_ne10_rsbc_vec2f_neon", referenced from:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
How to solve it? Thanks.