[swift-dev] Build failure for Linux: "No such module: SwiftGlibc"

Karl Wagner springsupport at me.com
Tue May 3 12:40:10 CDT 2016

> On 2 May 2016, at 18:42, Joseph Bell <joe at iachieved.it> wrote:
> Karl,
> A number of us are on Slack working with ARM support - would you like an invite?
> Joe


yes that would nice.

The modulemap issue can be fixed by adding a -resource-dir flag. Going with a comment in AddSwift.cmake, I switched the include fag to the library output directory to "-resource-dir”, but then SwiftShims wouldn’t build. So I changed the flag back to a standard include and make it *also* specify “-resource-dir” on cross-compile (so the cross command has both -I and -resource-dir). Now the native host builds, but the cross-compiled stdlib won’t because of the same SwiftShims issue.

So I need to look at how the compiler uses -resource-dir what’s going on with SwiftShims.

> My changes are here: https://github.com/karwa/swift <https://github.com/karwa/swift>
> Then I’m building with:
> ../swift/utils/build-script -d \
> 	--install-prefix="/usr" \
> 	--install-symroot="${cc_files}/out/symroot" \
> 	-- \
> 	--cross-compile-tools-deployment-targets=linux-armv7 \
> 	--cross-compile-sysroot="${sysroot}" \
> 	--cross-compile-toolchain-bin="${toolchain}"
> 	--stdlib-deployment-targets="macosx-x86_64;linux-armv7=linux-armv7”

Explanation on the flags, process:

${cc_files} = the place where I stick the cross-compile resources. Somewhere the stick the output package later.


Built from: https://launchpad.net/gcc-arm-embedded/5.0/5-2015-q4-major
Edit install_toolchain.sh and add “--enable-gold” to the binutils flags
Also in install_common.sh, charged TARGET to "arm-linux-eabi”, but not sure that’s necessary.

Give the path to the unprefixed versions of the tools, e.g: "${cc_files}/toolchain/gcc-arm-none-eabi-5_2-2015q4/install-native/arm-linux-eabi/bin"


Created using this script: https://gist.github.com/karwa/c73f9fd2768c96f6871be4aae152b264 <https://gist.github.com/karwa/c73f9fd2768c96f6871be4aae152b264>

./make_sysroot.py --distro debian --version jessie --arch armhf --install sysroot.armhf.debian.jessie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160503/333306c5/attachment.html>

More information about the swift-dev mailing list