Summary: | ~dev-libs/jsoncpp-1.9.2-r2 ld: /usr/lib64/libjsoncpp.so.22: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()@GLIBCXX_3.4.26' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Paul Bors <paul> |
Component: | Current packages | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | paul |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Paul Bors
2020-02-26 19:54:43 UTC
Can't attache full build.log due to 1MB file limit (Tensorflow generated a 15 MB build.log file). Below is the top and last few lines from it: [32;01m * [39;49;00mPackage: sci-libs/tensorflow-2.1.0 [32;01m * [39;49;00mRepository: gentoo [32;01m * [39;49;00mMaintainer: perfinion@gentoo.org [32;01m * [39;49;00mUSE: abi_x86_64 amd64 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cuda elibc_glibc kernel_linux mpi python python_targets_python3_6 userland_GNU xla [32;01m * [39;49;00mFEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox [33;01m*[0m TensorFlow 2.0 is a major release that contains some incompatibilities [33;01m*[0m with TensorFlow 1.x. For more information about migrating to TF2.0 see: [33;01m*[0m https://www.tensorflow.org/guide/migrate [32;01m*[0m python3_6: running count_impls [32;01m*[0m Checking for at least 5 GiB RAM ... [A[141C [34;01m[ [32;01mok[34;01m ][0m [32;01m*[0m Checking for at least 16 GiB disk space at "/var/tmp/portage/sci-libs/tensorflow-2.1.0/temp" ... [A[141C [34;01m[ [32;01mok[34;01m ][0m >>> Unpacking source... >>> Unpacking tensorflow-2.1.0.tar.gz to /var/tmp/portage/sci-libs/tensorflow-2.1.0/work >>> Unpacking tensorflow-patches-2.1.0.tar.bz2 to /var/tmp/portage/sci-libs/tensorflow-2.1.0/work Copying oourafft2d-20061228.tgz to bazel distdir as fft2d.tgz Copying eigen-4e696901f873a2347f76d931cf2f701e31e15d05.tar.gz to bazel distdir as eigen-4e696901f873a2347f76d931cf2f701e31e15d05.tar.gz Copying abseil-cpp-43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz to bazel distdir as 43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz Copying bazel-skylib.0.8.0.tar.gz to bazel distdir Copying bazel_skylib-0.9.0.tar.gz to bazel distdir Copying bazel-toolchains-92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz to bazel distdir as 92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz Copying bazelbuild-rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip to bazel distdir as 0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip Copying bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz to bazel distdir as 308b05b2419edb5c8ee0471b67a40403df940149.tar.gz Copying bazelbuild-rules_docker-v0.10.0.tar.gz to bazel distdir as rules_docker-v0.10.0.tar.gz Copying bazelbuild-rules_swift.0.12.1.tar.gz to bazel distdir as rules_swift.0.12.1.tar.gz Copying farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz to bazel distdir as 816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz Copying gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip to bazel distdir as 12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip Copying highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz to bazel distdir as fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz Copying re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz to bazel distdir as 506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz Copying kissfft-36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz to bazel distdir as 36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz Copying pybind11-v2.3.0.tar.gz to bazel distdir as v2.3.0.tar.gz Copying llvm-ecc999101aadc8dc7d4af9fd88be10fe42674aa0.tar.gz to bazel distdir as ecc999101aadc8dc7d4af9fd88be10fe42674aa0.tar.gz Copying nvidia-nccl-0ceaec9cee96ae7658aa45686853286651f36384.tar.gz to bazel distdir as 0ceaec9cee96ae7658aa45686853286651f36384.tar.gz Copying cub-1.8.0.zip to bazel distdir as 1.8.0.zip Copying ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz to bazel distdir as 1200fe90bb174a6224a525ee60148671a786a71f.tar.gz Copying tensorflow-1.15.0-python-license.rst.txt to bazel distdir as license.rst.txt Copying backports.weakref-1.0rc1.tar.gz to bazel distdir >>> Source unpacked in /var/tmp/portage/sci-libs/tensorflow-2.1.0/work >>> Preparing source in /var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0 ... [32;01m*[0m Applying tensorflow-1.15.0_rc0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch ... [A[141C [34;01m[ [32;01mok[34;01m ][0m [32;01m*[0m Applying tensorflow-2.1.0-0001-Make-nccl-bindings-compilable-with-cuda-10.2.patch ... [A[141C [34;01m[ [32;01mok[34;01m ][0m [32;01m*[0m Applying tensorflow-2.1.0-0002-systemlibs-unbundle-pybind11.patch ... [A[141C [34;01m[ [32;01mok[34;01m ][0m [32;01m*[0m Applying tensorflow-2.1.0-external_libs.patch ... [A[141C [34;01m[ [32;01mok[34;01m ][0m [32;01m*[0m Applying tensorflow-2.1.0-python3.8-pywrap_tensor.patch ... [A[141C [34;01m[ [32;01mok[34;01m ][0m [32;01m*[0m Will copy sources from /var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0 [32;01m*[0m python3_6: copying to /var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0-python3_6 >>> Source prepared. >>> Configuring source in /var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0 ... [32;01m*[0m python3_6: running run_in_build_dir do_configure [32;01m*[0m Setting CUDA version: 10.2 [32;01m*[0m Setting CUDNN version: 7.6 Extracting Bazel installation... WARNING: ignoring LD_PRELOAD in environment. WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown". You have bazel 0.29.1- (@non-git) installed. Found CUDA 10.2 in: /opt/cuda/lib64 /opt/cuda/include Found cuDNN 7 in: /opt/cuda/lib64 /opt/cuda/include Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command. See .bazelrc for more details. --config=mkl # Build with MKL support. --config=monolithic # Config for mostly static monolithic build. --config=ngraph # Build with Intel nGraph support. --config=numa # Build with NUMA support. --config=dynamic_kernels # (Experimental) Build kernels into separate shared objects. --config=v2 # Build TensorFlow 2.x instead of 1.x. Preconfigured Bazel build configs to DISABLE default on features: --config=noaws # Disable AWS S3 filesystem support. --config=nogcp # Disable GCP support. --config=nohdfs # Disable HDFS support. --config=nonccl # Disable NVIDIA NCCL support. Configuration finished >>> Source configured. >>> Compiling source in /var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0 ... bazel --bazelrc=/var/tmp/portage/sci-libs/tensorflow-2.1.0/temp/bazelrc --output_base=/var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0-python3_6-bazel-base build --nobuild //tensorflow:libtensorflow_framework.so //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so //tensorflow/tools/pip_package:build_pip_package WARNING: ignoring LD_PRELOAD in environment. [35mWARNING: [0m--batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown". [32mINFO: [0mOptions provided by the client: Inherited 'common' options: --isatty=1 --terminal_columns=0 [32mINFO: [0mReading rc options for 'build' from /var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0-python3_6/.bazelrc: 'build' options: --apple_platform_type=macos --define framework_shared_object=true --define open_source_build=true --java_toolchain=//third_party/toolchains/java:tf_java_toolchain --host_java_toolchain=//third_party/toolchains/java:tf_java_toolchain --define=use_fast_cpp_protos=true --define=allow_oversize_protos=true --spawn_strategy=standalone --strategy=Genrule=standalone -c opt --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --announce_rc --define=grpc_no_ares=true --noincompatible_remove_legacy_whole_archive --define=PREFIX=/usr --define=LIBDIR=$(PREFIX)/lib --define=INCLUDEDIR=$(PREFIX)/include --config=v2 ... INFO: From Compiling tensorflow/c/kernels/ops/bitcast.cc [for host]: tensorflow/c/kernels/ops/bitcast.cc: In function 'void bitcast_shape_inference_fn(TF_ShapeInferenceContext*, TF_Status*)': tensorflow/c/kernels/ops/bitcast.cc:49:12: warning: 'output_type_size' may be used uninitialized in this function [-Wmaybe-uninitialized] size_t divisor_val = input_type_size / output_type_size; ^~~~~~~~~~~ tensorflow/c/kernels/ops/bitcast.cc:82:10: note: 'output_type_size' was declared here size_t output_type_size; ^~~~~~~~~~~~~~~~ tensorflow/c/kernels/ops/bitcast.cc:49:12: warning: 'input_type_size' may be used uninitialized in this function [-Wmaybe-uninitialized] size_t divisor_val = input_type_size / output_type_size; ^~~~~~~~~~~ tensorflow/c/kernels/ops/bitcast.cc:81:10: note: 'input_type_size' was declared here size_t input_type_size; ^~~~~~~~~~~~~~~ INFO: From Compiling tensorflow/core/util/proto/proto_utils.cc [for host]: tensorflow/core/util/proto/proto_utils.cc: In function 'bool tensorflow::proto_utils::IsCompatibleType(google::protobuf::FieldDescriptor::Type, tensorflow::DataType)': tensorflow/core/util/proto/proto_utils.cc:70:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ INFO: From Compiling external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp: external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp: In member function 'std::pair<llvm::RuntimeDyldCheckerExprEval::EvalResult, llvm::StringRef> llvm::RuntimeDyldCheckerExprEval::evalNumberExpr(llvm::StringRef) const': external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:100:59: warning: 'Value' may be used uninitialized in this function [-Wmaybe-uninitialized] EvalResult(uint64_t Value) : Value(Value), ErrorMsg("") {} ^ external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:471:14: note: 'Value' was declared here uint64_t Value; ^~~~~ external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp: In member function 'std::pair<llvm::RuntimeDyldCheckerExprEval::EvalResult, llvm::StringRef> llvm::RuntimeDyldCheckerExprEval::evalSliceExpr(const std::pair<llvm::RuntimeDyldCheckerExprEval::EvalResult, llvm::StringRef>&) const': external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:100:59: warning: 'Value' may be used uninitialized in this function [-Wmaybe-uninitialized] EvalResult(uint64_t Value) : Value(Value), ErrorMsg("") {} ^ external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:471:14: note: 'Value' was declared here uint64_t Value; ^~~~~ ERROR: /var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0-python3_6/tensorflow/cc/BUILD:590:1: Linking of rule '//tensorflow/cc:ops/functional_ops_gen_cc' failed (Exit 1) /usr/bin/ld: /usr/lib64/libjsoncpp.so.22: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()@GLIBCXX_3.4.26' collect2: error: ld returned 1 exit status INFO: Elapsed time: 14612.883s, Critical Path: 197.29s INFO: 6375 processes: 6375 local. FAILED: Build did NOT complete successfully * ERROR: sci-libs/tensorflow-2.1.0::gentoo failed (compile phase): * ebazel failed * * Call stack: * ebuild.sh, line 125: Called src_compile * environment, line 4015: Called ebazel 'build' '//tensorflow:libtensorflow_framework.so' '//tensorflow:libtensorflow.so' * environment, line 2158: Called die * The specific snippet of code: * "${@}" || die "ebazel failed" * * If you need support, post the output of `emerge --info '=sci-libs/tensorflow-2.1.0::gentoo'`, * the complete build log and the output of `emerge -pqv '=sci-libs/tensorflow-2.1.0::gentoo'`. * The complete build log is located at '/var/tmp/portage/sci-libs/tensorflow-2.1.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/sci-libs/tensorflow-2.1.0/temp/environment'. * Working directory: '/var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0-python3_6' * S: '/var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0' I have tried to reinstall dev-libs/jsoncpp-1.9.2-r2 and no luck. switch your main GCC to 8.3.0 then rebuild jsoncpp then you can switch back to normal GCC and build tensorflow That passed the jsoncpp link error but only to have the package compile over night and be greeted by the following link error in the AM: ERROR: /var/tmp/portage/sci-libs/tensorflow-2.1.0/work/tensorflow-2.1.0-python3_6/tensorflow/lite/toco/BUILD:436:1: Linking of rule '//tensorflow/lite/toco:toco' failed (Exit 1) /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../lib64/libflatbuffers.so: undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()@GLIBCXX_3.4.26' /usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../lib64/libflatbuffers.so: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()@GLIBCXX_3.4.26' collect2: error: ld returned 1 exit status I see this is also looking up /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/... when my default compiler is set back to 9.x Few questions here: 1) Why would I have to stop down to GCC 8.x, compile a package, then reset to 9.x in order to emerge a package? 2) How can I fix this system wide? Should I uninstall GCC 8.x and then emerge -e @world? I uninstalled GCC 8.x leaving just 9.x installed following the instructions at: https://wiki.gentoo.org/wiki/Upgrading_GCC Then got this error: * Messages for package sci-libs/tensorflow-2.1.0: * TensorFlow 2.0 is a major release that contains some incompatibilities * with TensorFlow 1.x. For more information about migrating to TF2.0 see: * https://www.tensorflow.org/guide/migrate * Only gcc version(s) 4.7 4.8 4.9 5.3 5.4 6.3 6.4 7.2 7.3 8.2 8.3 are supported, * of which none is installed * ERROR: sci-libs/tensorflow-2.1.0::gentoo failed (configure phase): * Only gcc version(s) 4.7 4.8 4.9 5.3 5.4 6.3 6.4 7.2 7.3 8.2 8.3 are supported That explains previouse errors I've been running into. I'll downgrade back to 8.x, install TensorFlow and then upgrade back to 9.x (will keep GCC 8.x and 9.x as I had it previously). Thus this is not a defect. |