-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[drogon:x64-osx] build failure #13848
Comments
Hi @juliankrieger @an-tao I checked the source code and didn't find Thanks. |
I can't reproduce the error on my OSX, this may be related to #13007, please try to run |
Hi @an-tao
|
@arves100 we need help about the |
Hello, after a quick investigation MariaDB does not use libiconv under Windows (this explains why it can be built correctly under Windows). |
Thanks for the quick reply, I notice that there is a 'WITH_ICONV' option being added in the |
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. |
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. |
Seems we need to resolve the problems on For
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
as
The error about
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 |
@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 |
@NancyLi1013 Thanks so much. |
|
@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.
|
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.
The text was updated successfully, but these errors were encountered: