Skip to content

[SR-1242] undefined reference to `pthread_workqueue_signal_np' #747

@drewcrawford

Description

@drewcrawford
Previous ID SR-1242
Radar None
Original Reporter @drewcrawford
Type Bug
Status Closed
Resolution Done

Attachment: Download

Environment

swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a
linux x64

Additional Detail from JIRA
Votes 0
Component/s libdispatch
Labels Bug, BuildScript
Assignee dgrove-oss (JIRA)
Priority Medium

md5: 5b44bab98d2e303c59f3b525ea5019f3

Issue Description:

When building libdispatch as part of the build-script, I get the following compile failure:

libdispatch: using standard linker
+ [[ ! -f /swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/config.status ]]
+ pushd /swift-dev/build/buildbot_linux/libdispatch-linux-x86_64
/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64 /swift-dev/swift
+ make
Making all in dispatch
make[1]: Entering directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/dispatch'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/dispatch'
Making all in man
make[1]: Entering directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/man'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/man'
Making all in os
make[1]: Entering directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/os'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/os'
Making all in private
make[1]: Entering directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/private'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/private'
Making all in src
make[1]: Entering directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/src'
make  all-am
make[2]: Entering directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/src'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/src'
make[1]: Leaving directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/src'
Making all in tests
make[1]: Entering directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/tests'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/tests'
make[1]: Entering directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64'
+ cd tests
+ make build-tests
/bin/bash ../libtool  --tag=CC   --mode=link clang -Wall -Wno-deprecated-declarations  -fblocks -I/usr/include/kqueue  -isystem /usr/include/bsd -DLIBBSD_OVERLAY    -g -O2   -o dispatch_apply dispatch_apply.o libbsdtests.la ../src/libdispatch.la -lkqueue  -lpthread_workqueue -lbsd  -lpthread  -lBlocksRuntime
libtool: link: clang -Wall -Wno-deprecated-declarations -fblocks -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -g -O2 -o .libs/dispatch_apply dispatch_apply.o  ./.libs/libbsdtests.a ../src/.libs/libdispatch.so -lkqueue -lpthread_workqueue -lbsd -lpthread -lBlocksRuntime -Wl,-rpath -Wl,/tmp/install///usr/lib/swift/linux
../src/.libs/libdispatch.so: undefined reference to `pthread_workqueue_signal_np'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:1121: recipe for target 'dispatch_apply' failed
make: *** [dispatch_apply] Error 1
./utils/build-script: command terminated with a non-zero exit status 2, aborting
./utils/build-script: command terminated with a non-zero exit status 1, aborting
root@7ebb6c41d1b4:/swift-dev/swift#

This is new behavior in swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a, and it only reproduces via build script.

I currently work around with the attached patch to disable the test that produces this error.

I encounter this error even with skip-test-libdispatch=1, which IMO should not even compile these tests.

I'm setting component to libdispatch, although it may be an infrastructure bug.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions