State of Swift on Linux/ARM


(Ron Olson) #1

Hi all-

Is there any "official" place to check what the state of Swift on Linux/ARM is? Specifically, what HW platforms/distro combinations have working binaries? I've seen blogs about getting it compiled and working on Raspberry PIs, but they seem to have caveats as well as general surprise they got it to work at all.

I'm trying to compile Swift on an Nvidia TK1 board, which is an arm7+gpu soc running 32-bit Ubuntu 14, and before I delve too deeply into it (getting some linker errors), I'm wondering if I should bother; I've read that Swift is for 64-bit processors only, but then I read about getting it working on a Raspi where no 64-bit distro is available, AFAIK, so hence my confusion about what 'works' and what doesn't.

Thanks for any info,

Ron


(William Dillon) #2

Hi Ron,

As the unofficial maintainer of Swift on Arm, I can say with confidence that there is no official anything about Swift on Linux/ARM. :slight_smile:

That said, Swift works and builds fantastically well on the TK1 (which I use as my primary development platform).

Also, yes, all official Swift platforms are 64-bit, and that causes some issues occasionally in user code and libraries when people fail to consider 32-bit systems. Swift and it's libraries, however, all work with 32-bit just fine. Any issues I've hit in other places have been pretty trivial.

I have spent some time in the past on the Nvidia TX1, with 64-bit userspace, and I did get swift somewhere resembling a working state, but it was a little flaky in some parts.

Finally, there is a swift-arm github organization with a set of repos that lag considerably from the mainline, but represent a stable port to arm. It's currently at the Swift 3.0 release. Additionally, there is a swift-arm slack team that you are welcome to join:

http://dev.iachieved.it:9909 <http://dev.iachieved.it:9909/>

cheers,
- Will

···

On Oct 10, 2016, at 8:54 AM, Ron Olson via swift-dev <swift-dev@swift.org> wrote:

Hi all-

Is there any "official" place to check what the state of Swift on Linux/ARM is? Specifically, what HW platforms/distro combinations have working binaries? I've seen blogs about getting it compiled and working on Raspberry PIs, but they seem to have caveats as well as general surprise they got it to work at all.

I'm trying to compile Swift on an Nvidia TK1 board, which is an arm7+gpu soc running 32-bit Ubuntu 14, and before I delve too deeply into it (getting some linker errors), I'm wondering if I should bother; I've read that Swift is for 64-bit processors only, but then I read about getting it working on a Raspi where no 64-bit distro is available, AFAIK, so hence my confusion about what 'works' and what doesn't.

Thanks for any info,

Ron
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev


(Kostiantyn Koval) #3

Hi Will

Thanks for your great work on arm support. Wouldn't it be better if ARM support was added directly to the Apple swift repo.
I'm not sure if it's currently possible and what technical challenges we would need to solve to achieve it, i just wold like to know if it has been discussed with swift team?

- Kostiantyn

···

On 10 Oct 2016, at 18:30, william via swift-dev <swift-dev@swift.org> wrote:

Hi Ron,

As the unofficial maintainer of Swift on Arm, I can say with confidence that there is no official anything about Swift on Linux/ARM. :slight_smile:

That said, Swift works and builds fantastically well on the TK1 (which I use as my primary development platform).

Also, yes, all official Swift platforms are 64-bit, and that causes some issues occasionally in user code and libraries when people fail to consider 32-bit systems. Swift and it's libraries, however, all work with 32-bit just fine. Any issues I've hit in other places have been pretty trivial.

I have spent some time in the past on the Nvidia TX1, with 64-bit userspace, and I did get swift somewhere resembling a working state, but it was a little flaky in some parts.

Finally, there is a swift-arm github organization with a set of repos that lag considerably from the mainline, but represent a stable port to arm. It's currently at the Swift 3.0 release. Additionally, there is a swift-arm slack team that you are welcome to join:

http://dev.iachieved.it:9909 <http://dev.iachieved.it:9909/>

cheers,
- Will

On Oct 10, 2016, at 8:54 AM, Ron Olson via swift-dev <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote:

Hi all-

Is there any "official" place to check what the state of Swift on Linux/ARM is? Specifically, what HW platforms/distro combinations have working binaries? I've seen blogs about getting it compiled and working on Raspberry PIs, but they seem to have caveats as well as general surprise they got it to work at all.

I'm trying to compile Swift on an Nvidia TK1 board, which is an arm7+gpu soc running 32-bit Ubuntu 14, and before I delve too deeply into it (getting some linker errors), I'm wondering if I should bother; I've read that Swift is for 64-bit processors only, but then I read about getting it working on a Raspi where no 64-bit distro is available, AFAIK, so hence my confusion about what 'works' and what doesn't.

Thanks for any info,

Ron
_______________________________________________
swift-dev mailing list
swift-dev@swift.org <mailto:swift-dev@swift.org>
https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev


(Jordan Rose) #4

We're generally fine with taking patches to support other platforms in upstream. We don't currently have a way to add externally-managed buildbots to our CI system, though, so it's hard to know when things break. There's also a policy decision here: if someone breaks the Swift-on-MIPS port, does their patch need to be immediately fixed or reverted like when they break Swift-on-x86_64-Ubuntu?

We'll be sure to keep the list posted when any of this changes!
Jordan

···

On Oct 10, 2016, at 10:48, Kostiantyn Koval via swift-dev <swift-dev@swift.org> wrote:

Hi Will

Thanks for your great work on arm support. Wouldn't it be better if ARM support was added directly to the Apple swift repo.
I'm not sure if it's currently possible and what technical challenges we would need to solve to achieve it, i just wold like to know if it has been discussed with swift team?

- Kostiantyn

On 10 Oct 2016, at 18:30, william via swift-dev <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote:

Hi Ron,

As the unofficial maintainer of Swift on Arm, I can say with confidence that there is no official anything about Swift on Linux/ARM. :slight_smile:

That said, Swift works and builds fantastically well on the TK1 (which I use as my primary development platform).

Also, yes, all official Swift platforms are 64-bit, and that causes some issues occasionally in user code and libraries when people fail to consider 32-bit systems. Swift and it's libraries, however, all work with 32-bit just fine. Any issues I've hit in other places have been pretty trivial.

I have spent some time in the past on the Nvidia TX1, with 64-bit userspace, and I did get swift somewhere resembling a working state, but it was a little flaky in some parts.

Finally, there is a swift-arm github organization with a set of repos that lag considerably from the mainline, but represent a stable port to arm. It's currently at the Swift 3.0 release. Additionally, there is a swift-arm slack team that you are welcome to join:

http://dev.iachieved.it:9909 <http://dev.iachieved.it:9909/>

cheers,
- Will

On Oct 10, 2016, at 8:54 AM, Ron Olson via swift-dev <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote:

Hi all-

Is there any "official" place to check what the state of Swift on Linux/ARM is? Specifically, what HW platforms/distro combinations have working binaries? I've seen blogs about getting it compiled and working on Raspberry PIs, but they seem to have caveats as well as general surprise they got it to work at all.

I'm trying to compile Swift on an Nvidia TK1 board, which is an arm7+gpu soc running 32-bit Ubuntu 14, and before I delve too deeply into it (getting some linker errors), I'm wondering if I should bother; I've read that Swift is for 64-bit processors only, but then I read about getting it working on a Raspi where no 64-bit distro is available, AFAIK, so hence my confusion about what 'works' and what doesn't.

Thanks for any info,

Ron
_______________________________________________
swift-dev mailing list
swift-dev@swift.org <mailto:swift-dev@swift.org>
https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org <mailto:swift-dev@swift.org>
https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev


(William Dillon) #5

It is better in general, yes.

However, there are details that make having a separate repo desirable. Think of it more as a place for arm-specific patches to get merged in very quickly and easily while the official swift PR system is running.

Because arm (32-bit specifically) is such an odd duck relative to the other platforms, we sometimes ask for changes that may increase the risk to other, supported, platforms. Those changes can take months to merge into the official repo, if at all. We had been working from individual repos (mostly mine), and that was a nightmare when people tried to build for themselves, as everything was constantly in flux.

In response, we ended up creating our own org that has a stable fork of the official sources that we could coordinate around, provide stable instructions for, and not worry about how long patches can take to merge into the official channels.

The swift team has been great to work with, but their risk calculus is necessarily different than ours.

- Will

···

On Oct 10, 2016, at 10:48 AM, Kostiantyn Koval <konstantin.koval1@gmail.com> wrote:

Hi Will

Thanks for your great work on arm support. Wouldn't it be better if ARM support was added directly to the Apple swift repo.
I'm not sure if it's currently possible and what technical challenges we would need to solve to achieve it, i just wold like to know if it has been discussed with swift team?

- Kostiantyn

On 10 Oct 2016, at 18:30, william via swift-dev <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote:

Hi Ron,

As the unofficial maintainer of Swift on Arm, I can say with confidence that there is no official anything about Swift on Linux/ARM. :slight_smile:

That said, Swift works and builds fantastically well on the TK1 (which I use as my primary development platform).

Also, yes, all official Swift platforms are 64-bit, and that causes some issues occasionally in user code and libraries when people fail to consider 32-bit systems. Swift and it's libraries, however, all work with 32-bit just fine. Any issues I've hit in other places have been pretty trivial.

I have spent some time in the past on the Nvidia TX1, with 64-bit userspace, and I did get swift somewhere resembling a working state, but it was a little flaky in some parts.

Finally, there is a swift-arm github organization with a set of repos that lag considerably from the mainline, but represent a stable port to arm. It's currently at the Swift 3.0 release. Additionally, there is a swift-arm slack team that you are welcome to join:

http://dev.iachieved.it:9909 <http://dev.iachieved.it:9909/>

cheers,
- Will

On Oct 10, 2016, at 8:54 AM, Ron Olson via swift-dev <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote:

Hi all-

Is there any "official" place to check what the state of Swift on Linux/ARM is? Specifically, what HW platforms/distro combinations have working binaries? I've seen blogs about getting it compiled and working on Raspberry PIs, but they seem to have caveats as well as general surprise they got it to work at all.

I'm trying to compile Swift on an Nvidia TK1 board, which is an arm7+gpu soc running 32-bit Ubuntu 14, and before I delve too deeply into it (getting some linker errors), I'm wondering if I should bother; I've read that Swift is for 64-bit processors only, but then I read about getting it working on a Raspi where no 64-bit distro is available, AFAIK, so hence my confusion about what 'works' and what doesn't.

Thanks for any info,

Ron
_______________________________________________
swift-dev mailing list
swift-dev@swift.org <mailto:swift-dev@swift.org>
https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org <mailto:swift-dev@swift.org>
https://lists.swift.org/mailman/listinfo/swift-dev