xuhuisheng / rocm-build

build scripts for ROCm
Apache License 2.0
181 stars 35 forks source link

bash 34.miopen.sh gives linker error #15

Closed ianferreira closed 2 years ago

ianferreira commented 3 years ago

Environment

Hardware description
GPU - RX6800
CPU - AMD
Software version
OS - 20.04.2
ROCm - 4.2
Python -

What is the expected behavior

bash 34.miopen.sh

What actually happens

bash 34.miopen.sh

-- MIOpen_VERSION= 2.11.0 -- CMAKE_BUILD_TYPE= Release -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- Librt: /usr/lib/x86_64-linux-gnu/librt.so -- Performing Test MIOPEN_HAS_address -- Performing Test MIOPEN_HAS_address - Failed -- Performing Test MIOPEN_HAS_thread -- Performing Test MIOPEN_HAS_thread - Failed -- Configuring done -- Generating done -- Build files have been written to: /home/ian/Documents/rocm-build/build/miopen [150/152] Linking CXX shared library lib/libMIOpen.so.1.0 FAILED: lib/libMIOpen.so.1.0 : && /opt/rocm/llvm/bin/clang++ -fPIC -O3 -DNDEBUG -s -shared -Wl,-soname,libMIOpen.so.1 -o lib/libMIOpen.so.1.0 src/sqlite/CMakeFiles/sqlite_memvfs.dir/memvfs.cpp.o src/CMakeFiles/MIOpen.dir/buffer_info.cpp.o src/CMakeFiles/MIOpen.dir/check_numerics.cpp.o src/CMakeFiles/MIOpen.dir/convolution.cpp.o src/CMakeFiles/MIOpen.dir/convolution_api.cpp.o src/CMakeFiles/MIOpen.dir/db.cpp.o src/CMakeFiles/MIOpen.dir/db_record.cpp.o src/CMakeFiles/MIOpen.dir/expanduser.cpp.o src/CMakeFiles/MIOpen.dir/find_controls.cpp.o src/CMakeFiles/MIOpen.dir/fusion.cpp.o src/CMakeFiles/MIOpen.dir/op_args.cpp.o src/CMakeFiles/MIOpen.dir/operator.cpp.o src/CMakeFiles/MIOpen.dir/fused_api.cpp.o src/CMakeFiles/MIOpen.dir/load_file.cpp.o src/CMakeFiles/MIOpen.dir/pooling_api.cpp.o src/CMakeFiles/MIOpen.dir/kernel_warnings.cpp.o src/CMakeFiles/MIOpen.dir/logger.cpp.o src/CMakeFiles/MIOpen.dir/lock_file.cpp.o src/CMakeFiles/MIOpen.dir/lrn_api.cpp.o src/CMakeFiles/MIOpen.dir/activ_api.cpp.o src/CMakeFiles/MIOpen.dir/target_properties.cpp.o src/CMakeFiles/MIOpen.dir/handle_api.cpp.o src/CMakeFiles/MIOpen.dir/softmax_api.cpp.o src/CMakeFiles/MIOpen.dir/batch_norm.cpp.o src/CMakeFiles/MIOpen.dir/batch_norm_api.cpp.o src/CMakeFiles/MIOpen.dir/rnn.cpp.o src/CMakeFiles/MIOpen.dir/rnn_api.cpp.o src/CMakeFiles/MIOpen.dir/ctc.cpp.o src/CMakeFiles/MIOpen.dir/ctc_api.cpp.o src/CMakeFiles/MIOpen.dir/temp_file.cpp.o src/CMakeFiles/MIOpen.dir/problem_description.cpp.o src/CMakeFiles/MIOpen.dir/kernel_build_params.cpp.o src/CMakeFiles/MIOpen.dir/find_db.cpp.o src/CMakeFiles/MIOpen.dir/conv_algo_name.cpp.o src/CMakeFiles/MIOpen.dir/conv/problem_description.cpp.o src/CMakeFiles/MIOpen.dir/dropout.cpp.o src/CMakeFiles/MIOpen.dir/dropout_api.cpp.o src/CMakeFiles/MIOpen.dir/readonlyramdb.cpp.o src/CMakeFiles/MIOpen.dir/execution_context.cpp.o src/CMakeFiles/MIOpen.dir/reducetensor.cpp.o src/CMakeFiles/MIOpen.dir/reducetensor_api.cpp.o src/CMakeFiles/MIOpen.dir/md_graph.cpp.o src/CMakeFiles/MIOpen.dir/mdg_expr.cpp.o src/CMakeFiles/MIOpen.dir/conv/invokers/gcn_asm_1x1u.cpp.o src/CMakeFiles/MIOpen.dir/conv/invokers/gcn_asm_1x1u_ss.cpp.o src/CMakeFiles/MIOpen.dir/conv/invokers/gcn_asm_1x1u_us.cpp.o src/CMakeFiles/MIOpen.dir/conv/invokers/gen_x_w_y_pad.cpp.o src/CMakeFiles/MIOpen.dir/conv/invokers/ocl_wrw_rdc.cpp.o src/CMakeFiles/MIOpen.dir/conv/invokers/impl_gemm.cpp.o src/CMakeFiles/MIOpen.dir/conv/invokers/impl_gemm_dynamic.cpp.o src/CMakeFiles/MIOpen.dir/invoker_cache.cpp.o src/CMakeFiles/MIOpen.dir/tensor.cpp.o src/CMakeFiles/MIOpen.dir/tensor_api.cpp.o src/CMakeFiles/MIOpen.dir/solver.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_3x3u.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_1x1u.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_1x1u_stride2.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_1x1u_bias_activ.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_5x10u2v2f1.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_5x10u2v2b1.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_7x7c3h224w224k64u2v2p3q3f1.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_dir_BwdWrW3x3.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_dir_BwdWrW1x1.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_multipass_wino3x3WrW.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_MP_bidirectional_winograd.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_bin_wino3x3U.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_bin_winoRxS.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_winoRxS_f3x2.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_winoRxS_f2x3.cpp.o src/CMakeFiles/MIOpen.dir/solver/fft.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_ocl_dir2D_bwdWrW_2.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_ocl_dir2D_bwdWrW_53.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_ocl_dir2D_bwdWrW_1x1.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_ocl_dir2Dfwdgen.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_ocl_dir2D11x11.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_ocl_dir2Dfwd_exhaustive_search.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_ocl_dir2Dfwd.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_ocl_dir2Dfwd1x1.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_fwd_v4r1.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_fwd_v4r4.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_fwd_v4r4_xdlops_padded_gemm.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_fwd_v4r5_xdlops.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_wrw_v4r4.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_fwd_v4r4_xdlops.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_xdlops_common.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_nonxdlops_common.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_bwd_v1r1.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_bwd_v4r1.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_bwd_v4r1_xdlops.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_implicit_gemm_v4r1_dynamic.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_implicit_gemm_wrw_v4r1_dynamic.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_implicit_gemm_wrw_gtc_dynamic_xdlops.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_bwd_v1r1_xdlops.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_implicit_gemm_bwd_v4r1_dynamic.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_wrw_v4r4_xdlops.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_hip_implicit_gemm_wrw_v4r4_xdlops_padded_gemm.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_implicit_gemm_gtc_fwd.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_asm_implicit_gemm_gtc_bwd.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_direct_naive_conv_fwd.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_direct_naive_conv_bwd.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_direct_naive_conv_wrw.cpp.o src/CMakeFiles/MIOpen.dir/solver/conv_direct_naive_conv.cpp.o src/CMakeFiles/MIOpen.dir/tmp_dir.cpp.o src/CMakeFiles/MIOpen.dir/binary_cache.cpp.o src/CMakeFiles/MIOpen.dir/md5.cpp.o src/CMakeFiles/MIOpen.dir/sqlite_db.cpp.o src/CMakeFiles/MIOpen.dir/kern_db.cpp.o src/CMakeFiles/MIOpen.dir/bz2.cpp.o src/CMakeFiles/MIOpen.dir/activ.cpp.o src/CMakeFiles/MIOpen.dir/kernel_cache.cpp.o src/CMakeFiles/MIOpen.dir/lrn.cpp.o src/CMakeFiles/MIOpen.dir/mlo_dir_conv.cpp.o src/CMakeFiles/MIOpen.dir/exec_utils.cpp.o src/CMakeFiles/MIOpen.dir/ocl/activ_ocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/batchnormocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/convolutionocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/lrn_ocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/mloNeuron.cpp.o src/CMakeFiles/MIOpen.dir/ocl/mloNorm.cpp.o src/CMakeFiles/MIOpen.dir/ocl/mloPooling.cpp.o src/CMakeFiles/MIOpen.dir/ocl/pooling_ocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/tensorocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/softmaxocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/rnnocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/utilocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/ctcocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/dropoutocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/gcn_asm_utils.cpp.o src/CMakeFiles/MIOpen.dir/ocl/rnn_util_ocl.cpp.o src/CMakeFiles/MIOpen.dir/hip/hip_build_utils.cpp.o src/CMakeFiles/MIOpen.dir/pooling.cpp.o src/CMakeFiles/MIOpen.dir/ocl/fusionopconvocl.cpp.o src/CMakeFiles/MIOpen.dir/ocl/fusionopbiasbnactivocl.cpp.o src/CMakeFiles/MIOpen.dir/__/db_path.cpp.o src/CMakeFiles/MIOpen.dir//kernel.cpp.o src/CMakeFiles/MIOpen.dir//kernel_includes.cpp.o src/CMakeFiles/MIOpen.dir/gemm_v2.cpp.o src/CMakeFiles/MIOpen.dir/miopengemm.cpp.o src/CMakeFiles/MIOpen.dir/hip/hiperrors.cpp.o src/CMakeFiles/MIOpen.dir/hip/handlehip.cpp.o src/CMakeFiles/MIOpen.dir/hipoc/hipoc_kernel.cpp.o src/CMakeFiles/MIOpen.dir/hipoc/hipoc_program.cpp.o -Wl,-rpath,/opt/rocm/rocblas/lib:/opt/rocm/hip/lib:/opt/rocm/lib: -lpthread /usr/local/lib/libbz2.a /opt/rocm/rocblas/lib/librocblas.so.0.1 /usr/local/lib/libboost_filesystem.a -Wl,--version-script=/home/ian/Documents/rocm-build/build/miopen/src/lib.def -Wl,--exclude-libs,ALL -L/usr/local/lib -lsqlite3 -ldl -lpthread /usr/lib/x86_64-linux-gnu/librt.so /usr/local/lib/libbz2.a -lsqlite3 -ldl /usr/lib/x86_64-linux-gnu/librt.so --hip-link --offload-arch=gfx1030 -L"/opt/rocm/llvm/lib/clang/12.0.0/include/../lib/linux" -lclang_rt.builtins-x86_64 /opt/rocm/hip/lib/libamdhip64.so.4.2.21155-37cb3a34 -Wl,-rpath-link,/opt/rocm/lib && : /usr/bin/ld: /usr/local/lib/libboost_filesystem.a(exception.o): relocation R_X86_64_32S against hidden symbol _ZTVN5boost10filesystem16filesystem_errorE' can not be used when making a shared object /usr/bin/ld: /usr/local/lib/libboost_filesystem.a(operations.o): relocation R_X86_64_32 against.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libboost_filesystem.a(path.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libboost_filesystem.a(unique_path.o): relocation R_X86_64_32S against.rodata.str1.16' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libboost_filesystem.a(directory.o): relocation R_X86_64_32S against hidden symbol `_ZN5boost6system6detail10cat_holderIvE24system_category_instanceE' can not be used when making a shared object clang-12: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed.

How to reproduce

bash 34.miopen.sh

xuhuisheng commented 3 years ago

Itis said libboost_filesystem.a cannot support share object.

MIOpen provide cmake to install libboost-1.72 and other dependencies. sudo cmake -P $ROCM_GIT_DIR/MIOpen/install_deps.cmake --minimum --prefix /usr/local

Please check if you use this cmake shell properly.

UPDATE: Maybe the path from arch missed -DCMAKE_POSITION_INDEPENDENT_CODE=On --build properties.

xuhuisheng commented 2 years ago

Hi, here is more than half year after last post on this issue. I will close this issue, please open it if there need any updates.