Android: Build error: No such module "SwiftGlibc"

android

(Eric Wing) #1

I'm trying to build Swift 3 for Android. I'm getting an error at
compiling android/armv7/Glibc.o
Glibc.swift:13
error: no such module 'SwiftGlibc'
@_exported import SwiftGlibc // Clang module

Any ideas what to do?

Thanks,
Eric


(William Dillon) #2

I'm so glad someone else is hitting this problem!

I've been seeing this relatively often. I have a set of superstitions that allow me to get past it, and once I do, I try very hard not to delete anything in my build directory.

- Will

···

On Sep 14, 2016, at 5:49 AM, Eric Wing via swift-dev <swift-dev@swift.org> wrote:

I'm trying to build Swift 3 for Android. I'm getting an error at
compiling android/armv7/Glibc.o
Glibc.swift:13
error: no such module 'SwiftGlibc'
@_exported import SwiftGlibc // Clang module

Any ideas what to do?

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


(Eric Wing) #3

Can you suggest some mirrors to break or rabbit feet to rub, because I
have no idea where to start for this.

Thanks,
Eric

···

On 9/14/16, william <william@housedillon.com> wrote:

I'm so glad someone else is hitting this problem!

I've been seeing this relatively often. I have a set of superstitions that
allow me to get past it, and once I do, I try very hard not to delete
anything in my build directory.

- Will


(William Dillon) #4

I haven't succeeded in re-creating the requisite magic since the release of Swift 3. The full moon is coming, though, so we may see success soon.

In all seriousness, what has worked in the past has been using the swift-3.0 branch, but also, not trying to build everything at once. I'll start with a `utils/build-script -R` then one-by-one add packages like --foundation, --llbuild, etc.

Good luck!
- Will

···

On Sep 14, 2016, at 5:51 PM, Eric Wing <ewmailing@gmail.com> wrote:

On 9/14/16, william <william@housedillon.com> wrote:

I'm so glad someone else is hitting this problem!

I've been seeing this relatively often. I have a set of superstitions that
allow me to get past it, and once I do, I try very hard not to delete
anything in my build directory.

- Will

Can you suggest some mirrors to break or rabbit feet to rub, because I
have no idea where to start for this.

Thanks,
Eric


(William Dillon) #5

I've finally succeeded in re-creating the process for building (not on the Android port, mind).

The trick this time was to build without the install options:

./swift/utils/build-script -R

This should SUCCEED

Then, delete the swift build directory:

rm -rf build/Ninja-ReleaseAssert/swift-linux-armv7

Then, build swift again *with* the install options:

./swift/utils/build-script -R -- --install-swift --install-prefix=/usr '--swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;dev' --build-swift-static-stdlib --build-swift-static-sdk-overlay --skip-test-lldb --install-destdir=swift-install --installable-package=swift.tar.gz

If that succeeds, go ahead and build the whole project:

./swift/utils/build-script -R --llbuild --lldb --foundation --xctest --swiftpm --libdispatch -- --install-libdispatch --install-swift --install-lldb --install-llbuild --install-foundation --install-swiftpm --install-xctest --install-prefix=/usr '--swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;dev' --build-swift-static-stdlib --build-swift-static-sdk-overlay --skip-test-lldb --install-destdir=swift-install --installable-package=swift.tar.gz

I hope that helps.

- Will

···

On Sep 14, 2016, at 3:51 PM, Eric Wing <ewmailing@gmail.com> wrote:

On 9/14/16, william <william@housedillon.com> wrote:

I'm so glad someone else is hitting this problem!

I've been seeing this relatively often. I have a set of superstitions that
allow me to get past it, and once I do, I try very hard not to delete
anything in my build directory.

- Will

Can you suggest some mirrors to break or rabbit feet to rub, because I
have no idea where to start for this.

Thanks,
Eric


(Brian Gesiak) #6

Swift Android builds successfully for me. Following all the preliminary
steps from https://github.com/apple/swift/blob/master/docs/Android.md, such
as building libicu, I can successfully build with the following command on
the master branch of apple/swift this morning:

utils/build-script -R \
    --android \
    --android-ndk ~/android-ndk-r12b \
    --android-api-level 21 \
    --android-icu-uc ~/GitHub/apple/libiconv-libicu-android/armeabi-v7a \
    --android-icu-uc-include
~/GitHub/apple/libiconv-libicu-android/armeabi-v7a/icu/source/common \
    --android-icu-i18n ~/GitHub/apple/libiconv-libicu-android/armeabi-v7a \
    --android-icu-i18n-include
~/GitHub/apple/libiconv-libicu-android/armeabi-v7a/icu/source/i18n \
    -- --reconfigure

I haven't tried building --lldb and --foundation, so I'm not sure about
those. I also haven't tried checking out the swift-3.0-release branch.
(It'd be handy if utils/update-checkout could checkout a particular tag
across all repositories!)

I'd recommend using `--reconfigure` to ensure CMake isn't carrying over
values from previous builds. Also, keep in mind that only an Ubnutu 15.10
host is currently supported, as per the documentation. If you're still
having trouble despite all that, let me know as much about your build
environment as you can, and I'll try to help!

- Brian Gesiak

···

On Sun, Sep 18, 2016 at 10:52 PM, william via swift-dev <swift-dev@swift.org > wrote:

I've finally succeeded in re-creating the process for building (not on the
Android port, mind).

The trick this time was to build without the install options:

./swift/utils/build-script -R

This should SUCCEED

Then, delete the swift build directory:

rm -rf build/Ninja-ReleaseAssert/swift-linux-armv7

Then, build swift again *with* the install options:

