Host Environment
To Reproduce
Steps to reproduce the behavior:
./vcpkg install drogon:x64-osx
The failure seems to happen when building mariadb.
Failure logs
[106/107] : && /Library/Developer/CommandLineTools/usr/bin/clang++ -fPIC -g -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/usr/local/opt/icu4c/lib drogon_ctl/CMakeFiles/drogon_ctl.dir/cmd.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_controller.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_filter.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_model.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_plugin.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_project.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_view.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/help.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/main.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/press.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/version.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/cmake.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/config.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/demoMain.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/filter_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/filter_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/gitignore.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/model_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/model_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/model_json.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/plugin_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/plugin_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_base_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_base_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_custom_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_custom_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_h.cc.o -o drogon_ctl/drogon_ctl libdrogon.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libtrantor.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libcares.a -lpthread /usr/local/vcpkg/installed/x64-osx/debug/lib/libjsoncpp.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libuuid.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libpq.dylib /usr/local/vcpkg/installed/x64-osx/debug/lib/libmariadbclient.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libsqlite3.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libz.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libssl.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libcrypto.a -ldl && :
FAILED: drogon_ctl/drogon_ctl
: && /Library/Developer/CommandLineTools/usr/bin/clang++ -fPIC -g -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/usr/local/opt/icu4c/lib drogon_ctl/CMakeFiles/drogon_ctl.dir/cmd.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_controller.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_filter.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_model.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_plugin.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_project.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_view.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/help.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/main.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/press.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/version.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/cmake.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/config.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/demoMain.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/filter_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/filter_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/gitignore.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/model_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/model_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/model_json.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/plugin_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/plugin_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_base_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_base_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_custom_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_custom_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_h.cc.o -o drogon_ctl/drogon_ctl libdrogon.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libtrantor.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libcares.a -lpthread /usr/local/vcpkg/installed/x64-osx/debug/lib/libjsoncpp.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libuuid.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libpq.dylib /usr/local/vcpkg/installed/x64-osx/debug/lib/libmariadbclient.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libsqlite3.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libz.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libssl.a /usr/local/vcpkg/installed/x64-osx/debug/lib/libcrypto.a -ldl && :
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
_mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
"_iconv_close", referenced from:
_mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
"_iconv_open", referenced from:
_mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Additional context
This is a semi-common issue on OSX if you have installed macports. However, I do not have macports installed on my machine.
Hi @juliankrieger
Thanks for posting this issue.
It seems to be a source bug, which was also posted in upstream https://github.com/an-tao/drogon/issues/536#issuecomment-676839057.
@an-tao
Could you please help take a look about this issue?
I checked the source code and didn't find mariadb used in CMakeLists. Although we have added libmariadb to the dependency list, it still wasn't linked by drogon. So I wonder if there is something wrong with the usage of mariadb.
Thanks.
I can't reproduce the error on my OSX, this may be related to #13007, please try to run ./vcpkg upgrade libmariadb --no-dry-run and then install drogon again.
Hi @an-tao
Thanks for your suggestion. I tried to rebuild this according to your guidelines and failed with the same error.
Then I clone a new repo to build, it still failed:
Undefined symbols for architecture x86_64:
161 "_iconv", referenced from:
162 _mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
163 "_iconv_close", referenced from:
164 _mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
165 "_iconv_open", referenced from:
166 _mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
167 "_pg_b64_dec_len", referenced from:
168 _read_server_first_message in libpq.a(fe-auth-scram.o)
169 _read_server_final_message in libpq.a(fe-auth-scram.o)
170 "_pg_b64_decode", referenced from:
171 _read_server_first_message in libpq.a(fe-auth-scram.o)
172 _read_server_final_message in libpq.a(fe-auth-scram.o)
173 "_pg_b64_enc_len", referenced from:
174 _build_client_first_message in libpq.a(fe-auth-scram.o)
175 _build_client_final_message in libpq.a(fe-auth-scram.o)
176 "_pg_b64_encode", referenced from:
177 _build_client_first_message in libpq.a(fe-auth-scram.o)
178 _build_client_final_message in libpq.a(fe-auth-scram.o)
179 "_pg_fprintf", referenced from:
180 _pqSaveParameterStatus in libpq.a(fe-exec.o)
181 _default_threadlock in libpq.a(fe-connect.o)
182 _passwordFromFile in libpq.a(fe-connect.o)
183 _defaultNoticeProcessor in libpq.a(fe-connect.o)
@Arves100 we need help about the iconv issue in libmariadb, my framework drogon depends on libmariadb and it can be built successfully on Windows but failed on linux and osx, after some investigations, I found the libiconv is not in the dependces list of libmariadb, so I guess when installing libmariadb on Macos, the HAVE_ICONV macro is enabled and the compiler can find the 'iconv.h' file in my system include directory(not in vcpkg), I'm not sure about this, please give me some hints, thanks so much in advance.
Hello, after a quick investigation MariaDB does not use libiconv under Windows (this explains why it can be built correctly under Windows).
This seems to be related that cmake cannot find the library libiconv, so it suppose that it is integrated inside libc.
So the solution should just be building libiconv under non-Windows platform (assuming it would work like zlib did)
Thanks for the quick reply, I notice that there is a 'WITH_ICONV' option being added in the commit 7052619cc4b447da54a0b1458e096bb8dc4b3c77 on Sep 14, so I guess this issue will be resolved if the libmariadb is upgraded to the latest version, am I right?
WITH_ICONV is supported since version 3.1.10, so upgrading the version and adding iconv as a feature should fix the issue. We're currently in v3.1.7. I might work on the upgrading in this days unless you want to do that.
if WITH_ICONV is enabled, should a configuration file like FindLibmariadbConfig.cmake be installed into vcpkg for users to add dependencies of libmariadb? otherwise I have to add a FindIconv.cmake to my port.
I am very willing to help but I am not familiar with libmariadb. I'm looking forward to the update. Thank you.
It should automatically link iconv because it's set as a dependency on libmariadb. That's something vcpkg should be doing by default.
It should automatically link iconv because it's set as a dependency on libmariadb. That's something vcpkg should be doing by default.
Great! thank you
@LilyWangL please help us troubleshoot the link error of libpq in linux and osx.
My drogon framework depends on the libpq library, it can be build successfully on windows. and there is no error when compiling with older version of libpq on linux and osx.
I use libpq via find_package(PostgreSQL), did I misuse libpq? Thanks a lot!
Seems we need to resolve the problems on libmariadbfirst.
For libmariadb, upgrade it to the latest version 3.1.10 and add iconvas a feature. drogon should depend on libmariadb[iconv] to build on Linux and OSX.
For libpq, the usage find_package(PostgreSQL) is right. But it seems that there is lack of the linkage for libpqin this part drogon_ctl/drogon_ctl.
FAILED: drogon_ctl/drogon_ctl
159 : && /Library/Developer/CommandLineTools/usr/bin/c++ -fPIC -g -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names drogon_ctl/CMakeFiles/drogon_ctl.dir/cmd.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create.cc.o drogon_ctl/CMakeFiles/d rogon_ctl.dir/create_controller.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_filter.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_model.cc.o drogo n_ctl/CMakeFiles/drogon_ctl.dir/create_plugin.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_project.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/create_v iew.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/help.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/main.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/press.cc.o dr ogon_ctl/CMakeFiles/drogon_ctl.dir/version.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/cmake.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/config.cc.o drogon_c tl/CMakeFiles/drogon_ctl.dir/demoMain.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/filter_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/filter_h.cc.o drogon_ ctl/CMakeFiles/drogon_ctl.dir/gitignore.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/model_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/model_h.cc.o drogon_ ctl/CMakeFiles/drogon_ctl.dir/model_json.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/plugin_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/plugin_h.cc.o drog on_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_base_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_base_h.cc.o drogon_ctl/CMakeFile s/drogon_ctl.dir/restful_controller_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_custom_cc.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/r estful_controller_custom_h.cc.o drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_h.cc.o -o drogon_ctl/drogon_ctl libdrogon.a /Users/vcpkg/Nancy /vcpkg/installed/x64-osx/debug/lib/libtrantor.a /Users/vcpkg/Nancy/vcpkg/installed/x64-osx/debug/lib/libcares.a -lpthread /Users/vcpkg/Nancy/vcpkg/ins talled/x64-osx/debug/lib/libjsoncpp.a /Users/vcpkg/Nancy/vcpkg/installed/x64-osx/debug/lib/libuuid.a /Users/vcpkg/Nancy/vcpkg/installed/x64-osx/debug/l ib/libpq.a /Users/vcpkg/Nancy/vcpkg/installed/x64-osx/debug/lib/libmariadbclient.a /Users/vcpkg/Nancy/vcpkg/installed/x64-osx/debug/lib/libsqlite3.a / Users/vcpkg/Nancy/vcpkg/installed/x64-osx/debug/lib/libz.a /Users/vcpkg/Nancy/vcpkg/installed/x64-osx/debug/lib/libssl.a /Users/vcpkg/Nancy/vcpkg/insta lled/x64-osx/debug/lib/libcrypto.a -ldl && :
160 Undefined symbols for architecture x86_64:
161 "_iconv", referenced from:
162 _mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
163 "_iconv_close", referenced from:
164 _mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
165 "_iconv_open", referenced from:
166 _mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
167 "_pg_b64_dec_len", referenced from:
168 _read_server_first_message in libpq.a(fe-auth-scram.o)
169 _read_server_final_message in libpq.a(fe-auth-scram.o)
170 "_pg_b64_decode", referenced from:
171 _read_server_first_message in libpq.a(fe-auth-scram.o)
172 _read_server_final_message in libpq.a(fe-auth-scram.o)
173 "_pg_b64_enc_len", referenced from:
174 _build_client_first_message in libpq.a(fe-auth-scram.o)
175 _build_client_final_message in libpq.a(fe-auth-scram.o)
176 "_pg_b64_encode", referenced from:
177 _build_client_first_message in libpq.a(fe-auth-scram.o)
178 _build_client_final_message in libpq.a(fe-auth-scram.o)
179 "_pg_fprintf", referenced from:
180 _pqSaveParameterStatus in libpq.a(fe-exec.o)
181 _default_threadlock in libpq.a(fe-connect.o)
182 _passwordFromFile in libpq.a(fe-connect.o)
183 _defaultNoticeProcessor in libpq.a(fe-connect.o)
Since I'm not familiar with this implemention. Maybe there is something else with this problem. We need to do further investigation about this.
@NancyLi1013 Thanks for your reply. I think the libpq.a was added to the link list.

Hi @an-tao
Seems the current fix for libpqis not suitable. I try to remove pg.patch and update this part as follows:
# find postgres
find_package(pg)
if(pg_FOUND)
message(STATUS "libpq inc path:" ${PG_INCLUDE_DIRS})
message(STATUS "libpq lib:" ${PG_LIBRARIES})
target_link_libraries(${PROJECT_NAME} PRIVATE pg_lib)
...
endif(pg_FOUND)
as
# find postgres
find_package(PostgreSQL)
if(PostgreSQL_FOUND)
message(STATUS "libpq inc path:" ${PostgreSQL_INCLUDE_DIRS})
message(STATUS "libpq lib:" ${PostgreSQL_LIBRARIES})
target_link_libraries(${PROJECT_NAME} PRIVATE ${PostgreSQL_LIBRARIES})
...
endif(PostgreSQL_FOUND)
The error about libpq disappered and seems only need to fix libmariadbnow.
Undefined symbols for architecture x86_64:
161 "_iconv", referenced from:
162 _mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
163 "_iconv_close", referenced from:
164 _mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
165 "_iconv_open", referenced from:
166 _mariadb_convert_string in libmariadbclient.a(ma_charset.c.o)
167 ld: symbol(s) not found for architecture x86_64
168 clang: error: linker command failed with exit code 1 (use -v to see invocation)
169 ninja: build stopped: subcommand failed.
Could you please help check this again?
@NancyLi1013 Thanks so much for your solution, it works on my local host. Now we need to wait the update of libmariadb.
I will try to update libmariadb as soon as possible.
Hi @an-tao
I have submitted a PR #14121 to update libmariadb. After this PR merged, we can try to update the patch and dependency for drogon.
I have tested this on my local machine and drogoncan build fine on osx.
@NancyLi1013 Thanks so much.
@NancyLi1013 Have you tested it on Linux? I think we better test drogon and libmariadb on Linux as well.
Thanks for your kindly reminder. I will test it on Linux today.
Seems iconvis only required on osx. I try to build on Linux, there is no error about iconv, only something wrong with libpq. The same fix as that in osx, just need to update the patch for the usage of libpq.
@NancyLi1013 Thanks so much.
libmariadbhas been updated to 3.1.10 in master.
Would you like to make a PR to fix this issue for drogon if possible? Please let me know if you're willing to do this.
@NancyLi1013 Thanks so much. I've made a PR (#14148) to fix this issue.
@NancyLi1013 Now drogon can be installed successfully on linux and OSX with the latest vckpg, but on Windows, there are some link errors with libmariadb, please take a took at it, thanks.
estful_controller_base_cc.cc.obj drogon_ctl\CMakeFiles\drogon_ctl.dir\restful_controller_base_h.cc.obj drogon_ctl\CMakeFiles\drogon_ctl.dir\restful_controller_cc.cc.obj drogon_ctl\CMakeFiles\drogon_ctl.dir\restful_controller_custom_cc.cc.obj drogon_ctl\CMakeFiles\drogon_ctl.dir\restful_controller_custom_h.cc.obj drogon_ctl\CMakeFiles\drogon_ctl.dir\restful_controller_h.cc.obj /out:drogon_ctl\drogon_ctl.exe /implib:drogon_ctl\drogon_ctl.lib /pdb:drogon_ctl\drogon_ctl.pdb /version:0.0 /machine:X86 /nologo /debug /INCREMENTAL /subsystem:console drogon.lib ws2_32.lib Rpcrt4.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\trantor.lib ws2_32.lib Rpcrt4.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\cares.lib shlwapi.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\jsoncpp.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\brotlicommon.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\brotlidec.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\brotlienc.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\libpq.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\mariadbclient.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\sqlite3.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\zlibd.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\libssl.lib C:\Users\antao\vcpkg\installed\x86-windows\debug\lib\libcrypto.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:drogon_ctl\CMakeFiles\drogon_ctl.dir/intermediate.manifest drogon_ctl\CMakeFiles\drogon_ctl.dir/manifest.res" failed (exit code 1120) with the following output:
mariadbclient.lib(schannel.c.obj) : error LNK2019: unresolved external symbol __imp__CertFreeCertificateContext@4 referenced in function _ma_tls_get_finger_print
mariadbclient.lib(ma_schannel.c.obj) : error LNK2001: unresolved external symbol __imp__CertFreeCertificateContext@4
mariadbclient.lib(schannel_certs.c.obj) : error LNK2001: unresolved external symbol __imp__CertFreeCertificateContext@4
mariadbclient.lib(schannel.c.obj) : error LNK2019: unresolved external symbol __imp__CertGetCertificateContextProperty@16 referenced in function _ma_tls_get_finger_print
mariadbclient.lib(schannel_certs.c.obj) : error LNK2001: unresolved external symbol __imp__CertGetCertificateContextProperty@16
mariadbclient.lib(schannel.c.obj) : error LNK2019: unresolved external symbol _AcquireCredentialsHandleA@36 referenced in function _ma_tls_connect
mariadbclient.lib(schannel.c.obj) : error LNK2019: unresolved external symbol __imp__FreeCredentialsHandle@4 referenced in function _ma_tls_close
mariadbclient.lib(schannel.c.obj) : error LNK2019: unresolved external symbol __imp__DeleteSecurityContext@4 referenced in function _ma_tls_close
mariadbclient.lib(ma_schannel.c.obj) : error LNK2001: unresolved external symbol __imp__DeleteSecurityContext@4
mariadbclient.lib(schannel.c.obj) : error LNK2019: unresolved external symbol _QueryContextAttributesA@12 referenced in function _ma_tls_get_cipher
mariadbclient.lib(ma_schannel.c.obj) : error LNK2001: unresolved external symbol _QueryContextAttributesA@12
mariadbclient.lib(ma_schannel.c.obj) : error LNK2019: unresolved external symbol _InitializeSecurityContextA@48 referenced in function _ma_schannel_client_handshake
mariadbclient.lib(ma_schannel.c.obj) : error LNK2019: unresolved external symbol _FreeContextBuffer@4 referenced in function _ma_schannel_client_handshake
mariadbclient.lib(ma_schannel.c.obj) : error LNK2019: unresolved external symbol _EncryptMessage@16 referenced in function _ma_schannel_write_encrypt
mariadbclient.lib(ma_schannel.c.obj) : error LNK2019: unresolved external symbol _DecryptMessage@16 referenced in function _ma_schannel_read_decrypt
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CryptDecodeObjectEx@32 referenced in function _load_private_key
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertOpenStore@20 referenced in function _schannel_create_store
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertDuplicateStore@4 referenced in function _schannel_create_store
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertCloseStore@8 referenced in function _schannel_create_store
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertEnumCertificatesInStore@8 referenced in function _count_certificates
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertSetCertificateContextProperty@16 referenced in function _load_private_key
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertFreeCRLContext@4 referenced in function _add_certs_to_store
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertAddCertificateContextToStore@16 referenced in function _add_certs_to_store
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertAddCRLContextToStore@16 referenced in function _add_certs_to_store
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CryptQueryObject@44 referenced in function _add_certs_to_store
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertCreateCertificateChainEngine@8 referenced in function _VerifyServerCertificate
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertFreeCertificateChainEngine@4 referenced in function _VerifyServerCertificate
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertGetCertificateChain@32 referenced in function _VerifyServerCertificate
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertFreeCertificateChain@4 referenced in function _VerifyServerCertificate
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CertVerifyCertificateChainPolicy@16 referenced in function _VerifyServerCertificate
mariadbclient.lib(schannel_certs.c.obj) : error LNK2019: unresolved external symbol __imp__CryptStringToBinaryA@28 referenced in function _load_private_key
drogon_ctl\drogon_ctl.exe : fatal error LNK1120: 26 unresolved externals
ninja: build stopped: subcommand failed.
@an-tao
Thanks for posting this out.
Seems that @arves100 has fixed this issue in PR #14196.
There is another issue #12809 opened for drogon on Windows platform.
I think we can track this issue there #12809 since the problem on osx has solved now.
I close this issue.