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
In zsh Used xrepo install brew::mysql-client ,report Fetch Fail
Expected Behavior
Install successfully
Project Configuration
set_xmakever("2.8.2")
-- project
set_project("hikyuu")
add_rules("mode.debug", "mode.release")
-- version
set_version("2.2.1", {build = "%Y%m%d%H%M"})
set_warnings("all")
-- set language: C99, c++ standard
set_languages("cxx17", "c99")
option("mysql")
set_default(true)
set_showmenu(true)
set_category("hikyuu")
set_description("Enable mysql kdata engine.")
if is_plat("macosx") then
if os.exists("/usr/local/opt/mysql-client/lib") then
add_includedirs("/usr/local/opt/mysql-client/include/mysql")
add_includedirs("/usr/local/opt/mysql-client/include")
add_linkdirs("/usr/local/opt/mysql-client/lib")
add_rpathdirs("/usr/local/opt/mysql-client/lib")
end
if os.exists("/usr/local/mysql/lib") then
add_linkdirs("/usr/local/mysql/lib")
add_rpathdirs("/usr/local/mysql/lib")
end
if not os.exists("/usr/local/include/mysql") then
if os.exists("/usr/local/mysql/include") then
os.run("ln -s /usr/local/mysql/include /usr/local/include/mysql")
else
print("Not Found MySQL include dir!")
end
end
add_links("mysqlclient")
elseif is_plat("windows") then
add_defines("NOMINMAX")
end
option_end()
if get_config("leak_check") then
-- 需要 export LD_PRELOAD=libasan.so
set_policy("build.sanitizer.address", true)
set_policy("build.sanitizer.leak", true)
-- set_policy("build.sanitizer.memory", true)
-- set_policy("build.sanitizer.thread", true)
end
-- SPDLOG_ACTIVE_LEVEL 需要单独加
local log_level = get_config("log_level")
if log_level == nil then
log_level = 2
end
add_defines("SPDLOG_ACTIVE_LEVEL=" .. log_level)
if is_mode("debug") then
set_configvar("HKU_DEBUG_MODE", 1)
else
set_configvar("HKU_DEBUG_MODE", 0)
end
set_configvar("CHECK_ACCESS_BOUND", 1)
set_configvar("SUPPORT_SERIALIZATION", get_config("serialize") and 1 or 0)
set_configvar("SUPPORT_TEXT_ARCHIVE", 0)
set_configvar("SUPPORT_XML_ARCHIVE", 1)
set_configvar("SUPPORT_BINARY_ARCHIVE", 1)
set_configvar("ENABLE_MSVC_LEAK_DETECT", 0)
set_configvar("HKU_ENABLE_LEAK_DETECT", get_config("leak_check") and 1 or 0)
set_configvar("HKU_ENABLE_SEND_FEEDBACK", get_config("feedback") and 1 or 0)
set_configvar("HKU_ENABLE_HDF5_KDATA", get_config("hdf5") and 1 or 0)
set_configvar("HKU_ENABLE_MYSQL", get_config("mysql") and 1 or 0)
set_configvar("HKU_ENABLE_MYSQL_KDATA", get_config("mysql") and 1 or 0)
set_configvar("HKU_ENABLE_SQLITE", (get_config("sqlite") or get_config("hdf5")) and 1 or 0)
set_configvar("HKU_ENABLE_SQLITE_KDATA", get_config("sqlite") and 1 or 0)
set_configvar("HKU_ENABLE_TDX_KDATA", get_config("tdx") and 1 or 0)
set_configvar("HKU_USE_LOW_PRECISION", get_config("low_precision") and 1 or 0)
set_configvar("HKU_SUPPORT_DATETIME", 1)
set_configvar("HKU_ENABLE_SQLCIPHER", 0)
set_configvar("HKU_SQL_TRACE", get_config("sql_trace"))
set_configvar("HKU_ENABLE_INI_PARSER", 1)
set_configvar("HKU_ENABLE_STACK_TRACE", get_config("stacktrace") and 1 or 0)
set_configvar("HKU_CLOSE_SPEND_TIME", get_config("spend_time") and 0 or 1)
set_configvar("HKU_USE_SPDLOG_ASYNC_LOGGER", get_config("async_log") and 1 or 0)
set_configvar("HKU_LOG_ACTIVE_LEVEL", get_config("log_level"))
set_configvar("HKU_ENABLE_MO", get_config("mo") and 1 or 0)
set_configvar("HKU_ENABLE_HTTP_CLIENT", 1)
set_configvar("HKU_ENABLE_HTTP_CLIENT_SSL", get_config("http_client_ssl") and 1 or 0)
set_configvar("HKU_ENABLE_HTTP_CLIENT_ZIP", get_config("http_client_zip") and 1 or 0)
set_configvar("HKU_ENABLE_NODE", 1)
local boost_version = "1.86.0"
local hdf5_version = "1.12.2"
local fmt_version = "11.0.2"
local flatbuffers_version = "24.3.25"
local nng_version = "1.8.0"
local sqlite_version = "3.46.0+100"
local mysql_version = "8.0.31"
if is_plat("windows") or (is_plat("linux", "cross") and is_arch("aarch64", "arm64.*")) then
mysql_version = "8.0.21"
end
add_repositories("hikyuu-repo https://github.com/fasiondog/hikyuu_extern_libs.git")
-- add_repositories("hikyuu-repo https://gitee.com/fasiondog/hikyuu_extern_libs.git")
if is_plat("windows") then
if get_config("hdf5") then
if is_mode("release") then
add_requires("hdf5 " .. hdf5_version)
else
add_requires("hdf5_d " .. hdf5_version)
end
end
if get_config("mysql") then
add_requires("mysql " .. mysql_version)
end
elseif is_plat("linux", "cross") then
if get_config("hdf5") then
add_requires("hdf5 " .. hdf5_version, { system = false })
end
if get_config("mysql") then
add_requires("mysql " .. mysql_version, { system = false })
end
elseif is_plat("macosx") then
if get_config("hdf5") then
add_requires("hdf5", {alias = "hdf5"})
-- add_requires("brew::hdf5", {alias = "hdf5"})
end
if get_config("mysql") then
add_requires("mysql-client", {alias = "mysql"})
-- add_requires("brew::mysql-client", {alias = "mysql"})
end
end
-- on windows dll, must use runtimes MD
if is_plat("windows") and get_config("kind") == "shared" then
set_config("runtimes", "MD")
set_runtimes("MD")
end
-- is release now
if is_mode("release") then
if is_plat("windows") then
-- Unix-like systems hidden symbols will cause the link dynamic libraries to failed!
set_symbols("hidden")
end
end
-- for the windows platform (msvc)
if is_plat("windows") then
-- add some defines only for windows
add_defines("NOCRYPT", "NOGDI")
add_cxflags("-EHsc", "/Zc:__cplusplus", "/utf-8")
add_cxflags("-wd4819") -- template dll export warning
add_defines("WIN32_LEAN_AND_MEAN")
if is_mode("debug") then
add_cxflags("-Gs", "-RTC1", "/bigobj")
end
end
if is_plat("linux", "cross", "macosx") then
-- disable some compiler errors
add_cxflags("-Wno-error=deprecated-declarations", "-fno-strict-aliasing")
add_cxflags("-ftemplate-depth=1023", "-pthread")
add_shflags("-pthread")
add_ldflags("-pthread")
end
-- if not is_plat("cross") and (os.host() == "linux" and is_arch("x86_64", "x64")) then
-- -- fedora或者ubuntu,并且不是交叉编译
-- add_vectorexts("sse", "sse2", "ssse3", "avx", "avx2")
-- -- add_defines("HKU_ENABLE_SSE2", "HKU_ENABLE_SSE3", "HKU_ENABLE_SSE41", "HKU_ENABLE_AVX", "HKU_ENABLE_AVX2")
-- end
(base) user@ ~ % xrepo install --verbose --diagnosis brew::mysql-client
/opt/homebrew/Cellar/xmake/2.9.5/bin/xmake f -c --require=n -vD
checking for platform ... macosx
checking for architecture ... arm64
checking for Xcode directory ... /Applications/Xcode.app
checking for Codesign Identity of Xcode ... no
checking for SDK version of Xcode for macosx (arm64) ... 15.0
checking for Minimal target version of Xcode for macosx (arm64) ... 15.0
checkinfo: cannot runv(zig version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(zig version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(nim --version), No such file or directory
checking for nim ... no
checkinfo: cannot runv(nim --version), No such file or directory
checking for nim ... no
configure
{
kind = static
theme = default
host = macosx
network = public
plat = macosx
ccache = true
ndk_stdcxx = true
proxy_pac = pac.lua
xcode = /Applications/Xcode.app
arch = arm64
buildir = build
proxy = socks5://127.0.0.1:7890
mode = release
clean = true
}
/opt/homebrew/Cellar/xmake/2.9.5/bin/xmake require -v -D -j 10 --extra={system=false} brew::mysql-client
checking for unzip ... /usr/bin/unzip
checking for git ... /usr/bin/git
checking for gzip ... /usr/bin/gzip
checking for tar ... /usr/bin/tar
finding mysql-client from brew ..
checking for brew ... /opt/homebrew/bin/brew
finding mysql-client from system ..
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ... ok
checking for the c compiler (cc) ... clang
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ... ok
checking for flags (-fPIC) ... ok
clang "-fPIC" "-Qunused-arguments" "-target" "arm64-apple-macos15.0" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -Qunused-arguments -target arm64-apple-macos15.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk -o /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_38512B9269C74E108E69C07E0F824A30.o /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_775FB00633BC4F66BF87D39CCDE5CF30.c
checking for flags (-fdiagnostics-color=always) ... ok
clang "-fdiagnostics-color=always" "-Qunused-arguments" "-target" "arm64-apple-macos15.0" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk"
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ ... ok
checking for the linker (ld) ... clang++
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ ... ok
checking for flags (-fPIC) ... ok
clang++ "-fPIC" "-target" "arm64-apple-macos15.0" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk" "-lz" "-target" "arm64-apple-macos15.0" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk" "-lz"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_38512B9269C74E108E69C07E0F824A30.b /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_38512B9269C74E108E69C07E0F824A30.o -target arm64-apple-macos15.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk -lz -lmysql-client
ld: library 'mysql-client' not found
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
checking for c links(mysql-client)
checking for c snippet(find_package/mysql-client)
checkinfo: ...gramdir/core/sandbox/modules/import/core/tool/linker.lua:75: @programdir/core/sandbox/modules/os.lua:378: execv(/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_38512B9269C74E108E69C07E0F824A30.b /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_38512B9269C74E108E69C07E0F824A30.o -target arm64-apple-macos15.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk -lz -lmysql-client) failed(1)
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]:
[@programdir/core/sandbox/modules/os.lua:378]: in function 'execv'
[@programdir/modules/core/tools/gcc.lua:586]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:241]:
[@programdir/core/tool/linker.lua:222]: in function 'link'
[...gramdir/core/sandbox/modules/import/core/tool/linker.lua:73]: in function 'link'
[@programdir/modules/lib/detect/check_cxsnippets.lua:249]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:241]: in function 'trycall'
[@programdir/core/sandbox/modules/try.lua:117]: in function 'try'
[@programdir/modules/lib/detect/check_cxsnippets.lua:236]:
[@programdir/modules/package/manager/system/find_package.lua:73]:
[@programdir/modules/package/manager/find_package.lua:110]: in function '_find_package'
[@programdir/modules/package/manager/find_package.lua:194]:
[@programdir/modules/package/manager/brew/find_package.lua:156]:
[@programdir/modules/package/manager/find_package.lua:110]: in function '_find_package'
[@programdir/modules/package/manager/find_package.lua:194]:
[@programdir/modules/lib/detect/find_package.lua:86]:
[@programdir/core/package/package.lua:1875]: in function '_fetch_library'
[@programdir/core/package/package.lua:2045]: in function 'fetch'
[...modules/private/action/require/impl/install_packages.lua:340]: in function 'jobfunc'
[@programdir/modules/async/runjobs.lua:241]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:241]: in function 'trycall'
[@programdir/core/sandbox/modules/try.lua:117]: in function 'try'
[@programdir/modules/async/runjobs.lua:223]: in function 'cotask'
[@programdir/core/base/scheduler.lua:406]:
checking for brew::mysql-client ... no
note: install or modify (m) these packages (pass -y to skip confirm)?
in brew:
-> brew::mysql-client latest
please input: y (y/n/m)
y
installing mysql-client from brew ..
/opt/homebrew/bin/brew install mysql-client --verbose
==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api/formula.jws.json
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api/cask.jws.json
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
Warning: mysql-client 9.0.1 is already installed and up-to-date.
To reinstall 9.0.1, run:
brew reinstall mysql-client
finding mysql-client from brew ..
finding mysql-client from system ..
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -Qunused-arguments -target arm64-apple-macos15.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk -o /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_D4F05AAA0ED1402087CD583C607B4730.o /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_775FB00633BC4F66BF87D39CCDE5CF30.c
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_D4F05AAA0ED1402087CD583C607B4730.b /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_D4F05AAA0ED1402087CD583C607B4730.o -target arm64-apple-macos15.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk -lz -lmysql-client
ld: library 'mysql-client' not found
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
checking for c links(mysql-client)
checking for c snippet(find_package/mysql-client)
checkinfo: ...gramdir/core/sandbox/modules/import/core/tool/linker.lua:75: @programdir/core/sandbox/modules/os.lua:378: execv(/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_D4F05AAA0ED1402087CD583C607B4730.b /var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/_D4F05AAA0ED1402087CD583C607B4730.o -target arm64-apple-macos15.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk -lz -lmysql-client) failed(1)
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]:
[@programdir/core/sandbox/modules/os.lua:378]: in function 'execv'
[@programdir/modules/core/tools/gcc.lua:586]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:241]:
[@programdir/core/tool/linker.lua:222]: in function 'link'
[...gramdir/core/sandbox/modules/import/core/tool/linker.lua:73]: in function 'link'
[@programdir/modules/lib/detect/check_cxsnippets.lua:249]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:241]: in function 'trycall'
[@programdir/core/sandbox/modules/try.lua:117]: in function 'try'
[@programdir/modules/lib/detect/check_cxsnippets.lua:236]:
[@programdir/modules/package/manager/system/find_package.lua:73]:
[@programdir/modules/package/manager/find_package.lua:110]: in function '_find_package'
[@programdir/modules/package/manager/find_package.lua:194]:
[@programdir/modules/package/manager/brew/find_package.lua:156]:
[@programdir/modules/package/manager/find_package.lua:110]: in function '_find_package'
[@programdir/modules/package/manager/find_package.lua:194]:
[@programdir/modules/lib/detect/find_package.lua:86]:
[@programdir/core/package/package.lua:1875]: in function '_fetch_library'
[@programdir/core/package/package.lua:2045]: in function 'fetch'
[.../modules/private/action/require/impl/actions/install.lua:414]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:241]: in function 'trycall'
[@programdir/core/sandbox/modules/try.lua:117]: in function 'try'
[.../modules/private/action/require/impl/actions/install.lua:361]:
[...modules/private/action/require/impl/install_packages.lua:496]: in function 'jobfunc'
[@programdir/modules/async/runjobs.lua:241]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:241]: in function 'trycall'
[@programdir/core/sandbox/modules/try.lua:117]: in function 'try'
[@programdir/modules/async/runjobs.lua:223]: in function 'cotask'
[@programdir/core/base/scheduler.lua:406]:
checking for brew::mysql-client ... no
error: .../modules/private/action/require/impl/actions/install.lua:418: fetch brew::mysql-client-latest failed!
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]: in function 'raiselevel'
[@programdir/core/sandbox/modules/utils.lua:143]: in function 'assert'
[.../modules/private/action/require/impl/actions/install.lua:418]:
=> install brew::mysql-client latest .. failed
.../modules/private/action/require/impl/actions/install.lua:418: fetch brew::mysql-client-latest failed!
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]: in function 'raiselevel'
[@programdir/core/sandbox/modules/utils.lua:143]: in function 'assert'
[.../modules/private/action/require/impl/actions/install.lua:418]:
if you want to get more verbose errors, please see:
-> /private/var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/xrepo/working/build/.packages/b/brew_mysql-client/latest/cache/installdir.failed/logs/install.txt
error: @programdir/core/main.lua:329: @programdir/modules/async/runjobs.lua:325: .../modules/private/action/require/impl/actions/install.lua:494: install failed!
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]:
[.../modules/private/action/require/impl/actions/install.lua:494]: in function 'catch'
[@programdir/core/sandbox/modules/try.lua:123]: in function 'try'
[.../modules/private/action/require/impl/actions/install.lua:361]:
[...modules/private/action/require/impl/install_packages.lua:496]: in function 'jobfunc'
[@programdir/modules/async/runjobs.lua:241]:
stack traceback:
[C]: in function 'error'
@programdir/core/base/os.lua:1004: in function 'os.raiselevel'
(...tail calls...)
@programdir/core/main.lua:329: in upvalue 'cotask'
@programdir/core/base/scheduler.lua:406: in function <@programdir/core/base/scheduler.lua:399>
error: @programdir/core/main.lua:329: @programdir/core/sandbox/modules/os.lua:378: execv(/opt/homebrew/Cellar/xmake/2.9.5/bin/xmake require -v -D -j 10 --extra={system=false} brew::mysql-client) failed(255)
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]:
[@programdir/core/sandbox/modules/os.lua:378]:
[@programdir/modules/private/xrepo/action/install.lua:300]: in function '_install_packages'
[@programdir/modules/private/xrepo/action/install.lua:307]:
[@programdir/modules/private/xrepo/main.lua:196]:
[@programdir/plugins/lua/main.lua:124]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:241]:
[@programdir/core/base/task.lua:491]: in function 'run'
[@programdir/core/main.lua:327]: in function 'cotask'
[@programdir/core/base/scheduler.lua:406]:
stack traceback:
[C]: in function 'error'
@programdir/core/base/os.lua:1004: in function 'base/os.raiselevel'
(...tail calls...)
@programdir/core/main.lua:329: in upvalue 'cotask'
@programdir/core/base/scheduler.lua:406: in function <@programdir/core/base/scheduler.lua:399>
The text was updated successfully, but these errors were encountered:
Xmake Version
v2.9.5+20240914
Operating System Version and Architecture
Macos Sequoia 15.0.1
Describe Bug
In zsh Used xrepo install brew::mysql-client ,report Fetch Fail
Expected Behavior
Install successfully
Project Configuration
set_xmakever("2.8.2")
-- project
set_project("hikyuu")
add_rules("mode.debug", "mode.release")
-- version
set_version("2.2.1", {build = "%Y%m%d%H%M"})
set_warnings("all")
-- set language: C99, c++ standard
set_languages("cxx17", "c99")
option("mysql")
set_default(true)
set_showmenu(true)
set_category("hikyuu")
set_description("Enable mysql kdata engine.")
if is_plat("macosx") then
if os.exists("/usr/local/opt/mysql-client/lib") then
add_includedirs("/usr/local/opt/mysql-client/include/mysql")
add_includedirs("/usr/local/opt/mysql-client/include")
add_linkdirs("/usr/local/opt/mysql-client/lib")
add_rpathdirs("/usr/local/opt/mysql-client/lib")
end
if os.exists("/usr/local/mysql/lib") then
add_linkdirs("/usr/local/mysql/lib")
add_rpathdirs("/usr/local/mysql/lib")
end
if not os.exists("/usr/local/include/mysql") then
if os.exists("/usr/local/mysql/include") then
os.run("ln -s /usr/local/mysql/include /usr/local/include/mysql")
else
print("Not Found MySQL include dir!")
end
end
add_links("mysqlclient")
elseif is_plat("windows") then
add_defines("NOMINMAX")
end
option_end()
option("hdf5", {description = "Enable hdf5 kdata engine.", default = true})
option("sqlite", {description = "Enable sqlite kdata engine.", default = true})
option("tdx", {description = "Enable tdx kdata engine.", default = true})
option("sql_trace", {description = "trace print sql", default = false})
-- 注意:stacktrace 在 windows 下会严重影响性能
option("stacktrace", {description = "Enable check/assert with stack trace info.", default = false})
option("spend_time", {description = "Enable spend time.", default = true})
option("feedback", {description = "Enable send feedback.", default = true})
option("low_precision", {description = "Enable low precision.", default = false})
option("log_level", {description = "set log level.", default = 2, values = {1, 2, 3, 4, 5, 6}})
option("async_log", {description = "Use async log.", default = false})
option("leak_check", {description = "Enable leak check for test", default = false})
-- 使用 serialize 时,建议使用静态库方式编译,boost serializasion 对 dll 的方式支持不好
-- windows下如果使用 serialize 且希望使用动态库,需要设置 runtimes 参数为 "MD"
-- "MT" 方式下,serialize 会挂
option("serialize", {description = "Enable support serialize object and pickle in python", default = true})
-- 和 hku_utils 编译选项保持一致,以便互相替换
option("mo", {description = "International language support", default = false})
-- option("http_client", {description = "use http client", default = true})
option("http_client_ssl", {description = "enable https support for http client", default = false})
option("http_client_zip", {description = "enable http support gzip", default = false})
-- option("node", {description = "enable node reqrep server/client", default = true})
if get_config("leak_check") then
-- 需要 export LD_PRELOAD=libasan.so
set_policy("build.sanitizer.address", true)
set_policy("build.sanitizer.leak", true)
-- set_policy("build.sanitizer.memory", true)
-- set_policy("build.sanitizer.thread", true)
end
-- SPDLOG_ACTIVE_LEVEL 需要单独加
local log_level = get_config("log_level")
if log_level == nil then
log_level = 2
end
add_defines("SPDLOG_ACTIVE_LEVEL=" .. log_level)
if is_mode("debug") then
set_configvar("HKU_DEBUG_MODE", 1)
else
set_configvar("HKU_DEBUG_MODE", 0)
end
set_configvar("CHECK_ACCESS_BOUND", 1)
set_configvar("SUPPORT_SERIALIZATION", get_config("serialize") and 1 or 0)
set_configvar("SUPPORT_TEXT_ARCHIVE", 0)
set_configvar("SUPPORT_XML_ARCHIVE", 1)
set_configvar("SUPPORT_BINARY_ARCHIVE", 1)
set_configvar("ENABLE_MSVC_LEAK_DETECT", 0)
set_configvar("HKU_ENABLE_LEAK_DETECT", get_config("leak_check") and 1 or 0)
set_configvar("HKU_ENABLE_SEND_FEEDBACK", get_config("feedback") and 1 or 0)
set_configvar("HKU_ENABLE_HDF5_KDATA", get_config("hdf5") and 1 or 0)
set_configvar("HKU_ENABLE_MYSQL", get_config("mysql") and 1 or 0)
set_configvar("HKU_ENABLE_MYSQL_KDATA", get_config("mysql") and 1 or 0)
set_configvar("HKU_ENABLE_SQLITE", (get_config("sqlite") or get_config("hdf5")) and 1 or 0)
set_configvar("HKU_ENABLE_SQLITE_KDATA", get_config("sqlite") and 1 or 0)
set_configvar("HKU_ENABLE_TDX_KDATA", get_config("tdx") and 1 or 0)
set_configvar("HKU_USE_LOW_PRECISION", get_config("low_precision") and 1 or 0)
set_configvar("HKU_SUPPORT_DATETIME", 1)
set_configvar("HKU_ENABLE_SQLCIPHER", 0)
set_configvar("HKU_SQL_TRACE", get_config("sql_trace"))
set_configvar("HKU_ENABLE_INI_PARSER", 1)
set_configvar("HKU_ENABLE_STACK_TRACE", get_config("stacktrace") and 1 or 0)
set_configvar("HKU_CLOSE_SPEND_TIME", get_config("spend_time") and 0 or 1)
set_configvar("HKU_USE_SPDLOG_ASYNC_LOGGER", get_config("async_log") and 1 or 0)
set_configvar("HKU_LOG_ACTIVE_LEVEL", get_config("log_level"))
set_configvar("HKU_ENABLE_MO", get_config("mo") and 1 or 0)
set_configvar("HKU_ENABLE_HTTP_CLIENT", 1)
set_configvar("HKU_ENABLE_HTTP_CLIENT_SSL", get_config("http_client_ssl") and 1 or 0)
set_configvar("HKU_ENABLE_HTTP_CLIENT_ZIP", get_config("http_client_zip") and 1 or 0)
set_configvar("HKU_ENABLE_NODE", 1)
local boost_version = "1.86.0"
local hdf5_version = "1.12.2"
local fmt_version = "11.0.2"
local flatbuffers_version = "24.3.25"
local nng_version = "1.8.0"
local sqlite_version = "3.46.0+100"
local mysql_version = "8.0.31"
if is_plat("windows") or (is_plat("linux", "cross") and is_arch("aarch64", "arm64.*")) then
mysql_version = "8.0.21"
end
add_repositories("hikyuu-repo https://github.com/fasiondog/hikyuu_extern_libs.git")
-- add_repositories("hikyuu-repo https://gitee.com/fasiondog/hikyuu_extern_libs.git")
if is_plat("windows") then
if get_config("hdf5") then
if is_mode("release") then
add_requires("hdf5 " .. hdf5_version)
else
add_requires("hdf5_d " .. hdf5_version)
end
end
if get_config("mysql") then
add_requires("mysql " .. mysql_version)
end
elseif is_plat("linux", "cross") then
if get_config("hdf5") then
add_requires("hdf5 " .. hdf5_version, { system = false })
end
if get_config("mysql") then
add_requires("mysql " .. mysql_version, { system = false })
end
elseif is_plat("macosx") then
if get_config("hdf5") then
add_requires("hdf5", {alias = "hdf5"})
-- add_requires("brew::hdf5", {alias = "hdf5"})
end
if get_config("mysql") then
add_requires("mysql-client", {alias = "mysql"})
-- add_requires("brew::mysql-client", {alias = "mysql"})
end
end
add_requires("boost " .. boost_version, {
debug = is_mode("debug"),
configs = {
shared = is_plat("windows"),
runtimes = get_config("runtimes"),
multi = true,
date_time = true,
filesystem = false,
serialization = true,
system = false,
python = false,
},
})
add_requires("fmt", {configs = {header_only = true}})
add_requires("spdlog", {configs = {header_only = true, fmt_external = true}})
add_requireconfs("spdlog.fmt", {override = true, configs = {header_only = true}})
add_requires("sqlite3 " .. sqlite_version, {configs = {shared = true, safe_mode="2", cxflags = "-fPIC"}})
add_requires("flatbuffers v" .. flatbuffers_version, {system = false, configs= {runtimes = get_config("runtimes")}})
add_requires("nng " .. nng_version, {configs = {NNG_ENABLE_TLS = has_config("http_client_ssl"), cxflags = "-fPIC"}})
add_requires("nlohmann_json")
if has_config("http_client_zip") then
add_requires("gzip-hpp")
end
add_defines("SPDLOG_DISABLE_DEFAULT_LOGGER") -- 禁用 spdlog 默认ogger
set_objectdir("$(buildir)/$(mode)/$(plat)/$(arch)/.objs")
set_targetdir("$(buildir)/$(mode)/$(plat)/$(arch)/lib")
-- on windows dll, must use runtimes MD
if is_plat("windows") and get_config("kind") == "shared" then
set_config("runtimes", "MD")
set_runtimes("MD")
end
-- is release now
if is_mode("release") then
if is_plat("windows") then
-- Unix-like systems hidden symbols will cause the link dynamic libraries to failed!
set_symbols("hidden")
end
end
-- for the windows platform (msvc)
if is_plat("windows") then
-- add some defines only for windows
add_defines("NOCRYPT", "NOGDI")
add_cxflags("-EHsc", "/Zc:__cplusplus", "/utf-8")
add_cxflags("-wd4819") -- template dll export warning
add_defines("WIN32_LEAN_AND_MEAN")
if is_mode("debug") then
add_cxflags("-Gs", "-RTC1", "/bigobj")
end
end
if is_plat("linux", "cross", "macosx") then
-- disable some compiler errors
add_cxflags("-Wno-error=deprecated-declarations", "-fno-strict-aliasing")
add_cxflags("-ftemplate-depth=1023", "-pthread")
add_shflags("-pthread")
add_ldflags("-pthread")
end
-- if not is_plat("cross") and (os.host() == "linux" and is_arch("x86_64", "x64")) then
-- -- fedora或者ubuntu,并且不是交叉编译
-- add_vectorexts("sse", "sse2", "ssse3", "avx", "avx2")
-- -- add_defines("HKU_ENABLE_SSE2", "HKU_ENABLE_SSE3", "HKU_ENABLE_SSE41", "HKU_ENABLE_AVX", "HKU_ENABLE_AVX2")
-- end
includes("./copy_dependents.lua")
includes("./hikyuu_cpp/hikyuu")
includes("./hikyuu_pywrap")
includes("./hikyuu_cpp/unit_test")
includes("./hikyuu_cpp/demo")
Additional Information and Error Logs
(base) user@ ~ % xrepo install --verbose --diagnosis brew::mysql-client
/opt/homebrew/Cellar/xmake/2.9.5/bin/xmake f -c --require=n -vD
checking for platform ... macosx
checking for architecture ... arm64
checking for Xcode directory ... /Applications/Xcode.app
checking for Codesign Identity of Xcode ... no
checking for SDK version of Xcode for macosx (arm64) ... 15.0
checking for Minimal target version of Xcode for macosx (arm64) ... 15.0
checkinfo: cannot runv(zig version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(zig version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(nim --version), No such file or directory
checking for nim ... no
checkinfo: cannot runv(nim --version), No such file or directory
checking for nim ... no
configure
{
kind = static
theme = default
host = macosx
network = public
plat = macosx
ccache = true
ndk_stdcxx = true
proxy_pac = pac.lua
xcode = /Applications/Xcode.app
arch = arm64
buildir = build
proxy = socks5://127.0.0.1:7890
mode = release
clean = true
}
/opt/homebrew/Cellar/xmake/2.9.5/bin/xmake require -v -D -j 10 --extra={system=false} brew::mysql-client
checking for unzip ... /usr/bin/unzip
checking for git ... /usr/bin/git
checking for gzip ... /usr/bin/gzip
checking for tar ... /usr/bin/tar
finding mysql-client from brew ..
checking for brew ... /opt/homebrew/bin/brew
finding mysql-client from system ..
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ... ok
checking for the c compiler (cc) ... clang
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ... ok
checking for flags (-fPIC) ... ok
checking for brew::mysql-client ... no
note: install or modify (m) these packages (pass -y to skip confirm)?
in brew:
-> brew::mysql-client latest
please input: y (y/n/m)
y
installing mysql-client from brew ..
/opt/homebrew/bin/brew install mysql-client --verbose
==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api/formula.jws.json
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api/cask.jws.json
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
Warning: mysql-client 9.0.1 is already installed and up-to-date.
To reinstall 9.0.1, run:
brew reinstall mysql-client
finding mysql-client from brew ..
finding mysql-client from system ..
checking for brew::mysql-client ... no
error: .../modules/private/action/require/impl/actions/install.lua:418: fetch brew::mysql-client-latest failed!
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]: in function 'raiselevel'
[@programdir/core/sandbox/modules/utils.lua:143]: in function 'assert'
[.../modules/private/action/require/impl/actions/install.lua:418]:
=> install brew::mysql-client latest .. failed
.../modules/private/action/require/impl/actions/install.lua:418: fetch brew::mysql-client-latest failed!
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]: in function 'raiselevel'
[@programdir/core/sandbox/modules/utils.lua:143]: in function 'assert'
[.../modules/private/action/require/impl/actions/install.lua:418]:
if you want to get more verbose errors, please see:
-> /private/var/folders/y4/y41yqrls3v59jymq49m8pwmh0000gn/T/.xmake501/241024/xrepo/working/build/.packages/b/brew_mysql-client/latest/cache/installdir.failed/logs/install.txt
error: @programdir/core/main.lua:329: @programdir/modules/async/runjobs.lua:325: .../modules/private/action/require/impl/actions/install.lua:494: install failed!
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]:
[.../modules/private/action/require/impl/actions/install.lua:494]: in function 'catch'
[@programdir/core/sandbox/modules/try.lua:123]: in function 'try'
[.../modules/private/action/require/impl/actions/install.lua:361]:
[...modules/private/action/require/impl/install_packages.lua:496]: in function 'jobfunc'
[@programdir/modules/async/runjobs.lua:241]:
stack traceback:
[C]: in function 'error'
@programdir/core/base/os.lua:1004: in function 'os.raiselevel'
(...tail calls...)
@programdir/core/main.lua:329: in upvalue 'cotask'
@programdir/core/base/scheduler.lua:406: in function <@programdir/core/base/scheduler.lua:399>
error: @programdir/core/main.lua:329: @programdir/core/sandbox/modules/os.lua:378: execv(/opt/homebrew/Cellar/xmake/2.9.5/bin/xmake require -v -D -j 10 --extra={system=false} brew::mysql-client) failed(255)
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1004]:
[@programdir/core/sandbox/modules/os.lua:378]:
[@programdir/modules/private/xrepo/action/install.lua:300]: in function '_install_packages'
[@programdir/modules/private/xrepo/action/install.lua:307]:
[@programdir/modules/private/xrepo/main.lua:196]:
[@programdir/plugins/lua/main.lua:124]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:241]:
[@programdir/core/base/task.lua:491]: in function 'run'
[@programdir/core/main.lua:327]: in function 'cotask'
[@programdir/core/base/scheduler.lua:406]:
stack traceback:
[C]: in function 'error'
@programdir/core/base/os.lua:1004: in function 'base/os.raiselevel'
(...tail calls...)
@programdir/core/main.lua:329: in upvalue 'cotask'
@programdir/core/base/scheduler.lua:406: in function <@programdir/core/base/scheduler.lua:399>
The text was updated successfully, but these errors were encountered: