Missing libdispatch.so


(Drew Crawford) #1

I'm trying to build libdispatch on debian. Make apparently works:

source.c:2486:1: warning: unused function '_dispatch_mgr_kevent_reenable' [-Wunused-function]
_dispatch_mgr_kevent_reenable(_dispatch_kevent_qos_s *ke)
^
22 warnings generated.
/bin/bash ../libtool --tag=CC --mode=compile clang-3.5 -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c -o time.lo time.c
libtool: compile: clang-3.5 -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c time.c -fPIC -DPIC -o .libs/time.o
/bin/bash ../libtool --tag=CC --mode=compile clang-3.5 -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c -o transform.lo transform.c
libtool: compile: clang-3.5 -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c transform.c -fPIC -DPIC -o .libs/transform.o
/bin/bash ../libtool --tag=CC --mode=compile clang-3.5 -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c -o voucher.lo voucher.c
libtool: compile: clang-3.5 -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c voucher.c -fPIC -DPIC -o .libs/voucher.o
/bin/bash ../libtool --tag=CC --mode=compile clang-3.5 -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c -o shims/linux_stubs.lo shims/linux_stubs.c
libtool: compile: clang-3.5 -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c shims/linux_stubs.c -fPIC -DPIC -o shims/.libs/linux_stubs.o
/bin/bash ../libtool --tag=CXX --mode=link g++ -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 -lkqueue -lpthread_workqueue -lbsd -lpthread -lBlocksRuntime
libtool: link: ( cd ".libs" && rm -f "libdispatch.la" && ln -s "../libdispatch.la" "libdispatch.la" )
make[2]: Leaving directory '/libdispatch/swift-corelibs-libdispatch/src'
make[1]: Leaving directory '/libdispatch/swift-corelibs-libdispatch/src'
$ echo $?
0

However make install does not:

ake[3]: Entering directory '/libdispatch/swift-corelibs-libdispatch/src'
/bin/mkdir -p '/usr/local/lib'
/bin/bash ../libtool --mode=install /usr/bin/install -c libdispatch.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libdispatch.so /usr/local/lib/libdispatch.so
/usr/bin/install: cannot stat '.libs/libdispatch.so': No such file or directory

Indeed, there is no libdispatch.so anywhere. src/.libs contains:

$ ls -la src/.libs/
total 1348
drwxr-xr-x 2 root root 4096 Jan 18 17:16 .
drwxr-xr-x 4 root root 4096 Jan 18 17:16 ..
-rw-r--r-- 1 root root 6472 Jan 18 17:16 allocator.o
-rw-r--r-- 1 root root 60520 Jan 18 17:16 apply.o
-rw-r--r-- 1 root root 11608 Jan 18 17:16 benchmark.o
-rw-r--r-- 1 root root 73992 Jan 18 17:16 data.o
-rw-r--r-- 1 root root 136960 Jan 18 17:16 init.o
-rw-r--r-- 1 root root 2200 Jan 18 17:16 introspection.o
-rw-r--r-- 1 root root 288000 Jan 18 17:16 io.o
lrwxrwxrwx 1 root root 17 Jan 18 17:16 libdispatch.la -> ../libdispatch.la
-rw-r--r-- 1 root root 1001 Jan 18 17:16 libdispatch.lai
-rw-r--r-- 1 root root 45640 Jan 18 17:16 object.o
-rw-r--r-- 1 root root 11584 Jan 18 17:16 once.o
-rw-r--r-- 1 root root 308616 Jan 18 17:16 queue.o
-rw-r--r-- 1 root root 67968 Jan 18 17:16 semaphore.o
-rw-r--r-- 1 root root 206328 Jan 18 17:16 source.o
-rw-r--r-- 1 root root 10344 Jan 18 17:16 time.o
-rw-r--r-- 1 root root 92416 Jan 18 17:16 transform.o
-rw-r--r-- 1 root root 14880 Jan 18 17:16 voucher.o

Any thoughts on why I don't get a libdispatch.so?

Drew


(Daniel Eggert) #2

Although that doesn’t really answer your question, I’ve had luck by using the sources from PR #22: <https://github.com/apple/swift-corelibs-libdispatch/pull/22>. YMMV.

/Daniel