swiftlang / swiftlang/swift-corelibs-libdispatch

[SR-5969] Swift build error on Gentoo

Open
#678 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug libdispatch Linux
Dominant language
C
Stars
2.6k
Forks
496
Avg merge
2d 6h
Merged PRs (30d)
3

Description

Previous ID SR-5969
Radar None
Original Reporter Vladislav (JIRA User)
Type Bug
Environment

Linux ved-hp-gentoo 4.12.12-gentoo #1 SMP Fri Sep 15 21:11:09 MSK 2017 x86_64 Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz GenuineIntel GNU/Linux

clang version 3.9.1 (tags/RELEASE_391/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

build command used: utils/build-script --preset=buildbot_linux install_destdir=/mnt/swift/gentoo installable_package=/mnt/swift/gentoo/swift-gentoo.tar.gz

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

md5: 41a6ba396a8ac5eacc0ed32cdc94aaab

Issue Description:

The log is:

– The ASM compiler identification is unknown
– Found assembler: /usr/bin/clang
– Warning: Did not find file Compiler/ASM
-
Finding installed version for: cmake
– Found version: cmake version 3.7.2 CMake suite maintained and supported by Kitware (kitware.com/cmake).

– Finding version for: /usr/bin/cmake
– Found version: 3.7.2

– Finding installed version for: ninja
– Found version: 1.7.2

– Finding version for: /mnt/swift/swift-source/build/buildbot_linux/ninja-build/ninja
– Found version: 1.8.2

– Finding version for: /usr/bin/clang
– Found version: 3.9.1

– Finding version for: /usr/bin/clang++
– Found version: 3.9.1

– Linker detection: GNU ld
– Building with fPIC
-
Linux SDK:
– Path: /
– Version: don't use
– Build number: don't use
– Deployment version: don't use
– Library subdir: linux
– Version min name:
– Triple name: linux
– Architectures: x86_64
– Object Format: ELF
– Linker (x86_64): /usr/bin/ld
– Triple for x86_64 is x86_64-unknown-linux-gnu

– Building host Swift tools for LINUX x86_64
– Build type: Release
– Assertions: TRUE
– LTO:

– Building Swift standard library and SDK overlays for SDKs: LINUX
– Build type: Release
– Assertions: FALSE

– Building Swift runtime with:
– Leak Detection Checker Entrypoints: FALSE

– Found ICU: /usr/include
– Swift version: 4.1
– Swift vendor:
– Swift compiler version:
– Embedded clang compiler version:
– Found ICU: /usr/include
CMake Warning at docs/CMakeLists.txt:130 (message):
LitRe not found; code examples won't be tested.

– Configuring done
– Generating done
– Build files have been written to: /mnt/swift/swift-source/build/buildbot_linux/swift-linux-x86_64

  • popd
    /mnt/swift/swift-source/swift
  • /usr/bin/cmake --build /mnt/swift/swift-source/build/buildbot_linux/swift-linux-x86_64 – -j4 all swift-stdlib-linux-x86_64
    [2/230] Performing build step for 'libdispatch'
    FAILED: tools/SourceKit/libdispatch-prefix/src/libdispatch-stamp/libdispatch-build /mnt/swift/swift-source/build/buildbot_linux/libdispatch-linux-x86_64/src/libdispatch.so
    cd /mnt/swift/swift-source/build/buildbot_linux/libdispatch-linux-x86_64 && /usr/bin/cmake --build . && /usr/bin/cmake -E touch /mnt/swift/swift-source/build/buildbot_linux/swift-linux-x86_64/tools/SourceKit/libdispatch-prefix/src/libdispatch-stamp/libdispatch-build
    [1/51] cd /mnt/swift/swift-source/build/buildbot_linux/libdispatch-linux-x86_64 && /usr/bin/cmake -E create_symlink /mnt/swift/swift-source/swift-corelibs-libdispatch/dispatch/generic/module.modulemap /mnt/swift/swift-source/swift-corelibs-libdispatch/dispatch/module.modulemap && /usr/bin/cmake -E create_symlink /mnt/swift/swift-source/swift-corelibs-libdispatch/private/generic/module.modulemap /mnt/swift/swift-source/swift-corelibs-libdispatch/private/module.modulemap
    [2/51] Building C object tests/CMakeFiles/bsdtests.dir/dispatch_test.c.o
    FAILED: tests/CMakeFiles/bsdtests.dir/dispatch_test.c.o
    /mnt/swift/swift-source/build/buildbot_linux/llvm-linux-x86_64/bin/clang -DDISPATCH_USE_DTRACE=1 -DHAVE_CONFIG_H -Itests -I/mnt/swift/swift-source/swift-corelibs-libdispatch/tests -I/mnt/swift/swift-source/swift-corelibs-libdispatch -march=native -pipe -O2 -fomit-frame-pointer -fvisibility=hidden -Werror -Wall -Wextra -Wno-unknown-warning-option -Wno-trigraphs -Wmissing-field-initializers -Wmissing-prototypes -Wdocumentation -Wunreachable-code -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wunknown-pragmas -Wshadow -Wno-four-char-constants -Wconversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wassign-enum -Wsign-compare -Wshorten-64-to-32 -Wpointer-sign -Wnewline-eof -Wdeprecated-declarations -Wsign-conversion -Winfinite-recursion -Warray-bounds-pointer-arithmetic -Watomic-properties -Wcomma -Wconditional-uninitialized -Wcovered-switch-default -Wdate-time -Wdeprecated -Wdouble-promotion -Wduplicate-enum -Wexpansion-to-defined -Wfloat-equal -Widiomatic-parentheses -Wignored-qualifiers -Wimplicit-fallthrough -Wnullable-to-nonnull-conversion -Wobjc-interface-ivars -Wover-aligned -Wpacked -Wpointer-arith -Wselector -Wstatic-in-inline -Wsuper-class-method-mismatch -Wswitch-enum -Wtautological-compare -Wunguarded-availability -Wunused -Wno-disabled-macro-expansion -Wno-pedantic -Wno-bad-function-cast -Wno-c+-compat -Wno-c 98-compat -Wno-c+98-compat-pedantic -Wno-cast-align -Wno-cast-qual -Wno-documentation-unknown-command -Wno-format-nonliteral -Wno-missing-variable-declarations -Wno-old-style-cast -Wno-padded -Wno-reserved-id-macro -Wno-shift-sign-overflow -Wno-undef -Wno-unreachable-code-aggressive -Wno-unused-macros -Wno-used-but-marked-unused -Wno-vla -DLIBBSD_OVERLAY -isystem /usr/local/include/bsd -MD -MT tests/CMakeFiles/bsdtests.dir/dispatch_test.c.o -MF tests/CMakeFiles/bsdtests.dir/dispatch_test.c.o.d -o tests/CMakeFiles/bsdtests.dir/dispatch_test.c.o -c /mnt/swift/swift-source/swift-corelibs-libdispatch/tests/dispatch_test.c
    In file included from /mnt/swift/swift-source/swift-corelibs-libdispatch/tests/dispatch_test.c:22:
    /mnt/swift/swift-source/swift-corelibs-libdispatch/tests/bsdtests.h:72:72: error: expected function body after function declarator
    void test_ptr_notnull_format(const void *ptr, const char *format, ...) __printflike(2, 3);
    ^
    /mnt/swift/swift-source/swift-corelibs-libdispatch/tests/bsdtests.h:80:89: error: expected function body after function declarator
    void test_ptr_format(const void* actual, const void* expected, const char *format, ...) __printflike(3,4);
    ^
    /mnt/swift/swift-source/swift-corelibs-libdispatch/tests/bsdtests.h:84:86: error: expected function body after function declarator
    void test_uint32_format(uint32_t actual, uint32_t expected, const char *format, ...) __printflike(3,4);
    ^
    /mnt/swift/swift-source/swift-corelibs-libdispatch/tests/bsdtests.h:88:83: error: expected function body after function declarator
    void test_int32_format(int32_t actual, int32_t expected, const char* format, ...) __printflike(3,4);

....

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with swift-corelibs-libdispatch/tests/bsdtests.h and the failing tests/dispatch_test.c compilation shown in the log. Reproduce the libdispatch build with the provided Gentoo environment and inspect the compiler invocation around the __printflike declarations. Done means the libdispatch build and its tests compile successfully on the reported Linux setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cmake, linux
Domain
build-system, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.