[dm-crypt] problem with uuid library while cross-compiling for zynq

Brandi, Rocco (KHHQ) Rocco.Brandi at kelvinhughes.co.uk
Mon Apr 18 16:56:08 CEST 2016


Hi, I am trying to cross-compiling cryptsetup-1.7.1 for Xilinx zynq, but I have some problem with the uuid library.

That is what I have done:
-I have configured the kernel (Xilinx-4.0) with the regular and devel libraries of e2fsprogs and util-linux (and also popt), so in the target filesystem I can see ./user/include/uuid/uiid.h file;
-I have cross-compiled lvm2-2_02_150 (device-mapper) and  libgcrypt-1.6.5 (which requires libgpg-error-1.21) libraries and installed them in the target filesystem;
-I have run configure with the following settings:
./configure --build=x86_64-pc-linux-gnu  --host=arm-xilinx-linux-gnueabi --target=arm-xilinx-linux-gnueabi CC=arm-xilinx-linux-gnueabi-gcc CPP= arm-xilinx-linux-gnueabi-gcc  CFLAGS=-I$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr/include LIBS=-L$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr/lib\
--includedir=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr/include --libdir=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/lib --program-prefix= \
--prefix=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr --bindir=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr/bin \
--sbindir=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr/sbin --sysconfdir=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/etc \
--datadir=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr/share --localstatedir=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/var \
--libexecdir=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr/libexec --infodir=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr/share/info \
--with-libgcrypt-prefix=$PETALINUX_PROJ_DIR/build/linux/rootfs/targetroot/usr --disable-silent-rules

During configuration I have the following messages:
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... no
configure: WARNING: uuid/uuid.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: uuid/uuid.h: proceeding with the compiler's result
checking for uuid/uuid.h... yes
checking libdevmapper.h usability... yes
checking libdevmapper.h presence... no
configure: WARNING: libdevmapper.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: libdevmapper.h: proceeding with the compiler's result
checking for libdevmapper.h... yes
checking for uuid_clear in -luuid... yes

but when I run make & make install I have the following error:
libtool: link: arm-xilinx-linux-gnueabi-gcc -Wall -I/mnt/data/home/user/petalinux-projects/Software_355/server/Software/zynq/dtx_a350/build/linux/rootfs/targetroot/usr/include -o .libs/cryptsetup cryptsetup-utils_crypt.o cryptsetup-utils_loop.o cryptsetup-utils_tools.o cryptsetup-utils_password.o cryptsetup-cryptsetup.o  ../lib/.libs/libcryptsetup.so /mnt/data/home/user/petalinux-projects/Software_355/server/Software/zynq/dtx_a350/build/linux/rootfs/targetroot/usr/lib/libpopt.so -L/mnt/data/home/user/petalinux-projects/Software_355/server/Software/zynq/dtx_a350/build/linux/rootfs/targetroot/usr/lib -Wl,-rpath -Wl,/mnt/data/home/user/petalinux-projects/Software_355/server/Software/zynq/dtx_a350/build/linux/rootfs/targetroot/lib -Wl,-rpath -Wl,/mnt/data/home/user/petalinux-projects/Software_355/server/Software/zynq/dtx_a350/build/linux/rootfs/targetroot/usr/lib
../lib/.libs/libcryptsetup.so: undefined reference to `uuid_parse'
../lib/.libs/libcryptsetup.so: undefined reference to `uuid_generate'
../lib/.libs/libcryptsetup.so: undefined reference to `uuid_unparse'

Opening Makefile, I can see that variable UUID_LIBS  is set to the proper path
UUID_LIBS = -luuid -L/mnt/data/home/user/petalinux-projects/Software_355/server/Software/zynq/dtx_a350/build/linux/rootfs/targetroot/usr/lib

I have seen on the web that could be a problem of order while linking the libraries, but how can I put the link the libraries in correct order? Or the problem could be somewhere else, as during configuration can't  check presence of uuid/uiid.h?

Best Regars,
Rocco

________________________________

************************************************
The information contained in, or attached to, this e-mail, may contain confidential information and is intended solely for the use of the individual or entity to whom they are addressed and may be subject to legal privilege. If you have received this e-mail in error you should notify the sender immediately by reply e-mail, delete the message from your system and notify your system manager. Please do not copy it for any purpose, or disclose its contents to any other person. The views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of the company. The recipient should check this e-mail and any attachments for the presence of viruses. The company accepts no liability for any damage caused, directly or indirectly, by any virus transmitted in this email.
************************************************

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.saout.de/pipermail/dm-crypt/attachments/20160418/e39fb4fe/attachment.html>


More information about the dm-crypt mailing list