I follow vibe.d tutorial by reyvaleza:
$ dub init hello -t vibe.d
$ cd hello
$ dub
Output:
Pre-gen Running commands for openssl
Starting Performing "debug" build using dmd for x86_64.
Up-to-date diet-ng 1.8.1: target for configuration [library] is up to date.
Up-to-date taggedalgebraic 0.11.23: target for configuration [library] is up to date.
Up-to-date eventcore 0.9.30: target for configuration [cfrunloop] is up to date.
Up-to-date stdx-allocator 2.77.5: target for configuration [library] is up to date.
Up-to-date vibe-container 1.3.1: target for configuration [library] is up to date.
Up-to-date vibe-core 2.8.5: target for configuration [cfrunloop] is up to date.
Up-to-date vibe-inet:textfilter 1.0.0: target for configuration [library] is up to date.
Up-to-date vibe-serialization 1.0.4: target for configuration [library] is up to date.
Up-to-date vibe-stream 1.1.0: target for configuration [library] is up to date.
Up-to-date vibe-inet 1.0.0: target for configuration [library] is up to date.
Up-to-date mir-linux-kernel 1.0.1: target for configuration [library] is up to date.
Up-to-date vibe-inet:crypto 1.0.0: target for configuration [library] is up to date.
Up-to-date vibe-stream:tls 1.1.0: target for configuration [openssl] is up to date.
Up-to-date vibe-http 1.1.0: target for configuration [library] is up to date.
Up-to-date vibe-d:mail 0.10.0: target for configuration [library] is up to date.
Up-to-date vibe-d:mongodb 0.10.0: target for configuration [library] is up to date.
Up-to-date vibe-d:redis 0.10.0: target for configuration [library] is up to date.
Up-to-date vibe-d:utils 0.10.0: target for configuration [library] is up to date.
Up-to-date vibe-d:web 0.10.0: target for configuration [library] is up to date.
Up-to-date vibe-d 0.10.0: target for configuration [library] is up to date.
Building hello ~master: building configuration [application]
Linking hello
Undefined symbols for architecture x86_64:
"_ERR_new", referenced from:
__D4vibe6stream7openssl11setSSLErrorFNbNeAyaQdiQgZv in libvibe-stream_tls.a(openssl_1f9_448.o)
"_ERR_set_debug", referenced from:
__D4vibe6stream7openssl11setSSLErrorFNbNeAyaQdiQgZv in libvibe-stream_tls.a(openssl_1f9_448.o)
"_ERR_set_error", referenced from:
__D4vibe6stream7openssl11setSSLErrorFNbNeAyaQdiQgZv in libvibe-stream_tls.a(openssl_1f9_448.o)
"_SSL_get1_peer_certificate", referenced from:
__D4vibe6stream7openssl13OpenSSLStream6__ctorMFNfSQBv8internal14interfaceproxy__T14InterfaceProxyTCQDs4coreQDv6StreamZQBlCQEpQEnQEj14OpenSSLContextEQFpQFn3tls14TLSStreamStateAyaSQGtQDb3net14NetworkAddressAQBfZ10__lambda18MFNbNeZPS6deimosQIo5types7x509_st in libvibe-stream_tls.a(openssl_1ec_4f0.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: undefined reference to `_ERR_new`
Error: undefined reference to `_ERR_set_debug`
Error: undefined reference to `_ERR_set_error`
Error: undefined reference to `_SSL_get1_peer_certificate`
perhaps a library needs to be added with the `-L` flag or `pragma(lib, ...)`
Error: linker exited with status 1
cc /Users/rillki/.dub/cache/hello/~master/build/application-debug-YL3P8PyeIXmTPy3UUgCigQ/hello.o -o /Users/rillki/.dub/cache/hello/~master/build/application-debug-YL3P8PyeIXmTPy3UUgCigQ/hello -g -m64 -Xlinker -no_compact_unwind -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker CoreFoundation -Xlinker -framework -Xlinker CoreServices ../../.dub/cache/vibe-d/0.10.0/build/library-debug-g1lwC9oTSuj0EEKi5a88zQ/libvibed.a ../../.dub/cache/vibe-d/0.10.0/+mail/build/library-debug-AOm94-Q5A3-Ii47AS5uxiA/libvibe-d_mail.a ../../.dub/cache/vibe-d/0.10.0/+mongodb/build/library-debug-Cuh56lxuIvNOrEzVbad13w/libvibe-d_mongodb.a ../../.dub/cache/vibe-d/0.10.0/+redis/build/library-debug-BgFwHl_nuMmPSlfnbIlXxA/libvibe-d_redis.a ../../.dub/cache/vibe-d/0.10.0/+web/build/library-debug-8XPuAyuS5ZXa1HtQXbVdtg/libvibe-d_web.a ../../.dub/cache/vibe-d/0.10.0/+utils/build/library-debug-lXwZdAd4zVPimo5vbKE8Iw/libvibe-d_utils.a ../../.dub/cache/vibe-http/1.1.0/build/library-debug-XQ0vmbAGrZ_QXcUNlnTYTg/libvibe-http.a ../../.dub/cache/diet-ng/1.8.1/build/library-debug-Lp3ZEcx7dSuUprbkrcEoLA/libdiet-ng.a ../../.dub/cache/vibe-inet/1.0.0/build/library-debug-xw8vadh_Vlg6hQY8bh5YuQ/libvibe-inet.a ../../.dub/cache/vibe-inet/1.0.0/+textfilter/build/library-debug-yptDu1jzhPlJiR32QzChjw/libvibe-inet_textfilter.a ../../.dub/cache/vibe-serialization/1.0.4/build/library-debug-21ht2wTy2J9X2ZPmQRs0eA/libvibe-serialization.a ../../.dub/cache/vibe-inet/1.0.0/+crypto/build/library-debug-qdZDX17mub0iJpWQy7Zfpg/libvibe-inet_crypto.a ../../.dub/cache/mir-linux-kernel/1.0.1/build/library-debug-qNurHACkZt8LQU_ZThWaJA/libmir-linux-kernel.a ../../.dub/cache/vibe-stream/1.1.0/+tls/build/openssl-debug-p9NLKJHZMqkOZy4LjTZmkA/libvibe-stream_tls.a ../../.dub/cache/vibe-stream/1.1.0/build/library-debug-AaFD56-zfiQeh6rvhU4cvg/libvibe-stream.a ../../.dub/cache/vibe-core/2.8.5/build/cfrunloop-debug-HtkJDWziCJ8N2L8UFMj-6Q/libvibe_core.a ../../.dub/cache/eventcore/0.9.30/build/cfrunloop-debug-Xog3q5femZHeQULqlY-KUQ/libeventcore.a ../../.dub/cache/taggedalgebraic/0.11.23/build/library-debug-jib9rlbUhg6hVqWGBHd0Xw/libtaggedalgebraic.a ../../.dub/cache/vibe-container/1.3.1/build/library-debug-64fXjI5WEGko5OU5kJXFrw/libvibe-container.a ../../.dub/cache/stdx-allocator/2.77.5/build/library-debug-JTLsrDN5lJb-86S-S2_9-Q/libstdx-allocator.a -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl/lib -L/usr/local/Cellar/openssl@3/3.3.1/lib -lssl -lcrypto -L/usr/local/opt/dmd/lib -lphobos2 -lpthread -lm
dub.json:
{
"authors": [
"rillki"
],
"copyright": "Copyright © 2024, rillki",
"dependencies": {
"vibe-d": "~>0.9"
},
"description": "A simple vibe.d server application.",
"license": "MIT",
"name": "hello"
}
Machine:
MacBook Pro (Retina, 15-inch, Late 2013), macOS Big Sur version 11.7.10
How should I solve this? It mentions undefined symbols from openssl, but I have it installed. Vibe.d should link it automatically, right?