Bug 258683

Summary: www/node: objcopy: error: Link field value 19 in section .rela.SUNW_dof is not a symbol table
Product: Ports & Packages Reporter: O. Hartmann <ohartmann>
Component: Individual Port(s)Assignee: Bradley T. Hughes <bhughes>
Status: New ---    
Severity: Affects Only Me CC: greg, j.kelly.hays
Priority: --- Flags: bugzilla: maintainer-feedback? (bhughes)
Version: Latest   
Hardware: Any   
OS: Any   

Description O. Hartmann 2021-09-22 17:37:05 UTC
Host is 14-CURRENT (FreeBSD 14.0-CURRENT #8 main-n249550-8db1669959ce: Wed Sep 22 05:39:53 CEST 2021 amd64) with WITH_LLVM_BINUTILS set to YES:

# objcopy --version
llvm-objcopy, compatible with GNU objcopy
LLVM (http://llvm.org/):
  LLVM version 12.0.1
  Optimized build.
  Default target: x86_64-unknown-freebsd14.0
  Host CPU: ivybridge

[...]
  touch /usr/ports/www/node/work/node-v16.9.1/out/Release/obj.target/tools/v8_gypfiles/v8_shared_internal_headers.stamp
  c++ -o /usr/ports/www/node/work/node-v16.9.1/out/Release/obj.target/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o ../deps/v8/src/regexp/gen-regexp-special-case.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CERT_STORE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D__STDC_FORMAT_MACROS' '-DV8_TARGET_ARCH_X64' '-DV8_EMBEDDER_STRING="-node.12"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -m64 -Wno-return-type -fno-strict-aliasing -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++14 -MMD -MF /usr/ports/www/node/work/node-v16.9.1/out/Release/.deps//usr/ports/www/node/work/node-v16.9.1/out/Release/obj.target/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o.d.raw -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -c
  LD_LIBRARY_PATH=/usr/ports/www/node/work/node-v16.9.1/out/Release/lib.host:/usr/ports/www/node/work/node-v16.9.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../.; mkdir -p /usr/ports/www/node/work/node-v16.9.1/out/Release/obj.target/libnode/src; dtrace -G -xnolibs -s src/node_provider.d "/usr/ports/www/node/work/node-v16.9.1/out/Release/obj.target/libnode/src/node_dtrace.o" -o "/usr/ports/www/node/work/node-v16.9.1/out/Release/obj.target/libnode/src/node_dtrace_provider.o"
objcopy: error: Link field value 19 in section .rela.SUNW_dof is not a symbol table
dtrace: failed to link script src/node_provider.d: failed to link /usr/ports/www/node/work/node-v16.9.1/out/Release/obj.target/libnode/src/node_dtrace_provider.o: objcopy exited with status 1
gmake[3]: *** [node_dtrace_provider.target.mk:13: /usr/ports/www/node/work/node-v16.9.1/out/Release/obj.target/libnode/src/node_dtrace_provider.o] Error 1
gmake[3]: *** Waiting for unfinished jobs....
rm 18647748ce53df26428f77797f704cbe8baa9858.intermediate 7311133f89dfb527c61f82ee2f900822ed54945c.intermediate
gmake[2]: *** [Makefile:110: node] Error 2
gmake[2]: Leaving directory '/usr/ports/www/node/work/node-v16.9.1'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
Comment 1 O. Hartmann 2021-09-26 09:16:09 UTC
Reverting the setting of WITH_LLVM_BINUTILS to be nonexistent in /etc/src.conf and rebuilding the OS "solved" the problem, but in the view of moving to LLVM binutils, this should be solved.

I leave this PR open and leave it to those, who decide whether ports with problems relating to the switch should be gathered/targeted separately, maybe a dedicated run of poudriere with the above option set on the pkg tree ... anyway, feel free to close.

Regards,
oh
Comment 2 Greg V 2021-10-31 13:05:36 UTC
Encountered this while trying to build perl5 (with dtrace on) with an llvm toolchain. Looks like llvm is completely unaware of dtrace ELF stuff. Could you please report this to llvm.org at least?