Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Howard_Weiss
Beginner
406 Views

64 bit Linux: could not read symbols: Archive has no index; run ranlib to add one

I am building a shared library for both 32 bit and 64 bit Linux. Main module is compiler with g++; It in loads a static library created with Intel Composer XE C++ 2011 for Linux. All elements are built in release mode
All this works fine under ia32. However, under intel 64, the link step fails as follows;
g++ -L"/home/spyder/IntelCompiler/BalsamDLL/Release" -L/opt/intel/mkl/lib/intel64 -L"/home/spyder/IntelCompiler/btImage/Release" -L"/home/spyder/IntelCompiler/chipimaging/Release_i" -L"/home/spyder/IntelCompiler/utilitieschipimaging/Release" -pthread -Wl,-rpath,/opt/intel/mkl/lib/intel64 -shared -o"libChipImagingWrapper.so" ./ChipImagingWrapper.o -lpthread -lmkl_core -lmkl_sequential -lBalsamDLL -lm -lmkl_intel_lp64 -lrt -lchipimaging -lbtImage -lutilitiestest
/home/spyder/IntelCompiler/chipimaging/Release_i/libchipimaging.a: could not read symbols: Archive has no index; run ranlib to add one
I have tried running ranlib and also running xiar with -s flag to no avail.
Any suggestions?







0 Kudos
3 Replies
aazue
New Contributor I
406 Views

Hi
??? Is used normally for old version but maybe test with added flag -fPIC as first (g++ -fPIC .......)
(xiar & xild) only if you have use ipo i think ??
regards
Howard_Weiss
Beginner
406 Views

Problem was -S option was selected (Source code)
JLuna5
New Contributor I
406 Views

Linux no utiliza el codigo ascii en el teclado como lo podemos hacer en windows.
Reply