[dpdk-users] Fwd: Undelivered Mail Returned to Sender

Chinmaya Dwibedy ckdwibedy at gmail.com
Thu Jul 28 06:49:27 CEST 2016


Hi All,



I have downloaded the IPsec mult-buffer library (ipsec_043.zip) from Intel
site (mentioned at http://dpdk.org/doc/guides-16.04/cryptodevs/aesni_mb.html)
and compiled it using #make YASM=/usr/bin/yasm. Upon trying to create a
shared library from static library using #gcc -shared -Wl,--whole-archive
libIPSec_MB.a -o libIPSec_MB.so, it gives the below link error.



/usr/bin/ld: libIPSec_MB.a(aes128_cntr_by4_sse.o): relocation R_X86_64_PC32
against symbol `byteswap_const' cannot be used when making a shared object;
recompile with -fPIC

/usr/bin/ld: final link failed: Bad value

collect2: error: ld returned 1 exit status

[root at mgmt-rig-7 code]#



The version of yasm is 1.3.0.  The release note at
http://yasm.tortall.net/releases/Release1.3.0.html clearly says that,
yasm-1.3.0 has a full support for shared objects. Then why it gives
aforesaid error. Can anyone please let me know if I am missing anything or
it is an issue with yasm? Thank you in advance for your support and time.
Please feel free to let me know if additional information is needed.





Here are the procedures followed to configure and install yasm.



wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

tar -xvzf yasm-1.3.0.tar.gz

cd yasm-1.3.0

./configure && make -j 4 && sudo make install



[root at local code]# /usr/bin/yasm --version

yasm 1.3.0

Compiled on Jul 28 2016.

Copyright (c) 2001-2014 Peter Johnson and other Yasm developers.

Run yasm --license for licensing overview and summary.

[root@ local code]#



Here are the complier flags and assembler flags used in Makefile.



LIB=libIPSec_MB.a

YASM=/nfs/site/disks/iots4/engineering/cai_isa/tools/yasm-bdw/yasm

OBJ_DIR=obj

INCLUDE_DIRS := include .



INCLUDES := $(foreach i,$(INCLUDE_DIRS),-I $i)



CXX := g++

CC  := gcc

CXXFLAGS := -g -D LINUX -D NDEBUG $(INCLUDES) -O2 -fPIC

ASMFLAGS := -f x64 -f elf64 -X gnu -g dwarf2 -D LINUX -D __linux__
$(INCLUDES)



Regards,

Chinmaya


More information about the users mailing list