You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As of now, webrtc canary depends on AWS SDK and KVS Webrtc SDK. Since AWS SDK is monorepo, its size is about 500 MB.
To reduce this storage requirement, there are currently 2 solutions:
1. Create a static build and remove everything except the canary binary
This approach is the most preferable, but static builds are flaky, it's consistent across platforms. For example, OpenSSL static build fails only on ubuntu 18.04 not on other versions of ubuntu.
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_lock_new':
threads_pthread.c:(.text+0x45): undefined reference to `pthread_rwlock_init'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_read_lock':
threads_pthread.c:(.text+0x75): undefined reference to `pthread_rwlock_rdlock'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_write_lock':
threads_pthread.c:(.text+0x95): undefined reference to `pthread_rwlock_wrlock'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_unlock':
threads_pthread.c:(.text+0xb5): undefined reference to `pthread_rwlock_unlock'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_lock_free':
threads_pthread.c:(.text+0xda): undefined reference to `pthread_rwlock_destroy'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_run_once':
threads_pthread.c:(.text+0x105): undefined reference to `pthread_once'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_init_local':
threads_pthread.c:(.text+0x125): undefined reference to `pthread_key_create'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_set_local':
threads_pthread.c:(.text+0x157): undefined reference to `pthread_setspecific'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_cleanup_local':
threads_pthread.c:(.text+0x177): undefined reference to `pthread_key_delete'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `openssl_init_fork_handlers':
threads_pthread.c:(.text+0x1d3): undefined reference to `pthread_once'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `fork_once_func':
threads_pthread.c:(.text+0x16): undefined reference to `pthread_atfork'
/tmp/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/lib/libcrypto.a(threads_pthread.o): In function `CRYPTO_THREAD_get_local':
threads_pthread.c:(.text+0x143): undefined reference to `pthread_getspecific'
OpenSSL should include pthread as a part of binary (either dynamic or static link to pthread), but it somehow didn't get linked.
2. Create a dynamic build and remove just the source codes
This approach is OK, but we need to create a script that can understand the library dependencies and make sure that we don't end up deleting them. A tool like ldd will tell us these dependencies, but it gets ugly pretty quickly.
The text was updated successfully, but these errors were encountered:
As of now, webrtc canary depends on AWS SDK and KVS Webrtc SDK. Since AWS SDK is monorepo, its size is about 500 MB.
To reduce this storage requirement, there are currently 2 solutions:
1. Create a static build and remove everything except the canary binary
This approach is the most preferable, but static builds are flaky, it's consistent across platforms. For example, OpenSSL static build fails only on ubuntu 18.04 not on other versions of ubuntu.
OpenSSL should include pthread as a part of binary (either dynamic or static link to pthread), but it somehow didn't get linked.
2. Create a dynamic build and remove just the source codes
This approach is OK, but we need to create a script that can understand the library dependencies and make sure that we don't end up deleting them. A tool like
ldd
will tell us these dependencies, but it gets ugly pretty quickly.The text was updated successfully, but these errors were encountered: