Hi Zhangfei,
Hi, Akhil
On 2022/10/11 下午5:22, Akhil Goyal wrote:
gakhil@cavium-SR1-T640:/home/gakhil/up/uadk$ make make all-recursive make[1]: Entering directory '/home/gakhil/up/uadk' Making all in . make[2]: Entering directory '/home/gakhil/up/uadk' depbase=`echo wd.lo | sed 's|[^/]*$|.deps/&|;s|.lo$||'`;\ /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -
I.
Wall -Werror -fno-strict-aliasing -I./include - DUADK_VERSION_NUMBER=""UADK version: 2.3.37"" - DUADK_RELEASED_TIME=""Released Jun 11, 2022"" -g -O2 -MT wd.lo -
MD -
MP -MF $depbase.Tpo -c -o wd.lo wd.c &&\
mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -Wall -Werror -fno-strict-
aliasing -
I./include "-DUADK_VERSION_NUMBER="UADK version: 2.3.37"" "- DUADK_RELEASED_TIME="Released Jun 11, 2022"" -g -O2 -MT wd.lo -
MD
MP
-MF .deps/wd.Tpo -c wd.c -fPIC -DPIC -o .libs/wd.o
depbase=`echo wd_mempool.lo | sed 's|[^/]*$|.deps/&|;s|.lo$||'`;\ /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -
I.
Wall -Werror -fno-strict-aliasing -I./include - DUADK_VERSION_NUMBER=""UADK version: 2.3.37"" - DUADK_RELEASED_TIME=""Released Jun 11, 2022"" -g -O2 -MT wd_mempool.lo -MD -MP -MF $depbase.Tpo -c -o wd_mempool.lo wd_mempool.c &&\
mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -Wall -Werror -fno-strict-
aliasing -
I./include "-DUADK_VERSION_NUMBER="UADK version: 2.3.37"" "- DUADK_RELEASED_TIME="Released Jun 11, 2022"" -g -O2 -MT wd_mempool.lo -MD -MP -MF .deps/wd_mempool.Tpo -c wd_mempool.c
fPIC
-DPIC -o .libs/wd_mempool.o
depbase=`echo v1/wd.lo | sed 's|[^/]*$|.deps/&|;s|.lo$||'`;\ /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -
I.
Wall -Werror -fno-strict-aliasing -I./include - DUADK_VERSION_NUMBER=""UADK version: 2.3.37"" - DUADK_RELEASED_TIME=""Released Jun 11, 2022"" -g -O2 -MT
v1/wd.lo
MD
-MP -MF $depbase.Tpo -c -o v1/wd.lo v1/wd.c &&\
mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -Wall -Werror -fno-strict-
aliasing -
I./include "-DUADK_VERSION_NUMBER="UADK version: 2.3.37"" "- DUADK_RELEASED_TIME="Released Jun 11, 2022"" -g -O2 -MT v1/wd.lo
MD -
MP -MF v1/.deps/wd.Tpo -c v1/wd.c -fPIC -DPIC -o v1/.libs/wd.o
In file included from v1/wd.c:30: ./v1/wd_util.h:354:2: error: #error "no platform mb, define one before
compiling"
354 | #error "no platform mb, define one before compiling" | ^~~~~
make[2]: *** [Makefile:788: v1/wd.lo] Error 1 make[2]: Leaving directory '/home/gakhil/up/uadk' make[1]: *** [Makefile:859: all-recursive] Error 1 make[1]: Leaving directory '/home/gakhil/up/uadk' make: *** [Makefile:565: all] Error 2
By the way, what platform are you using. I can not reproduce this error.
I am compiling on Intel XEON server with ubuntu 18.04
Any update??
The uadk lib needs cross-compile on x86. Toolchain: https://urldefense.proofpoint.com/v2/url?u=https- 3A__releases.linaro.org_components_toolchain_binaries_latest-
2D7_aarch64-
2Dlinux-
2Dgnu_&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwpZ9TWey
3eu68gBzn7DkPwuqhd6WNyo&m=91MX2Cs8jDO3kZ8m02cjnNdNxbSoW7V9DE
o6KPhTRzdWILxa_DQzYPoa5c5Lq9Q8&s=2- jhckUNn9LCXbLaFaAEdl_5seC82SCXxvkVQEPnNz0&e= Details are documented in https://urldefense.proofpoint.com/v2/url?u=https-
3A__github.com_Linaro_uadk_blob_master_INSTALL&d=DwIDaQ&c=nKjWec2b
6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m
=91MX2Cs8jDO3kZ8m02cjnNdNxbSoW7V9DEo6KPhTRzdWILxa_DQzYPoa5c5Lq9
Q8&s=pyjDRDPApEQXxPjZ4q0QlXT5DgmAAYdZtNscFbRp8lk&e=
Considering the confusion caused by simple build info in README, We are planning to remove the simple build step in README, only keeps INSTALL. https://urldefense.proofpoint.com/v2/url?u=https-
3A__github.com_Linaro_uadk_pull_510&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7x
tfQ&r=DnL7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m=91MX2Cs8jD
O3kZ8m02cjnNdNxbSoW7V9DEo6KPhTRzdWILxa_DQzYPoa5c5Lq9Q8&s=m6I26
VelKVBjODnByclMKGtmaSEN2kv8ACeZsWbPTg4&e=
Since there are some dependent libraries (libz & openssl) causes cross-compile complicated. We are planning to omit build tests if not found these libs https://urldefense.proofpoint.com/v2/url?u=https-
3A__github.com_Linaro_uadk_pull_508&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7x
tfQ&r=DnL7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m=91MX2Cs8jD
O3kZ8m02cjnNdNxbSoW7V9DEo6KPhTRzdWILxa_DQzYPoa5c5Lq9Q8&s=tcbWSI
hyL8b2mX4-Ta54bR4kH2fNkezlmVD24I09mTc&e=
Only libnuma is must required for lib. Fortunately the numa cross compile is simple
3A__github.com_Linaro_uadk_blob_master_INSTALL&d=DwIDaQ&c=nKjWec2b
6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m
=91MX2Cs8jDO3kZ8m02cjnNdNxbSoW7V9DEo6KPhTRzdWILxa_DQzYPoa5c5Lq9
Q8&s=pyjDRDPApEQXxPjZ4q0QlXT5DgmAAYdZtNscFbRp8lk&e= $git clone https://urldefense.proofpoint.com/v2/url?u=https-
3A__github.com_numactl_numactl.git&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xt
fQ&r=DnL7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m=91MX2Cs8jD
O3kZ8m02cjnNdNxbSoW7V9DEo6KPhTRzdWILxa_DQzYPoa5c5Lq9Q8&s=hZdhP
WLMGMgV9tP7nEQY1G_iWnODYJMCfR41whWchSU&e= $cd numactl $./autogen.sh $autoconf -i $CC=aarch64-linux-gnu-gcc ./configure --host=i386-linux-gnu --target=aarch64-linux-gnu --prefix=${LIBROOT}/usr/local $make $make install
Do you think we still need paste uadk build steps (and cross-compile steps) on dpdk doc/guides/cryptodevs/uadk.rst
Is it not possible to use pkg-config?
Also while building on DPDK which config file is needed? Do you need that also to be cross compiled?
And even if I do manual copy of numa(lib and headers) in the toolchain (which I believe should not be done).
I still see issues in installing uadk. It does not allow to install in a directory and does not make a pkgconfig file which can be used by DPDK to build the crypto driver. Please check how other PMDs are doing with external libs. In DPDK, we take external dependent libs via pkg-config only.