OpenBLAS Link error - qcc (QNX - c++) with armadillo -

42 Views Asked by At

Currently creating a process that uses armadillo - this one depends on libopenblas.so

libarmadillo was ported to qnx71/aarch64le and so was libopenblas.

My problem is when I link the libraries, I see a list of link errors - these functions cannot be found:

/data/build/qnx710/host/linux/x86_64/usr/bin/aarch64-unknown-nto-qnx7.1.0-ld: /ML/external/qnx7.1/aarchle64/lib/libarmadillo.so: undefined reference to `cgemv_' (etc...) These are the functions not found:

cgemv_' , sdot_', snrm2_', zherk_', dgemm_', sasum_', cgemm_', dnrm2_', zgemm_', zgemv_', ddot_', sgemm_', dsyrk_', dasum_', dgemv_', sgemv_', cherk_', ssyrk_'

If I do an objdump -t on the libopenblas.so file, I can see the functions plus a letter; as an example, I see this:

objdump -t ~/ML/lib/qnx7.1-aarch64le/lib/libopenblas.so | grep cgemv_ 0000000000067fa0 g F .text 00000000000003f4 cgemv_thread_o 0000000000068418 g F .text 0000000000000130 cgemv_thread_u 00000000000685d8 g F .text 00000000000003f4 cgemv_thread_s 000000000005ab50 g F .text 0000000000000130 cgemv_thread_t 000000000005a6d8 g F .text 00000000000003f4 cgemv_thread_n 000000000018b470 g F .text 00000000000006a0 cgemv_n 0000000000068a50 g F .text 0000000000000130 cgemv_thread_d 0000000000067de0 g F .text 0000000000000130 cgemv_thread_c 000000000018c608 g F .text 0000000000000444 cgemv_c 0000000000067968 g F .text 00000000000003f4 cgemv_thread_r 000000000018dbe8 g F .text 0000000000000444 cgemv_d 000000000018d548 g F .text 00000000000006a0 cgemv_s 000000000018bf58 g F .text 00000000000006b0 cgemv_r 000000000018ca50 g F .text 00000000000006b0 cgemv_o 000000000018d100 g F .text 0000000000000444 cgemv_u 000000000018bb10 g F .text 0000000000000444 cgemv_t

There is a slight difference in functions signature.

Any idea why armadillo is looking for "cgemv_" ... and libopenblas is offering these above (like cgemv_d, etc...)

0

There are 0 best solutions below