Mac M1安装taos数据库

背景

taos是新引入的组件,同时我们的开发环境是本地开发,新生的服务和异构的本地系统,会存在各种不适应,会踩很多坑。 留下记录,已供后人避坑

Mac M1 开发环境部署

正常部署

  1. 版本选择 选择 2.2.2.6 版本。 高的版本会出现编译问题,例如CMakeList找不到等

  2. 安装unixodbc

    cmake后报错:brew install unixodbc
    安装后还是报错: brew install unixodbc
    
    查看源码后发现:
    check_symbol_exists(SQLExecute "sql.h" HAVE_ODBC_DEV)
    45     if(NOT (HAVE_ODBC_DEV))
    46       unset(HAVE_ODBC_DEV CACHE)
    47       message(WARNING "unixodbc-dev is not installed yet, you may install it with homebrew by typing: brew install unixodbc")
    48     else ()
    49       message(STATUS "unixodbc/unixodbc-dev are installed, and
    
    
    搜索HAVE_ODBC_DEV后发现:
    check_symbol_exists(SQLExecute "sql.h" HAVE_ODBC_DEV)
    
    安装odbc dirver
    https://docs.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos?view=sql-server-ver15
    
    一般会卡这里,因为国内网络环境
    选择目录要看准: 
    ==> Tapping homebrew/core
    Cloning into '/usr/local/Library/Taps/homebrew/homebrew-core'...
    
    cd /usr/local/Homebrew/Library/Taps/
    mkdir homebrew
    cd homebrew
    git clone https://mirrors.ustc.edu.cn/homebrew-core.git
    
    
    brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
    
    [brew update] 可选,我试了好几次,可能之前已经update了
    
    HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18
    
    
    
    GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/zc/2t9mbkvd7nvcw68hdgq_ky3h0000gn/T/go-build3823960656=/tmp/go-build -gno-record-gcc-switches -fno-common -I/usr/local/include“
    

go build显示 "taos.h" 没找到

mac的系统inclue貌似一开始没有/usr/local/include

解决办法:
C_INCLUDE_PATH=/usr/local/include/
export C_INCLUDE_PATH
CPLUS_INCLUDE_PATH=/usr/local/include/
export CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/usr/local/lib/

3、好了后发现 taos在include生成的软连接,连接的源地址是空的。

所以再手动加一下:

sudo ln -s /usr/local/Cellar/tdengine/2.2.2.6/include/taoserror.h /usr/local/include/taoserror.h

sudo ln -s /usr/local/Cellar/tdengine/2.2.2.6/include/taos.h /usr/local/include/taos.h

go build 显示 ld: warning: directory not found for option '-L/usr/local/taos/driver'

增加软连接或复制目录也没用

sudo cp -r /usr/local/Cellar/tdengine/2.2.2.6 ./taos


可能还是前面的unixodbc没有安装导致的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值