./swift/utils/build-script -R -- --install-swift --install-prefix=/usr
'--swift-install-components=autolink-driver;compiler;
clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;dev'
--build-swift-static-stdlib --build-swift-static-sdk-overlay
--skip-test-lldb --install-destdir=swift-install
--installable-package=swift.tar.gz

If that succeeds, go ahead and build the whole project:

./swift/utils/build-script -R --llbuild --lldb --foundation --xctest
--swiftpm --libdispatch -- --install-libdispatch --install-swift
--install-lldb --install-llbuild --install-foundation --install-swiftpm
--install-xctest --install-prefix=/usr '--swift-install-components=
autolink-driver;compiler;clang-builtin-headers;stdlib;
swift-remote-mirror;sdk-overlay;dev' --build-swift-static-stdlib
--build-swift-static-sdk-overlay --skip-test-lldb --install-destdir=swift-install
--installable-package=swift.tar.gz

I hope that helps.

- Will

> On Sep 14, 2016, at 3:51 PM, Eric Wing <ewmailing@gmail.com> wrote:
>
> On 9/14/16, william <william@housedillon.com> wrote:
>> I'm so glad someone else is hitting this problem!
>>
>> I've been seeing this relatively often. I have a set of superstitions
that
>> allow me to get past it, and once I do, I try very hard not to delete
>> anything in my build directory.
>>
>> - Will
>>
>
> Can you suggest some mirrors to break or rabbit feet to rub, because I
> have no idea where to start for this.
>
> Thanks,
> Eric

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


(Eric Wing) #7

So I did some superstition as William suggested and started removing
and changing a bunch of build flags. At some point, the message went
away, and when I put the flags back, the message didn't come back.

My original attempt should have been a completely clean checkout and
rebuild from scratch. (The old build directory was removed.) I was
building from inside Steam-Runtime. I suspect it should be pretty easy
to reproduce since its point is to provide a reproducible build/dev
environment.

Even though I'm past this one hurdle, I'm still trying to get past a
bunch of other build problems, so I'm not completely past this problem
for sure.

Thanks,
Eric


(Brian Gesiak) #8

In case anyone's interested in writing some Python, here's a task for
giving utils/update-checkout a --tag option:
https://bugs.swift.org/browse/SR-2695

- Brian

···

On Mon, Sep 19, 2016 at 9:01 AM, Brian Gesiak <modocache@gmail.com> wrote:

Swift Android builds successfully for me. Following all the preliminary
steps from https://github.com/apple/swift/blob/master/docs/Android.md,
such as building libicu, I can successfully build with the following
command on the master branch of apple/swift this morning:

utils/build-script -R \
    --android \
    --android-ndk ~/android-ndk-r12b \
    --android-api-level 21 \
    --android-icu-uc ~/GitHub/apple/libiconv-libicu-android/armeabi-v7a \
    --android-icu-uc-include ~/GitHub/apple/libiconv-
libicu-android/armeabi-v7a/icu/source/common \
    --android-icu-i18n ~/GitHub/apple/libiconv-libicu-android/armeabi-v7a
\
    --android-icu-i18n-include ~/GitHub/apple/libiconv-
libicu-android/armeabi-v7a/icu/source/i18n \
    -- --reconfigure

I haven't tried building --lldb and --foundation, so I'm not sure about
those. I also haven't tried checking out the swift-3.0-release branch.
(It'd be handy if utils/update-checkout could checkout a particular tag
across all repositories!)

I'd recommend using `--reconfigure` to ensure CMake isn't carrying over
values from previous builds. Also, keep in mind that only an Ubnutu 15.10
host is currently supported, as per the documentation. If you're still
having trouble despite all that, let me know as much about your build
environment as you can, and I'll try to help!

- Brian Gesiak

On Sun, Sep 18, 2016 at 10:52 PM, william via swift-dev < > swift-dev@swift.org> wrote:

I've finally succeeded in re-creating the process for building (not on
the Android port, mind).

The trick this time was to build without the install options:

./swift/utils/build-script -R

This should SUCCEED

Then, delete the swift build directory:

rm -rf build/Ninja-ReleaseAssert/swift-linux-armv7

Then, build swift again *with* the install options:

./swift/utils/build-script -R -- --install-swift --install-prefix=/usr
'--swift-install-components=autolink-driver;compiler;clang-
builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;dev'
--build-swift-static-stdlib --build-swift-static-sdk-overlay
--skip-test-lldb --install-destdir=swift-install
--installable-package=swift.tar.gz

If that succeeds, go ahead and build the whole project:

./swift/utils/build-script -R --llbuild --lldb --foundation --xctest
--swiftpm --libdispatch -- --install-libdispatch --install-swift
--install-lldb --install-llbuild --install-foundation --install-swiftpm
--install-xctest --install-prefix=/usr '--swift-install-components=au
tolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;dev'
--build-swift-static-stdlib --build-swift-static-sdk-overlay
--skip-test-lldb --install-destdir=swift-install
--installable-package=swift.tar.gz

I hope that helps.

- Will

> On Sep 14, 2016, at 3:51 PM, Eric Wing <ewmailing@gmail.com> wrote:
>
> On 9/14/16, william <william@housedillon.com> wrote:
>> I'm so glad someone else is hitting this problem!
>>
>> I've been seeing this relatively often. I have a set of superstitions
that
>> allow me to get past it, and once I do, I try very hard not to delete
>> anything in my build directory.
>>
>> - Will
>>
>
> Can you suggest some mirrors to break or rabbit feet to rub, because I
> have no idea where to start for this.
>
> Thanks,
> Eric

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