01-25-2011 05:44 PM
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.