Skip to content

The Swift build fails because libcmark-gfm is not compiled with the -fPIC (position-independent code) flag. #75216

@bc-lee

Description

@bc-lee

While compiling the Swift main branch as of 2024-07-12 on Fedora 40, I encountered the following error:

Details
/usr/bin/clang++ -fPIC -Wno-unknown-warning-option -Werror=unguarded-availability-new -fno-stack-protector -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-class-memaccess -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,--version-script,"/path/to/swift/build/buildbot_linux/swift-linux-x86_64/tools/SourceKit/tools/sourcekitd/bin/InProc/sourcekitdInProc.exports"  -target x86_64-unknown-linux-gnu -fuse-ld=gold -Xlinker --build-id=sha1 -shared -Wl,-soname,libsourcekitdInProc.so -o lib/libsourcekitdInProc.so tools/SourceKit/tools/sourcekitd/bin/InProc/CMakeFiles/sourcekitdInProc.dir/sourcekitdInProc.cpp.o -L/path/to/swift/build/buildbot_linux/llvm-linux-x86_64/./lib   -L/path/to/swift/build/buildbot_linux/swift-linux-x86_64/libdispatch-linux-x86_64-prefix/lib   -L/usr/lib/swift/linux   -L/usr/lib/swift/linux/x86_64   -L/path/to/swift/build/buildbot_linux/swift-linux-x86_64/lib -Wl,-rpath,"\$ORIGIN/swift/linux:\$ORIGIN/swift/host/compiler"  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMSupport.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMCoverage.a  /usr/lib/swift/linux/x86_64/swiftrt.o  -lswiftCore  -lpthread  -ldl  lib/libSourceKitSwiftLang.a  lib/libsourcekitdAPI.a  lib/libsourcekitdService.a  lib/libswiftIDETool.a  lib/libSourceKitSwiftLang.a  lib/libswiftIDETool.a  lib/libswiftFrontendTool.a  lib/libswiftDependencyScan.a  lib/libswiftDependencyScanImpl.a  lib/libswiftImmediate.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMCJIT.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMOrcJIT.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMExecutionEngine.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMRuntimeDyld.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMJITLink.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMOrcTargetProcess.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMOrcShared.a  lib/libswiftMigrator.a  lib/libswiftPrintAsClang.a  lib/libswiftThreading.a  lib/libSourceKitCore.a  lib/libswiftFrontend.a  lib/libswiftAPIDigester.a  lib/libswiftConstExtract.a  lib/libswiftLocalization.a  lib/libswiftIRGen.a  lib/libswiftSILGen.a  lib/libswiftSILOptimizer.a  lib/libswiftLLVMPasses.a  lib/libswiftSymbolGraphGen.a  lib/libswiftRefactoring.a  lib/libswiftIndex.a  lib/libswiftIDE.a  lib/libswiftDriver.a  lib/libswiftSIL.a  lib/libswiftSema.a  lib/libswiftSerialization.a  lib/libswiftSIL.a  lib/libswiftSema.a  lib/libswiftSerialization.a  lib/libswiftClangImporter.a  lib/libswiftParse.a  lib/libswiftOption.a  lib/libswiftIDEUtilsBridging.a  lib/libswiftASTGen.a  lib/swift/host/compiler/lib_CompilerSwiftCompilerPluginMessageHandling.so  lib/swift/host/compiler/lib_CompilerSwiftSyntaxMacroExpansion.so  lib/swift/host/compiler/lib_CompilerSwiftOperators.so  lib/swift/host/compiler/lib_CompilerSwiftSyntaxMacros.so  lib/swift/host/compiler/lib_CompilerSwiftSyntaxBuilder.so  lib/swift/host/compiler/lib_CompilerSwiftParserDiagnostics.so  lib/swift/host/compiler/lib_CompilerSwiftBasicFormat.so  lib/swift/host/compiler/lib_CompilerSwiftIDEUtils.so  lib/swift/host/compiler/lib_CompilerSwiftParser.so  lib/swift/host/compiler/lib_CompilerSwiftDiagnostics.so  lib/lib_CompilerRegexParser.a  lib/swift/host/compiler/lib_CompilerSwiftSyntax.so  lib/libswiftAST.a  lib/libswiftMarkup.a  /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangDependencyScanning.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMX86CodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMX86AsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMX86Desc.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMX86Disassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMX86Info.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMARMCodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMARMAsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMARMDisassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMARMDesc.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMARMInfo.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMARMUtils.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAArch64CodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMCFGuard.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAArch64AsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAArch64Disassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAArch64Desc.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAArch64Info.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAArch64Utils.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMPowerPCCodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMPowerPCAsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMPowerPCDesc.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMPowerPCDisassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMPowerPCInfo.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMSystemZCodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMSystemZAsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMSystemZDisassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMSystemZDesc.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMSystemZInfo.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMipsCodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMipsAsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMipsDesc.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMipsDisassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMipsInfo.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMRISCVCodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMGlobalISel.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMRISCVAsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMRISCVDisassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMRISCVDesc.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMRISCVInfo.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMWebAssemblyCodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMWebAssemblyAsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMWebAssemblyDisassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMWebAssemblyUtils.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMWebAssemblyDesc.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMWebAssemblyInfo.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAVRCodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAsmPrinter.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMSelectionDAG.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAVRAsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAVRDesc.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAVRDisassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMCDisassembler.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAVRInfo.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangTooling.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangToolingRefactor.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangToolingRefactoring.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangToolingSyntax.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangFrontendTool.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangExtractAPI.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangARCMigrate.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangStaticAnalyzerFrontend.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangStaticAnalyzerCheckers.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangStaticAnalyzerCore.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangCrossTU.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangIndex.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangFormat.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangToolingInclusions.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangToolingCore.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangCodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMCoverage.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMLTO.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMExtensions.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMPasses.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMCodeGen.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMObjCARCOpts.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMCodeGenTypes.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMTarget.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMCoroutines.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMipo.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMBitWriter.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMInstrumentation.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMLinker.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMVectorize.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMIRPrinter.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangRewriteFrontend.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangFrontend.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangDriver.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMWindowsDriver.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMOption.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangParse.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMRemoteCachingService.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMRemoteNullService.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangCAS.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMCCAS.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangSerialization.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangSema.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangAnalysis.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangASTMatchers.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMFrontendHLSL.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangSupport.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangEdit.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangAST.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMFrontendOpenMP.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMScalarOpts.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAggressiveInstCombine.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMInstCombine.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMTransformUtils.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAnalysis.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMProfileData.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMSymbolize.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMDebugInfoDWARF.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMDebugInfoPDB.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMObject.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMCParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMMC.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMCASUtil.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMCAS.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMIRReader.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMAsmParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMTextAPI.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMDebugInfoCodeView.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMDebugInfoMSF.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMDebugInfoBTF.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangAPINotes.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMBitReader.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMCore.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMBinaryFormat.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMRemarks.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMBitstreamReader.a  lib/libsourcekitdAPI.a  lib/libSourceKitSupport.a  lib/libswiftBasic.a  lib/libswiftDemangling.a  -lpthread  /usr/lib64/libuuid.so  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangRewrite.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangLex.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libclangBasic.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMTargetParser.a  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMSupport.a  -ldl  -lrt  -lm  /usr/lib64/libz.so  /usr/lib64/libzstd.so  /usr/lib64/libtinfo.so  /path/to/swift/build/buildbot_linux/llvm-linux-x86_64/lib/libLLVMDemangle.a  -ldispatch  -lBlocksRuntime  lib/libswiftCompilerModules.a && :
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(blocks.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(buffer.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(cmark.c.o): requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(cmark_ctype.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(footnotes.c.o): requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(houdini_html_u.c.o): requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(html.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(inlines.c.o): requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(iterator.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(map.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(node.c.o): requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(references.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(scanners.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(utf8.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(houdini_href_e.c.o): requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC
/usr/bin/ld.gold: error: /path/to/swift/build/buildbot_linux/cmark-linux-x86_64/src/libcmark-gfm.a(houdini_html_e.c.o): requires unsupported dynamic reloc 11; recompile with -fPIC

This error occurs because libcmark-gfm is not compiled for position-independent code.

Interestingly, the upstream cmark project unconditionally applies POSITION_INDEPENDENT_CODE in this PR commonmark/cmark#513, but Swift's fork https://github.com/swiftlang/swift-cmark/blob/2c47322cb32cbed555f13bf5cbfaa488cc30a785/src/CMakeLists.txt lacks this change.

To avoid linking errors, it would be beneficial if Swift's fork of cmark also adopts the same change, as demonstrated in this patch: tachoknight/swift-lang-packaging-fedora@c12a145

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions