yandex / yatool

Yatool is a cross-platform distribution, building, testing, and debugging toolkit focused on monorepositories
Other
149 stars 8 forks source link

ld.lld: error: cannot open crtbeginS.o: No such file or directory #20

Closed Krock21 closed 2 days ago

Krock21 commented 1 month ago

I see an error:

------- [LD] {pic, FAILED} $(B)/ydb/library/yql/udfs/common/python/system_python/python3_8/libsystempython3_8_udf.so
command /root/.ya/tools/v4/2989598506/python /ydb/build/scripts/link_dyn_lib.py --target /root/.ya/build/build_root/hnx5/000004/ydb/library/yql/udfs/common/python/system_python/python3_8/libsystempython3_8_udf.so --source-root /ydb --build-root /root/.ya/build/build_root/hnx5/000004 --arch=LINUX --cuda-architectures sm_35:sm_50:sm_52:sm_60:sm_61:sm_70:sm_75:sm_80:sm_86:compute_86 --nvprune-exe $CUDA_RESOURCE_GLOBAL/bin/nvprune --objcopy-exe /root/.ya/tools/v4/6495238978/bin/llvm-objcopy --fix-elf /root/.ya/build/build_root/hnx5/000004/tools/fix_elf/fix_elf /root/.ya/tools/v4/6495238978/bin/clang++ -Wl,--whole-archive @/root/.ya/build/build_root/hnx5/000004/ya_command_file_0.args -Wl,--no-whole-archive /root/.ya/build/build_root/hnx5/000004/ydb/library/yql/udfs/common/python/system_python/python3_8/__vcs_version__.c.pic.o /root/.ya/build/build_root/hnx5/000004/ydb/library/yql/udfs/common/python/system_python/python3_8/SystemPython3_8.yql_python_udf.cpp.pic.o -o /root/.ya/build/build_root/hnx5/000004/ydb/library/yql/udfs/common/python/system_python/python3_8/libsystempython3_8_udf.so -shared -Wl,-soname,libsystempython3_8_udf.so --target=x86_64-linux-gnu -B$OS_SDK_ROOT_RESOURCE_GLOBAL/usr/bin -Wl,--start-group contrib/libs/cxxsupp/libcxxabi-parts/liblibs-cxxsupp-libcxxabi-parts.a contrib/libs/libunwind/libcontrib-libs-libunwind.a contrib/libs/cxxsupp/libcxxrt/liblibs-cxxsupp-libcxxrt.a contrib/libs/cxxsupp/builtins/liblibs-cxxsupp-builtins.a contrib/libs/cxxsupp/libcxx/liblibs-cxxsupp-libcxx.a util/charset/libutil-charset.a contrib/libs/zlib/libcontrib-libs-zlib.a contrib/libs/double-conversion/libcontrib-libs-double-conversion.a contrib/libs/libc_compat/libcontrib-libs-libc_compat.a util/libyutil.a library/cpp/deprecated/enum_codegen/libcpp-deprecated-enum_codegen.a library/cpp/blockcodecs/core/libcpp-blockcodecs-core.a contrib/libs/xxhash/libcontrib-libs-xxhash.a contrib/libs/zstd/libcontrib-libs-zstd.a library/cpp/resource/liblibrary-cpp-resource.a ydb/library/yql/public/decimal/libyql-public-decimal.a contrib/libs/protobuf/libcontrib-libs-protobuf.a ydb/library/yql/public/types/libyql-public-types.a ydb/library/yql/public/udf/libyql-public-udf.a ydb/library/yql/public/udf/support/libpublic-udf-support.a contrib/python/six/py3/libpy3python-six-py3.a yt/python/yt/type_info/libpy3python-yt-type_info.a library/python/type_info/libpy3library-python-type_info.a contrib/restricted/abseil-cpp/absl/base/libabseil-cpp-absl-base.a contrib/restricted/abseil-cpp/absl/debugging/libabseil-cpp-absl-debugging.a contrib/restricted/abseil-cpp/absl/numeric/libabseil-cpp-absl-numeric.a contrib/restricted/abseil-cpp/absl/strings/libabseil-cpp-absl-strings.a contrib/restricted/abseil-cpp/absl/types/libabseil-cpp-absl-types.a contrib/restricted/abseil-cpp/absl/hash/libabseil-cpp-absl-hash.a contrib/restricted/abseil-cpp/absl/profiling/libabseil-cpp-absl-profiling.a contrib/restricted/abseil-cpp/absl/time/libabseil-cpp-absl-time.a contrib/restricted/abseil-cpp/absl/synchronization/libabseil-cpp-absl-synchronization.a contrib/restricted/abseil-cpp/absl/container/libabseil-cpp-absl-container.a library/cpp/containers/absl_flat_hash/libcpp-containers-absl_flat_hash.a library/cpp/pop_count/liblibrary-cpp-pop_count.a ydb/library/actors/util/liblibrary-actors-util.a contrib/libs/nayuki_md5/libcontrib-libs-nayuki_md5.a contrib/libs/base64/avx2/liblibs-base64-avx2.a contrib/libs/base64/ssse3/liblibs-base64-ssse3.a contrib/libs/base64/neon32/liblibs-base64-neon32.a contrib/libs/base64/neon64/liblibs-base64-neon64.a contrib/libs/base64/plain32/liblibs-base64-plain32.a contrib/libs/base64/plain64/liblibs-base64-plain64.a library/cpp/string_utils/base64/libcpp-string_utils-base64.a library/cpp/digest/md5/libcpp-digest-md5.a library/cpp/deprecated/accessors/libcpp-deprecated-accessors.a library/cpp/bit_io/liblibrary-cpp-bit_io.a contrib/libs/brotli/common/liblibs-brotli-common.a contrib/libs/brotli/dec/liblibs-brotli-dec.a contrib/libs/brotli/enc/liblibs-brotli-enc.a contrib/libs/libbz2/libcontrib-libs-libbz2.a contrib/libs/fastlz/libcontrib-libs-fastlz.a contrib/libs/zstd06/libcontrib-libs-zstd06.a contrib/libs/lz4/libcontrib-libs-lz4.a contrib/libs/lzmasdk/libcontrib-libs-lzmasdk.a contrib/libs/snappy/libcontrib-libs-snappy.a library/cpp/blockcodecs/liblibrary-cpp-blockcodecs.a library/cpp/packers/liblibrary-cpp-packers.a library/cpp/containers/compact_vector/libcpp-containers-compact_vector.a library/cpp/on_disk/chunks/libcpp-on_disk-chunks.a util/draft/libutil-draft.a library/cpp/containers/comptrie/libcpp-containers-comptrie.a library/cpp/string_utils/relaxed_escaper/libcpp-string_utils-relaxed_escaper.a library/cpp/codecs/greedy_dict/libcpp-codecs-greedy_dict.a library/cpp/compproto/liblibrary-cpp-compproto.a library/cpp/comptable/liblibrary-cpp-comptable.a library/cpp/codecs/liblibrary-cpp-codecs.a library/cpp/colorizer/liblibrary-cpp-colorizer.a library/cpp/getopt/small/libcpp-getopt-small.a library/cpp/lwtrace/protos/libcpp-lwtrace-protos.a library/cpp/lwtrace/liblibrary-cpp-lwtrace.a library/cpp/messagebus/actor/libmessagebus_actor.a library/cpp/svnversion/liblibrary-cpp-svnversion.a library/cpp/build_info/liblibrary-cpp-build_info.a library/cpp/messagebus/config/libcpp-messagebus-config.a library/cpp/monlib/encode/legacy_protobuf/protos/libencode-legacy_protobuf-protos.a library/cpp/messagebus/monitoring/libcpp-messagebus-monitoring.a library/cpp/threading/future/libcpp-threading-future.a library/cpp/messagebus/scheduler/libcpp-messagebus-scheduler.a library/cpp/string_utils/indent_text/libcpp-string_utils-indent_text.a library/cpp/messagebus/liblibrary-cpp-messagebus.a library/cpp/string_utils/quote/libcpp-string_utils-quote.a ydb/library/yql/utils/liblibrary-yql-utils.a ydb/library/yql/udfs/common/python/bindings/libpy3ccommon-python-bindings.a ydb/library/yql/udfs/common/python/python_udf/libpy3ccommon-python-python_udf.a -Wl,--end-group -rdynamic -Wl,--version-script=/ydb/ydb/library/yql/udfs/common/python/python_udf/python_udfs_exports.exports -ldl -lrt -Wl,--no-as-needed -fPIC -Wl,--gdb-index -Wl,-z,notext -Wl,-Bsymbolic -fPIC -fuse-ld=lld --ld-path=/root/.ya/tools/v4/6782718840/bin/ld.lld -Wl,--no-rosegment -Wl,--build-id=sha1 -L/usr/lib/python3.8/config-3.8-x86_64-linux-gnu -L/usr/lib -lcrypt -lpthread -ldl -lutil -lm -lm -lpython3.8 -lpthread -lrt -ldl -nodefaultlibs -lpthread -lc -lm -Wl,--gc-sections failed with exit code 1 in /root/.ya/build/build_root/hnx5/000004
ld.lld: error: cannot open crtbeginS.o: No such file or directory
ld.lld: error: cannot open crtendS.o: No such file or directory
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
linker has failed with retcode: 1

When I try to run this command with ydb-platform-ydb checkouted at $HOME/ydb:

docker run --rm -it -v $HOME/ydb:/ydb ubuntu:focal /bin/bash -c "apt update && apt install -y python3-dev python3.8-dev; /ydb/ya make -DOS_SDK=local -DUSE_ARCADIA_PYTHON=no -DUSE_LOCAL_PYTHON -DPYTHON_CONFIG=python3.8-config -DPYTHON_BIN=python3.8 /ydb/ydb/library/yql/udfs/common/python/system_python/python3_8"

Installing build-essential helped. I would expect a better error in this case("build-essential" is required, for example)

frazenshtein commented 2 days ago

Hi! Thanks for the report. Since you are running the build in -DOS_SDK=local -DUSE_ARCADIA_PYTHON=no -DUSE_LOCAL_PYTHON mode, it is the user's responsibility to provide the necessary environment. The build system does not handle external packages.