- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am linking to the Pardiso solver on a Mac. Ever since I upgraded to composer_xe_2013 my code is being dynamically linked to libcilkrts.dylib, which is undesirable since the code is redistributed. Note that this did not happen with the earlier compiler and MKL. Is there a way to not link to the dynamic library?
Thanks,
Dave
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As far as I know, PARDISO does not depend on libcilkrts. Would you please share your compile and link options? I need to see how the code is built. Also, let me know the MacOS version.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
libcilkrts should not be required unless your own source code or a non-MKL library you call uses one of the 3 Cilk(tm) Plus parallel keywords, and would be linked by a -lcilkrts in your own link command. So it shouldn't be associated with MKL. Although 2 years ago it was said that MKL would be changed from OpenMP to cilkrts, I'd heard that plan was abandoned.
If you can't find the -lcilkrts in your own scripts, can you find it in the echo when you add -# to your link commands, hoping to find out where it came from? It's possible, although not good practice, that someone linked it into code you are using.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As Zhang said, this looks strange. I wonder if the standard icpc script for MacOS is set up to include cilkrts just in case you used Cilk and don't want to add -lcilkrts yourself. I hope there's a way to suppress it; maybe we need a Mac expert.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dave,
Thanks for sending your makefiles and build output. I'd have to check with our MacOS expert. I'll get back to you soon.
Zhang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Dave,
As we have upgraded the OS 10.8 and /opt/intel/composer_xe_2013_sp1.1.103, i did a quick test with pardiso_sym_c.c with the system. It is ture that the compiler will add -weak-lcirlrts into link line by default. but if no function use it, then the library won't be linked. Not sure where is the problem. but coud you please try the test on your machine with below command and let us know the result?
On the other hand, i saw MKL_LIB = $(MKL_PATH)libmkl_intel_lp64.a $(MKL_PATH)libmkl_intel_thread.a $(MKL_PATH)libmkl_core.a \
$(MKL_PATH)libmkl_pgi_thread.a $(INTEL_PATH)libiomp5.a.
is there any specifical reason for you to put the library pgi_thread here? Generally, you can get correct link command by http://software.intel.com/sites/products/mkl/MKL_Link_Line_Advisor.html
Best Regards,
Ying
cd /tmp
cp /opt/intel/composer_xe_2013.5.198/mkl/examples/solverc/source/pardiso_sym_c.c .
source /opt/intel/composer_xe_2013_sp1.1.103/bin/compilervars.sh intel64
icc pardiso_sym_c.c -static-intel -mkl -#
macmini01:tmp yhu5$ icc pardiso_sym_c.c -static-intel -mkl -#
/opt/intel/composer_xe_2013_sp1.1.103/bin/intel64/mcpcom \
-_g \
-mP3OPT_inline_alloca \
-D__HONOR_STD \
-D__ICC=1400 \
-D__INTEL_COMPILER=1400 \
-D__INTEL_COMPILER_UPDATE=1 \
-D__BLOCKS__ \
-D__PTRDIFF_TYPE__=long \
"-D__SIZE_TYPE__=unsigned long" \
-D__WCHAR_TYPE__=int \
-D__WINT_TYPE__=int \
"-D__INTMAX_TYPE__=long int" \
"-D__UINTMAX_TYPE__=long unsigned int" \
-D__LONG_MAX__=9223372036854775807L \
-D__QMSPP_ \
-D__OPTIMIZE__ \
-D__NO_MATH_INLINES \
-D__NO_STRING_INLINES \
-D__GNUC_GNU_INLINE__ \
-D__GNUC__=4 \
-D__GNUC_MINOR__=2 \
-D__GNUC_PATCHLEVEL__=1 \
-D__APPLE_CC__=5226 \
-D__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__=1084 \
-D__LITTLE_ENDIAN__ \
-D__DYNAMIC__ \
"-D__private_extern__=__attribute__((visibility("hidden")))" \
-D__LP64__ \
-D_LP64 \
-D__GXX_ABI_VERSION=1002 \
-D__USER_LABEL_PREFIX__=_ \
-D__REGISTER_PREFIX__= \
-D__INTEL_RTTI__ \
-D__x86_64 \
-D__x86_64__ \
"-_Acpu(x86_64)" \
"-_Amachine(x86_64)" \
-D_MT \
-D__INTEL_COMPILER_BUILD_DATE=20131010 \
-D__PIC__ \
-D__APPLE__ \
-D__MACH__ \
-D__pentium4 \
-D__pentium4__ \
-D__tune_pentium4__ \
-D__SSE2__ \
-D__SSE3__ \
-D__SSSE3__ \
-D__SSE__ \
-D__MMX__ \
-_k \
-_8 \
-_l \
-_D \
-_a \
-_b \
--gnu_version=421 \
-_W5 \
--gcc-extern-inline \
--multibyte_chars \
--blocks \
-I/opt/intel/composer_xe_2013_sp1.1.103/mkl/include/intel64/lp64 \
-I/opt/intel/composer_xe_2013_sp1.1.103/mkl/include \
--sys_include \
/opt/intel/composer_xe_2013_sp1.1.103/mkl/include \
--sys_include \
/opt/intel/composer_xe_2013_sp1.1.103/tbb/include \
--sys_include \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/include/intel64 \
--sys_include \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/include \
--fwk_include \
/System/Library/Frameworks \
--fwk_include \
/Library/Frameworks \
--sys_include \
/usr/local/include \
--sys_include \
/usr/include \
--array_section \
--simd \
--simd_func \
--clang_extensions \
-mP1OPT_version=14.0-intel64 \
-mGLOB_diag_file=/var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccfQ8yjj.diag \
-mGLOB_diag_use_message_catalog=FALSE \
-mP1OPT_print_version=FALSE \
-mCG_use_gas_got_workaround=F \
-mP2OPT_align_option_used=TRUE \
-mGLOB_gcc_version=421 \
"-mGLOB_options_string=-static-intel -mkl -#" \
-mGLOB_position_independent_code \
-mGLOB_preemption_model=1 \
-mGLOB_no_compact_unwind=TRUE \
-mGLOB_cxx_limited_range=FALSE \
-mCG_extend_parms=FALSE \
-mGLOB_compiler_bin_directory=/opt/intel/composer_xe_2013_sp1.1.103/bin/intel64 \
-mGLOB_as_output_backup_file_name=/var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccVENWxnas_.s \
-mIPOPT_activate \
-mIPOPT_lite \
-mGLOB_em64t \
-mGLOB_instruction_tuning=0x0 \
-mGLOB_product_id_code=0x22006d91 \
-mCG_bnl_movbe=T \
-mGLOB_extended_instructions=0x80 \
-mGLOB_advanced_optim=TRUE \
-mP3OPT_use_mspp_call_convention \
-mPGOPTI_value_profile_use=T \
-mP2OPT_il0_array_sections=TRUE \
-mP2OPT_hlo_level=2 \
-mP2OPT_hlo \
-mP2OPT_hpo_rtt_control=0 \
-mIPOPT_args_in_regs=0 \
-mP2OPT_disam_assume_nonstd_intent_in=FALSE \
-mGLOB_imf_mapping_library=/opt/intel/composer_xe_2013_sp1.1.103/bin/intel64/libiml_attr.dylib \
-mIPOPT_obj_output_file_name=/var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccfQ8yjj.o \
-mIPOPT_whole_archive_fixup_file_name=/var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccwarchoN1EbW \
-mGLOB_long_size_64 \
-mGLOB_routine_pointer_size_64 \
-mGLOB_driver_tempfile_name=/var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/icctempfileNL6WQ3 \
-mGLOB_os_target=GLOB_OS_TARGET_MACH \
-mGLOB_async_unwind_tables=TRUE \
-mGLOB_obj_output_file=/var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccfQ8yjj.o \
-mGLOB_source_dialect=GLOB_SOURCE_DIALECT_C \
-mP1OPT_source_file_name=pardiso_sym_c.c \
pardiso_sym_c.c
ld \
-lcrt1.10.6.o \
-dynamic \
-arch \
x86_64 \
-weak_reference_mismatches \
non-weak \
-macosx_version_min \
10.8.4 \
-no_compact_unwind \
-o \
a.out \
-L/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib \
-L/opt/intel/composer_xe_2013_sp1.1.103/ipp/../compiler/lib \
-L/opt/intel/composer_xe_2013_sp1.1.103/ipp/lib \
-L/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib \
-L/opt/intel/composer_xe_2013_sp1.1.103/mkl/lib \
-L/opt/intel/composer_xe_2013_sp1.1.103/tbb/lib \
-L/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib \
-L/usr/lib \
/var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccfQ8yjj.o \
/opt/intel/composer_xe_2013_sp1.1.103/mkl/lib/libmkl_intel_lp64.a \
/opt/intel/composer_xe_2013_sp1.1.103/mkl/lib/libmkl_intel_thread.a \
/opt/intel/composer_xe_2013_sp1.1.103/mkl/lib/libmkl_core.a \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib/libiomp5.a \
-L/opt/intel/composer_xe_2013_sp1.1.103/mkl/lib \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib/libimf.a \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib/libsvml.a \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib/libirng.a \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib/libipgo.a \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib/libdecimal.a \
-weak-lcilkrts \
-lstdc++ \
-lSystem \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib/libirc.a \
-lpthread \
/opt/intel/composer_xe_2013_sp1.1.103/compiler/lib/libsvml.a
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccxcrunUQ8S7E
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccxcrunYQgQ6G
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccgnudirsKZFH75
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccxcrun3qNlmF
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccclangdashvy7WqAq
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccfQ8yjj.o
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccxcrun4sXZRV
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccclangdashvRWjsiJ
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccosbIJzkb
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/icctosQ0O1Mh
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccVENWxnas_.s
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/icctempfileNL6WQ3
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccargXW9Sa2
rm /var/folders/1k/g66yznjd7h1_c_9ldc_ng5sr0000gs/T/iccfQ8yjj.o
macmini01:tmp yhu5$
macmini01:tmp yhu5$ otool -L a.out
a.out:
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
macmini01:tmp yhu5$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ying,
Yes, I did remove $(MKL_PATH)libmkl_pgi_thread.a from the link line, but I still got the dynamic link. Here's my output from icc and otool commands:
/opt/intel/composer_xe_2013.3.171/bin/intel64/mcpcom \
-_g \
-mP3OPT_inline_alloca \
-D__HONOR_STD \
-D__ICC=1300 \
-D__INTEL_COMPILER=1300 \
-D__BLOCKS__ \
-D__PTRDIFF_TYPE__=long \
"-D__SIZE_TYPE__=unsigned long" \
-D__WCHAR_TYPE__=int \
-D__WINT_TYPE__=int \
"-D__INTMAX_TYPE__=long int" \
"-D__UINTMAX_TYPE__=long unsigned int" \
-D__LONG_MAX__=9223372036854775807L \
-D__QMSPP_ \
-D__OPTIMIZE__ \
-D__NO_MATH_INLINES \
-D__NO_STRING_INLINES \
-D__NO_INLINE__ \
-D__GNUC_GNU_INLINE__ \
-D__GNUC__=4 \
-D__GNUC_MINOR__=2 \
-D__GNUC_PATCHLEVEL__=1 \
-D__APPLE_CC__=5658 \
-D__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__=1084 \
-D__LITTLE_ENDIAN__ \
-D__DYNAMIC__ \
"-D__private_extern__=__attribute__((visibility("hidden")))" \
-D__LP64__ \
-D_LP64 \
-D__GXX_ABI_VERSION=1002 \
-D__USER_LABEL_PREFIX__=_ \
-D__REGISTER_PREFIX__= \
-D__INTEL_RTTI__ \
-D__x86_64 \
-D__x86_64__ \
"-_Acpu(x86_64)" \
"-_Amachine(x86_64)" \
-D_MT \
-D__INTEL_COMPILER_BUILD_DATE=20130314 \
-D__PIC__ \
-D__APPLE__ \
-D__MACH__ \
-D__pentium4 \
-D__pentium4__ \
-D__tune_pentium4__ \
-D__SSE2__ \
-D__SSE3__ \
-D__SSSE3__ \
-D__SSE__ \
-D__MMX__ \
-_k \
-_8 \
-_l \
-_D \
-_a \
-_b \
--gnu_version=421 \
-_W5 \
--gcc-extern-inline \
--multibyte_chars \
--blocks \
-I/opt/intel/composer_xe_2013.3.171/mkl/include/intel64/lp64 \
-I/opt/intel/composer_xe_2013.3.171/mkl/include \
--sys_include \
/opt/intel/composer_xe_2013.3.171/mkl/include \
--sys_include \
/opt/intel/composer_xe_2013.3.171/tbb/include \
--sys_include \
/opt/intel/composer_xe_2013.3.171/compiler/include/intel64 \
--sys_include \
/opt/intel/composer_xe_2013.3.171/compiler/include \
--fwk_include \
/System/Library/Frameworks \
--fwk_include \
/Library/Frameworks \
--sys_include \
/usr/local/include \
--sys_include \
/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/include \
--sys_include \
/usr/include \
--array_section \
--simd \
--simd_func \
-mP1OPT_version=13.0-intel64 \
-mGLOB_diag_file=/var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccBLN4O0.diag \
-mGLOB_diag_use_message_catalog=FALSE \
-mP1OPT_print_version=FALSE \
-mCG_use_gas_got_workaround=F \
-mP2OPT_align_option_used=TRUE \
-mGLOB_gcc_version=421 \
"-mGLOB_options_string=-static-intel -mkl -#" \
-mGLOB_position_independent_code \
-mGLOB_preemption_model=1 \
-mGLOB_no_compact_unwind=TRUE \
-mGLOB_cxx_limited_range=FALSE \
-mCG_extend_parms=FALSE \
-mGLOB_compiler_bin_directory=/opt/intel/composer_xe_2013.3.171/bin/intel64 \
-mGLOB_as_output_backup_file_name=/var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/icceeN1sgas_.s \
-mIPOPT_activate \
-mIPOPT_lite \
-mGLOB_machine_model=GLOB_MACHINE_MODEL_EFI2 \
-mGLOB_product_id_code=0x22006d93 \
-mCG_bnl_movbe=T \
-mGLOB_extended_instructions=0x80 \
-mGLOB_advanced_optim=TRUE \
-mP3OPT_use_mspp_call_convention \
-mPGOPTI_value_profile_use=T \
-mP2OPT_il0_array_sections=TRUE \
-mP2OPT_hlo_level=2 \
-mP2OPT_hlo \
-mP2OPT_hpo_rtt_control=0 \
-mIPOPT_args_in_regs=0 \
-mP2OPT_disam_assume_nonstd_intent_in=FALSE \
-mGLOB_imf_mapping_library=/opt/intel/composer_xe_2013.3.171/bin/intel64/libiml_attr.dylib \
-mIPOPT_obj_output_file_name=/var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccBLN4O0.o \
-mIPOPT_whole_archive_fixup_file_name=/var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccwarchWEOc59 \
-mGLOB_long_size_64 \
-mGLOB_routine_pointer_size_64 \
-mGLOB_driver_tempfile_name=/var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/icctempfile4VGOOd \
-mGLOB_os_target=GLOB_OS_TARGET_MACH \
-mGLOB_async_unwind_tables=TRUE \
-mGLOB_obj_output_file=/var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccBLN4O0.o \
-mGLOB_source_dialect=GLOB_SOURCE_DIALECT_C \
-mP1OPT_source_file_name=pardiso_sym_c.c \
pardiso_sym_c.c
ld \
-lcrt1.10.6.o \
-dynamic \
-arch \
x86_64 \
-weak_reference_mismatches \
non-weak \
-macosx_version_min \
10.8.4 \
-no_compact_unwind \
-o \
a.out \
-L/opt/intel/composer_xe_2013.3.171/compiler/lib \
-L/opt/intel/composer_xe_2013.3.171/ipp/../compiler/lib \
-L/opt/intel/composer_xe_2013.3.171/ipp/lib \
-L/opt/intel/composer_xe_2013.3.171/compiler/lib \
-L/opt/intel/composer_xe_2013.3.171/mkl/lib \
-L/opt/intel/composer_xe_2013.3.171/tbb/lib \
-L/opt/intel/composer_xe_2013.3.171/compiler/lib \
-L/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/x86_64/ \
-L/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/x86_64/ \
-L/usr/lib/ \
-L/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/x86_64 \
-L/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/ \
-L/usr/llvm-gcc-4.2/bin/../lib/gcc/ \
-L/opt/intel/composer_xe_2013.3.171/compiler/lib/ \
-L/opt/intel/composer_xe_2013.3.171/ipp/../compiler/lib/ \
-L/opt/intel/composer_xe_2013.3.171/ipp/lib/ \
-L/opt/intel/composer_xe_2013.3.171/mkl/lib/ \
-L/opt/intel/composer_xe_2013.3.171/tbb/lib/ \
-L/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/x86_64 \
-L/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/ \
-L/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/../../../ \
-L/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/../../.. \
/var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccBLN4O0.o \
/opt/intel/composer_xe_2013.3.171/mkl/lib/libmkl_intel_lp64.a \
/opt/intel/composer_xe_2013.3.171/mkl/lib/libmkl_intel_thread.a \
/opt/intel/composer_xe_2013.3.171/mkl/lib/libmkl_core.a \
/opt/intel/composer_xe_2013.3.171/compiler/lib/libiomp5.a \
-L/opt/intel/composer_xe_2013.3.171/mkl/lib \
/opt/intel/composer_xe_2013.3.171/compiler/lib/libimf.a \
/opt/intel/composer_xe_2013.3.171/compiler/lib/libsvml.a \
/opt/intel/composer_xe_2013.3.171/compiler/lib/libirng.a \
/opt/intel/composer_xe_2013.3.171/compiler/lib/libipgo.a \
/opt/intel/composer_xe_2013.3.171/compiler/lib/libdecimal.a \
-weak-lcilkrts \
-lstdc++ \
-lgcc_s.10.5 \
-lgcc \
-lSystem \
/opt/intel/composer_xe_2013.3.171/compiler/lib/libirc.a \
-lpthread \
/opt/intel/composer_xe_2013.3.171/compiler/lib/libsvml.a \
-ldl
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/icclibgccVRmNP3
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccgnudirso16IRQ
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccBLN4O0.o
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccgdashvcYfxsu
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccosBpByE7
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/icctoss01Vbo
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccabxpMJ.c
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccdashv41ziFa
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/icceeN1sgas_.s
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/icctempfile4VGOOd
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccargrvakkk
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccgnudirspjmZtz
rm /var/folders/zz/zyxvpxvq6csfxvn_n00065t4001jfj/T/iccBLN4O0.o
> otool -L a.out
a.out:
mac64/libcilkrts.5.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1669.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Dave,
Thanks for letting me know. I will escalate the issue to compiler team and get back to you if any news.
Just guess, as the -lcilkrts was added during link phase by intel compiler, one possible solution may be don’t use the icpc. Thus no -weak-lcilkrts” are in link line .
For example, change your orignal makefile,
$(TARGET): $(OBJ)
$(CC) -o $(TARGET) $(INC) $(FEBIO)/build/$(PLAT)/FEBio/*.o $(FLG) $(FEBLIBS) $(LIBS)
To
$(TARGET): $(OBJ)
ld -o $(TARGET) $(INC) $(FEBIO)/build/$(PLAT)/FEBio/*.o $(FLG) $(FEBLIBS) $(LIBS)
and see if it can workaround the problem?
Best Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Dave,
It seems if with LD, some libraried tied with icc compiler was missed.
is it possible for you to use gcc / g++ directly with MKL library first.
( i had submitted the issue to Compiler forum http://software.intel.com/en-us/forums/topic/487850, but haven't reveived reply)
.
or upload later compiler for your OS (please read the OS requirement in release notes)?
Best Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dave Rawlins wrote:
Hi Ying,
I've attached my output for the "ld" command. I'm getting "Undefined symbols for architecture x86_64" errors, which I don't get using icpc.
Best,
Dave
icpc (for Intel64) will automatically search the libraries in its own lib/intel64 installation, but the messages here seem to indicate a switch to the 32-bit library paths, while the error indicates you made 64-bit gcc references. If you are trying to link with libgomp instead of libiomp5, that involves switching to the gnu-compatible MKL thread libraries, but libiomp5 should satisfy all the references as an alternative to libgomp.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Dave,
We can't reproduce the problem with latest Compiler version. How about the result if you update the compiler?
Best Regards,
Ying
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page