Skip to content

[SR-623] swift (front-end tool) looks for wrong 'armv*' target on Raspberry Pi #43240

@swift-ci

Description

@swift-ci
Previous ID SR-623
Radar None
Original Reporter ewmailing (JIRA User)
Type Bug
Environment

Raspberry Pi 2 running Raspbian Jessie
Build Swift using MoriMori's guide of building Swift:
http://morimori.tokyo/2016/01/05/how-to-compile-swift-on-a-raspberry-pi-2/
(I'm currently using Option 3)

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug, Linux, arm, armhf
Assignee None
Priority Medium

md5: 7d4d363053081c63f3794de382766057

Issue Description:

I was told to file a bug by William Dillon (hpux735) who has been doing arm work for Swift.

When I try to invoke the 'swift' front end compiler (not 'swiftc') on the Raspberry Pi 2, I get an error message like:
error: unable to load standard library for target ‘armv7l-unknown-linux-gnueabi’

which prevents it from working.

William Dillion says he's been doing work to canonicalize all instances of armv?l into armv?. However, he hasn't focused on the 'swift' compiler (mostly 'swiftc').

As a temporary workaround, I can specify
-target armv7-unknown-linux-gnueabihf

However, the reason I am using 'swift' instead of 'swiftc' is because I'm working on a general Swift backend for CMake so it can handle projects with Swift files. The 'swift' front-end design has the least impedance with the CMake design in that CMake does incremental, file-by-file compilations instead of one-shot-all-files which 'swiftc' wants. (But I can't really put the -target hack into the CMake core because this same code is run on all the other Linux platforms/arch's.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    LinuxPlatform: LinuxarmArchitecture: any ARMarmhfArchitecture: the Debian port for ARM processors (armv7+) that have hardware floating point supportbugA deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itself

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions