[MacPorts] #71601: cmake @3.29.5_0: dyld: lazy symbol binding failed: Symbol not found: __ZNSo9_M_insertIeEERSoT_ on 10.5 ppc with libgcc14

MacPorts noreply at macports.org
Mon Dec 23 00:42:20 UTC 2024


#71601: cmake @3.29.5_0:  dyld: lazy symbol binding failed: Symbol not found:
__ZNSo9_M_insertIeEERSoT_ on 10.5 ppc with libgcc14
-----------------------+-----------------------------------------
  Reporter:  rmottola  |      Owner:  (none)
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:
Resolution:            |   Keywords:  ppc leopard tiger legacy-os
      Port:  cmake     |
-----------------------+-----------------------------------------

Comment (by kencu):

 I also did see this link error a few weeks ago, when building cmake on
 Tiger PPC using gcc7 as the compiler with libgcc14 as the runtime,
 indicating the exact same missing symbol:

 {{{
 /opt/local/bin/g++-mp-7 -Wl,-headerpad_max_install_names -latomic
 -L/opt/local/lib -lMacportsLegacySupport -arch ppc -framework
 CoreFoundation -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc
 -DCMAKE_BOOTSTRAP    -DCMake_HAVE_CXX_MAKE_UNIQUE=1
 -I/opt/local/var/macports/build/_opt_macportsofficial_macports-
 ports_devel_cmake/cmake/work/cmake-3.29.5/Bootstrap.cmk
 -I/opt/local/var/macports/build/_opt_macportsofficial_macports-
 ports_devel_cmake/cmake/work/cmake-3.29.5/Source
 -I/opt/local/var/macports/build/_opt_macportsofficial_macports-
 ports_devel_cmake/cmake/work/cmake-3.29.5/Source/LexerParser
 -I/opt/local/var/macports/build/_opt_macportsofficial_macports-
 ports_devel_cmake/cmake/work/cmake-3.29.5/Utilities/std
 -I/opt/local/var/macports/build/_opt_macportsofficial_macports-
 ports_devel_cmake/cmake/work/cmake-3.29.5/Utilities
 cmAddCompileDefinitionsCommand.o cmAddCustomCommandCommand.o
 cmAddCustomTargetCommand.o cmAddDefinitionsCommand.o
 cmAddDependenciesCommand.o cmAddExecutableCommand.o cmAddLibraryCommand.o
 cmAddSubDirectoryCommand.o cmAddTestCommand.o cmArgumentParser.o
 cmBinUtilsLinker.o cmBinUtilsLinuxELFGetRuntimeDependenciesTool.o
 cmBinUtilsLinuxELFLinker.o
 cmBinUtilsLinuxELFObjdumpGetRuntimeDependenciesTool.o
 cmBinUtilsMacOSMachOGetRuntimeDependenciesTool.o
 cmBinUtilsMacOSMachOLinker.o
 cmBinUtilsMacOSMachOOToolGetRuntimeDependenciesTool.o
 cmBinUtilsWindowsPEGetRuntimeDependenciesTool.o
 cmBinUtilsWindowsPEDumpbinGetRuntimeDependenciesTool.o
 cmBinUtilsWindowsPELinker.o
 cmBinUtilsWindowsPEObjdumpGetRuntimeDependenciesTool.o cmBlockCommand.o
 cmBreakCommand.o cmBuildCommand.o cmCMakeLanguageCommand.o
 cmCMakeMinimumRequired.o cmList.o cmCMakePath.o cmCMakePathCommand.o
 cmCMakePolicyCommand.o cmCPackPropertiesGenerator.o cmCacheManager.o
 cmCommand.o cmCommandArgumentParserHelper.o cmCommands.o
 cmCommonTargetGenerator.o cmComputeComponentGraph.o cmComputeLinkDepends.o
 cmComputeLinkInformation.o cmComputeTargetDepends.o cmConsoleBuf.o
 cmConditionEvaluator.o cmConfigureFileCommand.o cmContinueCommand.o
 cmCoreTryCompile.o cmCreateTestSourceList.o cmCryptoHash.o
 cmCustomCommand.o cmCustomCommandGenerator.o cmCustomCommandLines.o
 cmCxxModuleMapper.o cmCxxModuleUsageEffects.o cmDefinePropertyCommand.o
 cmDefinitions.o cmDocumentationFormatter.o cmELF.o
 cmEnableLanguageCommand.o cmEnableTestingCommand.o
 cmEvaluatedTargetProperty.o cmExecProgramCommand.o
 cmExecuteProcessCommand.o cmExpandedCommandArgument.o cmExperimental.o
 cmExportBuildFileGenerator.o cmExportFileGenerator.o
 cmExportInstallFileGenerator.o cmExportSet.o
 cmExportTryCompileFileGenerator.o cmExprParserHelper.o
 cmExternalMakefileProjectGenerator.o cmFileCommand.o cmFileCopier.o
 cmFileInstaller.o cmFileSet.o cmFileTime.o cmFileTimeCache.o cmFileTimes.o
 cmFindBase.o cmFindCommon.o cmFindFileCommand.o cmFindLibraryCommand.o
 cmFindPackageCommand.o cmFindPackageStack.o cmFindPathCommand.o
 cmFindProgramCommand.o cmForEachCommand.o cmFunctionBlocker.o
 cmFunctionCommand.o cmFSPermissions.o cmGeneratedFileStream.o
 cmGeneratorExpression.o cmGeneratorExpressionContext.o
 cmGeneratorExpressionDAGChecker.o cmGeneratorExpressionEvaluationFile.o
 cmGeneratorExpressionEvaluator.o cmGeneratorExpressionLexer.o
 cmGeneratorExpressionNode.o cmGeneratorExpressionParser.o
 cmGeneratorTarget.o cmGetCMakePropertyCommand.o
 cmGetDirectoryPropertyCommand.o cmGetFilenameComponentCommand.o
 cmGetPipes.o cmGetPropertyCommand.o cmGetSourceFilePropertyCommand.o
 cmGetTargetPropertyCommand.o cmGetTestPropertyCommand.o
 cmGlobalCommonGenerator.o cmGlobalGenerator.o cmGlobVerificationManager.o
 cmHexFileConverter.o cmIfCommand.o cmImportedCxxModuleInfo.o
 cmIncludeCommand.o cmIncludeGuardCommand.o cmIncludeDirectoryCommand.o
 cmIncludeRegularExpressionCommand.o cmInstallCommand.o
 cmInstallCommandArguments.o cmInstallCxxModuleBmiGenerator.o
 cmInstallDirectoryGenerator.o cmInstallExportGenerator.o
 cmInstallFileSetGenerator.o cmInstallFilesCommand.o
 cmInstallFilesGenerator.o cmInstallGenerator.o
 cmInstallGetRuntimeDependenciesGenerator.o
 cmInstallImportedRuntimeArtifactsGenerator.o
 cmInstallRuntimeDependencySet.o cmInstallRuntimeDependencySetGenerator.o
 cmInstallScriptGenerator.o cmInstallSubdirectoryGenerator.o
 cmInstallTargetGenerator.o cmInstallTargetsCommand.o cmInstalledFile.o
 cmJSONHelpers.o cmJSONState.o cmLDConfigLDConfigTool.o cmLDConfigTool.o
 cmLinkDirectoriesCommand.o cmLinkItem.o cmLinkItemGraphVisitor.o
 cmLinkLineComputer.o cmLinkLineDeviceComputer.o cmListCommand.o
 cmListFileCache.o cmLocalCommonGenerator.o cmLocalGenerator.o
 cmMSVC60LinkLineComputer.o cmMacroCommand.o cmMakeDirectoryCommand.o
 cmMakefile.o cmMarkAsAdvancedCommand.o cmMathCommand.o cmMessageCommand.o
 cmMessenger.o cmNewLineStyle.o cmOSXBundleGenerator.o cmOptionCommand.o
 cmOrderDirectories.o cmOutputConverter.o cmParseArgumentsCommand.o
 cmPathLabel.o cmPolicies.o cmProcessOutput.o cmProjectCommand.o cmValue.o
 cmPropertyDefinition.o cmPropertyMap.o cmGccDepfileLexerHelper.o
 cmGccDepfileReader.o cmReturnCommand.o cmPlaceholderExpander.o
 cmPlistParser.o cmRulePlaceholderExpander.o cmRuntimeDependencyArchive.o
 cmScriptGenerator.o cmSearchPath.o cmSeparateArgumentsCommand.o
 cmSetCommand.o cmSetDirectoryPropertiesCommand.o cmSetPropertyCommand.o
 cmSetSourceFilesPropertiesCommand.o cmSetTargetPropertiesCommand.o
 cmSetTestsPropertiesCommand.o cmSiteNameCommand.o cmSourceFile.o
 cmSourceFileLocation.o cmStandardLevelResolver.o cmState.o
 cmStateDirectory.o cmStateSnapshot.o cmString.o cmStringAlgorithms.o
 cmStringReplaceHelper.o cmStringCommand.o cmSubcommandTable.o
 cmSubdirCommand.o cmSystemTools.o cmTarget.o
 cmTargetCompileDefinitionsCommand.o cmTargetCompileFeaturesCommand.o
 cmTargetCompileOptionsCommand.o cmTargetIncludeDirectoriesCommand.o
 cmTargetLinkLibrariesCommand.o cmTargetLinkOptionsCommand.o
 cmTargetPrecompileHeadersCommand.o cmTargetPropCommandBase.o
 cmTargetPropertyComputer.o cmTargetSourcesCommand.o cmTest.o
 cmTestGenerator.o cmTimestamp.o cmTransformDepfile.o cmTryCompileCommand.o
 cmTryRunCommand.o cmUnsetCommand.o cmUVHandlePtr.o cmUVProcessChain.o
 cmVersion.o cmWhileCommand.o cmWindowsRegistry.o cmWorkingDirectory.o
 cmXcFramework.o cmake.o cmakemain.o cmcmd.o cm_fileno.o cmDepends.o
 cmDependsC.o cmDependsCompiler.o cmGlobalUnixMakefileGenerator3.o
 cmLocalUnixMakefileGenerator3.o cmMakefileExecutableTargetGenerator.o
 cmMakefileLibraryTargetGenerator.o cmMakefileTargetGenerator.o
 cmMakefileUtilityTargetGenerator.o cmProcessTools.o fs_path.o
 string_view.o cmCommandArgumentLexer.o cmCommandArgumentParser.o
 cmExprLexer.o cmExprParser.o cmGccDepfileLexer.o cmListFileLexer.o
 Directory.o EncodingCXX.o FStream.o Glob.o RegularExpression.o Status.o
 SystemTools.o EncodingC.o ProcessUNIX.o String.o System.o Terminal.o uv-
 src-strscpy.c.o uv-src-strtok.c.o uv-src-timer.c.o uv-src-uv-common.c.o
 uv-src-unix-cmake-bootstrap.c.o uv-src-unix-core.c.o uv-src-unix-fs.c.o
 uv-src-unix-loop.c.o uv-src-unix-loop-watcher.c.o uv-src-unix-no-
 fsevents.c.o uv-src-unix-pipe.c.o uv-src-unix-poll.c.o uv-src-unix-posix-
 hrtime.c.o uv-src-unix-posix-poll.c.o uv-src-unix-process.c.o uv-src-unix-
 signal.c.o uv-src-unix-stream.c.o uv-src-unix-tcp.c.o uv-src-unix-tty.c.o
 rhash-librhash-algorithms.c.o rhash-librhash-byte_order.c.o rhash-
 librhash-hex.c.o rhash-librhash-md5.c.o rhash-librhash-rhash.c.o rhash-
 librhash-sha1.c.o rhash-librhash-sha256.c.o rhash-librhash-sha3.c.o rhash-
 librhash-sha512.c.o rhash-librhash-util.c.o jsoncpp-src-lib_json-
 json_reader.cpp.o jsoncpp-src-lib_json-json_value.cpp.o jsoncpp-src-
 lib_json-json_writer.cpp.o  -o cmake
 Undefined symbols:
   "std::basic_ostream<char, std::char_traits<char> >&
 std::basic_ostream<char, std::char_traits<char> >::_M_insert<long
 double>(long double)", referenced from:
       cmGlobalGenerator::Configure()      in cmGlobalGenerator.o
       cmGlobalGenerator::Generate()      in cmGlobalGenerator.o
 ld: symbol(s) not found
 collect2: error: ld returned 1 exit status
 }}}

 chatgpt had a lot to say about that error, starting with this:

 "
 The error you are encountering indicates a problem with the linking
 process, specifically with an undefined symbol in the std::ostream
 template for long double. This can happen due to mismatched or missing C++
 standard library implementations, ABI differences, or misconfigured
 compiler and linker flags.
 "

-- 
Ticket URL: <https://trac.macports.org/ticket/71601#comment:26>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list