> On Nov 10, 2016, at 13:34, Eric Wing <ewmail...@gmail.com> wrote: > > On 11/9/16, Eric Wing <ewmail...@gmail.com> wrote: >> On 11/9/16, Eric Wing <ewmail...@gmail.com> wrote: >>> On 11/9/16, Jordan Rose <jordan_r...@apple.com> wrote: >>>> Ah, that does help. The logic to build the Glibc module map comes from >>>> stdlib/public/Platform/CMakeLists.txt, and explicitly checks for >>>> “LINUX”, >>>> “FREEBSD”, “ANDROID”, and “CYGWIN”. Does the Steam-Runtime build use a >>>> different SDK name? >>>> >>>> Jordan >>>> >>> >>> How would I verify/debug this for sure? I haven't been setting >>> anything differently when I build under Steam-Runtime vs. Ubuntu. (And >>> I have gotten through a pure Linux (no Android) build under >>> Steam-Runtime successfully.) Steam-Runtime is just a Linux. (It is >>> originally derived from Ubuntu 12.04LTS, though it probably has all >>> its Ubuntu identifiers stripped/replaced.) >>> >>> >>> I checked the CMakeCache.txt in >>> build/Ninja-ReleaseAssert/swift-linux-x86_64 >>> >>> Both files are identical between the Steam-Runtime and Ubuntu versions >>> when building for Android. The variable SWIFT_SDKS is: >>> SWIFT_SDKS:STRING=ANDROID;LINUX >>> >>> >>> Obviously something is different somewhere since it seems to be >>> skipping the glibc.modulemap in the Steam-Runtime case. >>> >>> >>> Thanks, >>> Eric >>> >> >> Oops. Correction to my last post. The CMakeCache.txt are not >> identical. I compared the wrong files. >> >> However, the SWIFT_SDKS variable are the same in each. >> >> Here are some differences I did spot: >> >> In Ubuntu, LIBXML2_XMLLINT_EXECUABLE is not found, but defined in my >> SteamRT cache. >> >> Ubuntu: >> SWIFT_HAVE_WORKING_STD_REGEX_TEST:INTERNAL=1 >> Steam >> SWIFT_HAVE_WORKING_STD_REGEX_TEST:INTERNAL= >> >> Ubuntu: >> SWIFT_HAVE_WORKING_STD_REGEX_TEST_EXITCODE:INTERNAL=0 >> Steam: >> SWIFT_HAVE_WORKING_STD_REGEX_TEST_EXITCODE:INTERNAL=FAILED_TO_RUN >> >> >> The remaining of the differences are tool version differences and >> stuff with libICU (because Steam-Runtime doesn't supply it so I must >> build/supply it myself). But most of these differences are expected. >> >> Thanks, >> Eric >> > > > It looks like the problem is related to which version of CMake you use. > > Ubuntu 16.10 supplies CMake 3.5.2. > Steam-Runtime ships a version that is way too old, so I built and used > the latest stable CMake version, 3.6.3. > > Using 3.6.3 seems to always trigger this problem with the Swift build. > > I tested it both ways: > > 1. I changed Ubuntu 16.10 to use CMake 3.6.3 and the build broke in > exactly the same way I described. > > 2. In Steam-Runtime, I built/used CMake 3.5.2 instead, and the build > completed. > > > I still don’t know specifically what the build script bug is. This is > going to need to be fixed eventually if all newer versions of CMake > lead to a broken build process.
Nice job tracking this down! I can’t reproduce it with CMake 3.6.3 on Ubuntu 16.04 with a default configuration, though—or at least, I still see the glibc.modulemap target being generated in the Ninja file and listed as a dependency. Can you include your full build-script invocation line? Jordan _______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev