[swift-corelibs-dev] libdispatch build issue

Dzianis Fedarenka f.dz.v.gh at gmail.com
Fri Dec 11 10:12:21 CST 2015


Actually, I’ve built library on 14.04 but it required some hack’s like adding dummy #define and calling libtool with different arguments after make failed with errors.

First try:

user$ sudo apt-get install libblocksruntime-dev libkqueue-dev libpthread-workqueue-dev
Reading package lists...
Building dependency tree...
Reading state information...
libblocksruntime-dev is already the newest version.
libkqueue-dev is already the newest version.
libpthread-workqueue-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

user$ git clone https://github.com/apple/swift-corelibs-libdispatch && cd swift-corelibs-libdispatch
user$ sh autogen.sh
user$ ./configure --with-blocks-runtime
user$ make
queue.c:216:22: error: use of undeclared identifier 'WORKQ_BG_PRIOQUEUE'
                .dgq_wq_priority = WORKQ_BG_PRIOQUEUE,
                                   ^
queue.c:227:22: error: use of undeclared identifier 'WORKQ_BG_PRIOQUEUE'
                .dgq_wq_priority = WORKQ_BG_PRIOQUEUE,
                                   ^
queue.c:926:18: error: invalid application of 'sizeof' to an incomplete type 'struct dispatch_root_queue_context_s []'
        dispatch_assert(countof(_dispatch_root_queue_contexts) ==
        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

queue.c:926:18: error: invalid application of 'sizeof' to an incomplete type 'struct dispatch_root_queue_context_s []'
        dispatch_assert(countof(_dispatch_root_queue_contexts) ==
                        ^
queue.c:926:18: error: invalid application of 'sizeof' to an incomplete type 'struct dispatch_root_queue_context_s []'
        dispatch_assert(countof(_dispatch_root_queue_contexts) ==
        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
queue.c:926:18: error: invalid application of 'sizeof' to an incomplete type 'struct dispatch_root_queue_context_s []'
        dispatch_assert(countof(_dispatch_root_queue_contexts) ==
                        ^
5 warnings and 6 errors generated.


Second try (with manually defined WORKQ_BG_PRIOQUEUE macro ;)):
user$ make
/bin/bash ../libtool  --tag=CXX   --mode=link clang++  -g -O2 -avoid-version    -o libdispatch.la -rpath /usr/local/lib allocator.lo apply.lo benchmark.lo data.lo introspection.lo init.lo io.lo object.lo once.lo queue.lo semaphore.lo source.lo time.lo transform.lo voucher.lo shims/linux_stubs.lo     -lpthread  -Lyes -lBlocksRuntime
../libtool: line 6000: cd: yes: No such file or directory
libtool: link: cannot determine absolute directory name of `yes'
make[2]: *** [libdispatch.la] Error 1
make[2]: Leaving directory `/home/user/code/libs/tmp/swift-corelibs-libdispatch/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/user/code/libs/tmp/swift-corelibs-libdispatch/src'
make: *** [all-recursive] Error 1

Third try (after running libtool without -Lyes option):
user$ make
bsdtests.c:28:10: fatal error: 'crt_externs.h' file not found
#include <crt_externs.h>
         ^
1 error generated.


Few… At least libdispatch was built ;)

> 11 дек. 2015 г., в 18:02, David P Grove via swift-corelibs-dev <swift-corelibs-dev at swift.org> написал(а):
> 
> swift-corelibs-dev-bounces at swift.org wrote on 12/11/2015 03:17:47 AM:
> 
> > From: f-dz-f via swift-corelibs-dev <swift-corelibs-dev at swift.org>
> > To: swift-corelibs-dev at swift.org
> > Date: 12/11/2015 03:18 AM
> > Subject: [swift-corelibs-dev]  libdispatch build issue
> > Sent by: swift-corelibs-dev-bounces at swift.org
> 
> > PS On ubuntu 14.04 project is also generally unbuildable (despite 
> > title of commit:33b735c5330b5a97d029bccfff9a7d78ef1f214 ;)). 
> 
> Hi,
> 
> Right now the Linux build is assuming you've installed some pre-req packages.  In particular,
> 
> sudo apt-get install libblocksruntime-dev libkqueue-dev libpthread-workqueue-dev
> 
> I've been building on 15.10;  haven't tried 14.04 recently.  Maybe try install the pre-reqs on 14.04 and see what happens?
> 
> I'll put together a quick check sheet with build pre-reqs and instructions and submit a pull request to include it.
> 
> --dave
> 
> 
> 
> _______________________________________________
> swift-corelibs-dev mailing list
> swift-corelibs-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20151211/6c41807a/attachment.html>


More information about the swift-corelibs-dev mailing list