gator icon indicating copy to clipboard operation
gator copied to clipboard

gator 9.6.0 gatord link errors with "violates the C++ One Definition Rule" and "error adding symbols: DSO missing from command line"

Open staehle opened this issue 6 months ago • 1 comments

Hello: I'm attempting to compile gator 9.6.0 with BitBake/Yocto/OpenEmbedded, but have run into a blocking issue at the final gatord link step. I'm using GCC 14.2, Boost 1.80.0, and Protobuf 5.29.5.

| FAILED: gatord
| : && /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++ --sysroot=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot -mthumb -mfpu=neon -mfloat-abi=softfp -mcpu=cortex-a9 -finline-limit=5 -flto=auto -fuse-linker-plugin -ffunction-sections -fdata-sections -Wl,--gc-sections  -Wl,-z,norelro  -fstack-protector --param=ssp-buffer-size=4    --sysroot=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/git=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/git=/usr/src/debug/gator/9.6.0  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/build=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/build=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot=  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot=  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot-native=  -fvisibility-inlines-hidden -fvisibility=hidden -Werror -fexceptions -Wall -Wextra -Wno-shadow -Wno-psabi -g -g -ggdb3 -gdwarf-3 -D_DEBUG  -mthumb -mfpu=neon -mfloat-abi=softfp -mcpu=cortex-a9 -finline-limit=5 -flto=auto -fuse-linker-plugin -ffunction-sections -fdata-sections -Wl,--gc-sections  -Wl,-z,norelro  -fstack-protector --param=ssp-buffer-size=4    --sysroot=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/git=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/git=/usr/src/debug/gator/9.6.0  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/build=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/build=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot=  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot=  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot-native=  -fvisibility-inlines-hidden -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fcanon-prefix-map  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/git=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/git=/usr/src/debug/gator/9.6.0  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/build=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/build=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot=  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot=  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot-native=  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fcanon-prefix-map  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/git=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/git=/usr/src/debug/gator/9.6.0  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/build=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/build=/usr/src/debug/gator/9.6.0  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot=  -fmacro-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot=  -fdebug-prefix-map=/__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot-native= CMakeFiles/gatord-tpip.dir/libsensors/access.c.o CMakeFiles/gatord-tpip.dir/libsensors/conf-lex.c.o CMakeFiles/gatord-tpip.dir/libsensors/conf-parse.c.o CMakeFiles/gatord-tpip.dir/libsensors/data.c.o CMakeFiles/gatord-tpip.dir/libsensors/error.c.o CMakeFiles/gatord-tpip.dir/libsensors/general.c.o CMakeFiles/gatord-tpip.dir/libsensors/init.c.o CMakeFiles/gatord-tpip.dir/libsensors/sysfs.c.o CMakeFiles/gatord.dir/AnnotateListener.cpp.o CMakeFiles/gatord.dir/AtraceDriver.cpp.o CMakeFiles/gatord.dir/BlockCounterFrameBuilder.cpp.o CMakeFiles/gatord.dir/BlockCounterMessageConsumer.cpp.o CMakeFiles/gatord.dir/Buffer.cpp.o CMakeFiles/gatord.dir/BufferUtils.cpp.o CMakeFiles/gatord.dir/CapturedXML.cpp.o CMakeFiles/gatord.dir/CCNDriver.cpp.o CMakeFiles/gatord.dir/Child.cpp.o CMakeFiles/gatord.dir/ConfigurationXML.cpp.o CMakeFiles/gatord.dir/ConfigurationXMLParser.cpp.o CMakeFiles/gatord.dir/Constant.cpp.o CMakeFiles/gatord.dir/CounterXML.cpp.o CMakeFiles/gatord.dir/CpuUtils.cpp.o CMakeFiles/gatord.dir/CpuUtils_Topology.cpp.o CMakeFiles/gatord.dir/DiskIODriver.cpp.o CMakeFiles/gatord.dir/DriverCounter.cpp.o CMakeFiles/gatord.dir/Drivers.cpp.o CMakeFiles/gatord.dir/DynBuf.cpp.o CMakeFiles/gatord.dir/ExternalDriver.cpp.o CMakeFiles/gatord.dir/ExternalSource.cpp.o CMakeFiles/gatord.dir/Fifo.cpp.o CMakeFiles/gatord.dir/FSDriver.cpp.o CMakeFiles/gatord.dir/FtraceDriver.cpp.o CMakeFiles/gatord.dir/GatorCLIParser.cpp.o CMakeFiles/gatord.dir/GatorMain.cpp.o CMakeFiles/gatord.dir/GetEventKey.cpp.o CMakeFiles/gatord.dir/HwmonDriver.cpp.o CMakeFiles/gatord.dir/LocalCapture.cpp.o CMakeFiles/gatord.dir/main.cpp.o CMakeFiles/gatord.dir/MemInfoDriver.cpp.o CMakeFiles/gatord.dir/MidgardDriver.cpp.o CMakeFiles/gatord.dir/Monitor.cpp.o CMakeFiles/gatord.dir/NetDriver.cpp.o CMakeFiles/gatord.dir/OlySocket.cpp.o CMakeFiles/gatord.dir/OlyUtility.cpp.o CMakeFiles/gatord.dir/ParserResult.cpp.o CMakeFiles/gatord.dir/pmus_xml.cpp.o CMakeFiles/gatord.dir/PolledDriver.cpp.o CMakeFiles/gatord.dir/PrimarySourceProvider.cpp.o CMakeFiles/gatord.dir/Proc.cpp.o CMakeFiles/gatord.dir/Sender.cpp.o CMakeFiles/gatord.dir/SessionData.cpp.o CMakeFiles/gatord.dir/SessionXML.cpp.o CMakeFiles/gatord.dir/SimpleDriver.cpp.o CMakeFiles/gatord.dir/linux/smmu_identifier.cpp.o CMakeFiles/gatord.dir/linux/smmu_support.cpp.o CMakeFiles/gatord.dir/StreamlineSetup.cpp.o CMakeFiles/gatord.dir/StreamlineSetupLoop.cpp.o CMakeFiles/gatord.dir/TtraceDriver.cpp.o CMakeFiles/gatord.dir/UEvent.cpp.o CMakeFiles/gatord.dir/UserSpaceSource.cpp.o CMakeFiles/gatord.dir/agents/agent_environment.cpp.o CMakeFiles/gatord.dir/agents/agent_workers_process_holder.cpp.o CMakeFiles/gatord.dir/agents/ext_source/ext_source_agent_main.cpp.o CMakeFiles/gatord.dir/agents/perf/capture_configuration.cpp.o CMakeFiles/gatord.dir/agents/perf/cpufreq_counter.cpp.o CMakeFiles/gatord.dir/agents/perf/events/perf_activator.cpp.o CMakeFiles/gatord.dir/agents/perf/events/perf_event_utils.cpp.o CMakeFiles/gatord.dir/agents/perf/perf_agent_main.cpp.o CMakeFiles/gatord.dir/agents/perf/perf_buffer_consumer.cpp.o CMakeFiles/gatord.dir/agents/perf/perf_driver_summary.cpp.o CMakeFiles/gatord.dir/agents/perf/perf_frame_packer.cpp.o CMakeFiles/gatord.dir/agents/perf/source_adapter.cpp.o CMakeFiles/gatord.dir/agents/perfetto/perfetto_driver.cpp.o CMakeFiles/gatord.dir/agents/spawn_agent.cpp.o CMakeFiles/gatord.dir/android/AndroidActivityManager.cpp.o CMakeFiles/gatord.dir/android/AppGatorRunner.cpp.o CMakeFiles/gatord.dir/android/GatorAndroidSetupHandler.cpp.o CMakeFiles/gatord.dir/android/PropertyUtils.cpp.o CMakeFiles/gatord.dir/android/Spawn.cpp.o CMakeFiles/gatord.dir/android/ThermalDriver.cpp.o CMakeFiles/gatord.dir/android/Utils.cpp.o CMakeFiles/gatord.dir/armnn/ArmNNDriver.cpp.o CMakeFiles/gatord.dir/armnn/ArmNNSource.cpp.o CMakeFiles/gatord.dir/armnn/CounterDirectoryDecoder.cpp.o CMakeFiles/gatord.dir/armnn/CounterDirectoryStateUtils.cpp.o CMakeFiles/gatord.dir/armnn/DecoderUtility.cpp.o CMakeFiles/gatord.dir/armnn/DriverSourceIpc.cpp.o CMakeFiles/gatord.dir/armnn/DriverSourceWithAgent.cpp.o CMakeFiles/gatord.dir/armnn/FrameBuilderFactory.cpp.o CMakeFiles/gatord.dir/armnn/GlobalState.cpp.o CMakeFiles/gatord.dir/armnn/PacketDecoder.cpp.o CMakeFiles/gatord.dir/armnn/PacketDecoderEncoderFactory.cpp.o CMakeFiles/gatord.dir/armnn/PacketEncoder.cpp.o CMakeFiles/gatord.dir/armnn/PacketUtility.cpp.o CMakeFiles/gatord.dir/armnn/SenderQueue.cpp.o CMakeFiles/gatord.dir/armnn/SenderThread.cpp.o CMakeFiles/gatord.dir/armnn/Session.cpp.o CMakeFiles/gatord.dir/armnn/SessionPacketSender.cpp.o CMakeFiles/gatord.dir/armnn/SessionStateTracker.cpp.o CMakeFiles/gatord.dir/armnn/SocketIO.cpp.o CMakeFiles/gatord.dir/armnn/ThreadManagementServer.cpp.o CMakeFiles/gatord.dir/armnn/TimestampCorrector.cpp.o CMakeFiles/gatord.dir/async/proc/async_exec.cpp.o CMakeFiles/gatord.dir/async/proc/async_process.cpp.o CMakeFiles/gatord.dir/async/proc/process_monitor.cpp.o CMakeFiles/gatord.dir/capture/CaptureProcess.cpp.o CMakeFiles/gatord.dir/capture/Environment.cpp.o CMakeFiles/gatord.dir/lib/Assert.cpp.o CMakeFiles/gatord.dir/lib/Error.cpp.o CMakeFiles/gatord.dir/lib/File.cpp.o CMakeFiles/gatord.dir/lib/FileDescriptor.cpp.o CMakeFiles/gatord.dir/lib/forked_process.cpp.o CMakeFiles/gatord.dir/lib/forked_process_utils.cpp.o CMakeFiles/gatord.dir/lib/FsEntry.cpp.o CMakeFiles/gatord.dir/lib/LineReader.cpp.o CMakeFiles/gatord.dir/lib/Popen.cpp.o CMakeFiles/gatord.dir/lib/Process.cpp.o CMakeFiles/gatord.dir/lib/Resource.cpp.o CMakeFiles/gatord.dir/lib/Syscall.cpp.o CMakeFiles/gatord.dir/lib/TimestampSource.cpp.o CMakeFiles/gatord.dir/lib/Utils.cpp.o CMakeFiles/gatord.dir/lib/WaitForProcessPoller.cpp.o CMakeFiles/gatord.dir/linux/CoreOnliner.cpp.o CMakeFiles/gatord.dir/linux/PerCoreIdentificationThread.cpp.o CMakeFiles/gatord.dir/linux/perf/PerfAttrsBuffer.cpp.o CMakeFiles/gatord.dir/linux/perf/PerfDriverConfiguration.cpp.o CMakeFiles/gatord.dir/linux/perf/PerfDriver.cpp.o CMakeFiles/gatord.dir/linux/perf/PerfDriverCreateSource.cpp.o CMakeFiles/gatord.dir/linux/perf/PerfEventGroup.cpp.o CMakeFiles/gatord.dir/linux/perf/PerfEventGroupIdentifier.cpp.o CMakeFiles/gatord.dir/linux/perf/PerfGroups.cpp.o CMakeFiles/gatord.dir/linux/perf/PerfSyncThread.cpp.o CMakeFiles/gatord.dir/linux/proc/ProcessChildren.cpp.o CMakeFiles/gatord.dir/linux/proc/ProcessPollerBase.cpp.o CMakeFiles/gatord.dir/linux/proc/ProcLoadAvgFileRecord.cpp.o CMakeFiles/gatord.dir/linux/proc/ProcPidStatFileRecord.cpp.o CMakeFiles/gatord.dir/linux/proc/ProcPidStatmFileRecord.cpp.o CMakeFiles/gatord.dir/linux/proc/ProcStatFileRecord.cpp.o CMakeFiles/gatord.dir/linux/SysfsSummaryInformation.cpp.o CMakeFiles/gatord.dir/linux/Tracepoints.cpp.o CMakeFiles/gatord.dir/logging/agent_log.cpp.o CMakeFiles/gatord.dir/logging/file_log_sink.cpp.o CMakeFiles/gatord.dir/logging/global_log.cpp.o CMakeFiles/gatord.dir/logging/logging.cpp.o CMakeFiles/gatord.dir/logging/suppliers.cpp.o CMakeFiles/gatord.dir/metrics/definitions.cpp.o CMakeFiles/gatord.dir/metrics/group_generator.cpp.o CMakeFiles/gatord.dir/metrics/metric_group_set.cpp.o CMakeFiles/gatord.dir/mali_userspace/MaliDevice.cpp.o CMakeFiles/gatord.dir/mali_userspace/MaliGPUClockPolledDriver.cpp.o CMakeFiles/gatord.dir/mali_userspace/MaliHwCntrDriver.cpp.o CMakeFiles/gatord.dir/mali_userspace/MaliHwCntrSource.cpp.o CMakeFiles/gatord.dir/mali_userspace/MaliHwCntrTask.cpp.o CMakeFiles/gatord.dir/mali_userspace/MaliInstanceLocator.cpp.o CMakeFiles/gatord.dir/xml/CurrentConfigXML.cpp.o CMakeFiles/gatord.dir/xml/EventsXMLHelpers.cpp.o CMakeFiles/gatord.dir/xml/EventsXML.cpp.o CMakeFiles/gatord.dir/xml/EventsXMLProcessor.cpp.o CMakeFiles/gatord.dir/xml/MxmlUtils.cpp.o CMakeFiles/gatord.dir/xml/PmuXML.cpp.o CMakeFiles/gatord.dir/xml/PmuXMLParser.cpp.o CMakeFiles/gatord.dir/SrcMd5.cpp.o -o gatord  -latomic  hwcpipe2/device/libdevice.a  /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot/usr/lib/libboost_filesystem.so.1.80.0  /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot/usr/lib/libboost_regex.so.1.80.0  ipc/proto/generated/libipcproto.a  -ldl  liblibGPUInfo.a  -lrt  -lm  /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot/usr/lib/libmxml.so  /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot/usr/lib/libprotobuf-lite.so && :
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.h:63: error: 'create_pipes' violates the C++ One Definition Rule [-Werror=odr]
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.cpp:59: note: return value type mismatch
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.cpp:59: note: type 'struct error_code_or_t' itself violates the C++ One Definition Rule
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.cpp:59: note: 'create_pipes' was previously declared here
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process.h:87: error: 'fork_process' violates the C++ One Definition Rule [-Werror=odr]
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process.cpp:47: note: return value type mismatch
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process.cpp:47: note: type 'struct error_code_or_t' itself violates the C++ One Definition Rule
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process.cpp:47: note: 'fork_process' was previously declared here
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.h:19: error: 'create' violates the C++ One Definition Rule [-Werror=odr]
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.cpp:20: note: return value type mismatch
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.cpp:20: note: type 'struct error_code_or_t' itself violates the C++ One Definition Rule
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.cpp:20: note: 'create' was previously declared here
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.h:65: error: 'create_from' violates the C++ One Definition Rule [-Werror=odr]
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.cpp:64: note: return value type mismatch
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.cpp:64: note: type 'struct error_code_or_t' itself violates the C++ One Definition Rule
| /usr/src/debug/gator/9.6.0/daemon/lib/forked_process_utils.cpp:64: note: 'create_from' was previously declared here
| lto1: all warnings being treated as errors
| lto-wrapper: fatal error: /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++ returned 1 exit status
| compilation terminated.
| /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.2.0/ld: error: lto-wrapper failed
| collect2: error: ld returned 1 exit status
| ninja: build stopped: subcommand failed.
|

Adding a naive -Wno-error=odr to the cflags in the build then gets a little farther but then errors with some undefined references:

| /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.2.0/ld: /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot/usr/lib/libprotobuf-lite.so: undefined reference to symbol '_ZN4absl12lts_2025012712log_internal21CheckOpMessageBuilder9NewStringEv'
| /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.2.0/ld: /__virtual/super/build/tmp-glibc/work/cortexa9t2-neon-oe-linux-gnueabi/gator/9.6.0/recipe-sysroot/usr/lib/libabsl_log_internal_check_op.so.2501.0.0: error adding symbols: DSO missing from command line
| collect2: error: ld returned 1 exit status
| ninja: build stopped: subcommand failed.
|

I needed to apply this patch to fix other compile errors: 0001-Compile-fixes-for-boost-1.80.0.patch

Any assistance would be appreciated, thanks!

staehle avatar Oct 29 '25 21:10 staehle

hmmm I don't really know whats going on here.

This is not something that reproduces locally.

Perhaps a patch accidentally stripped of a #pragma once from one of the files? Otherwise i can't see how this could possibly be triggered: create_pipes is declared once in the header forked_process_utils.h and defined in the corresponding cpp file.

git grep create_pipes
daemon/agents/spawn_agent.cpp:        auto stdio_fds = lib::stdio_fds_t::create_pipes();
daemon/agents/spawn_agent.cpp:        auto stdio_fds = lib::stdio_fds_t::create_pipes();
daemon/lib/forked_process_utils.cpp:    error_code_or_t<stdio_fds_t> stdio_fds_t::create_pipes()
daemon/lib/forked_process_utils.h:        static error_code_or_t<stdio_fds_t> create_pipes();

bengaineyarm avatar Nov 03 '25 11:11 bengaineyarm