1. 原因
联调甲方给的堡垒机,服务端:v3.2.2,要求client最低 teleport 3.1.0,而官网最新下载链接只有,10.13以下最新编译文件teleport-assist-macos-3.0.1.6.dmg,teleport-assist-macos-3.2.0.dmg要求10.13以上。并未提供3.1.0版编译文件文件,只能自行编译。
2.编译
2.1. 从github拉取源码
git pull https://github.com/tp4a/teleport/tree/v3.1.0
2.2. 用xcode加载源码,并编译
p.s. 尝试拉取最新代码编译,发现xcode无法识别(xcode随系统10.12.06) 下载3.1.0源码,发现teleport/client/tp_assist_macos下,竟然有两套编译环境tp_assist.xcodeproj(10.13以下)、TP-Assist.xcodeproj(10.13以上)
2.3. 编译错误
2.3.1 缺失文件
-
错误: PBXCp Error
- teleport/client/tp_assist_macos/src/apple-scpt/iTerm2.scpt: No such file or directory
-
原因
- 实际是缺少目录导致无法生成指定文件
teleport/client/tp_assist_macos/apple-scripts/compile.sh
-
解决办法
- 执行修正后的compile.sh,sh compile.sh
-
修改前
#!/bin/bash
PATH_ROOT=$(cd "$(dirname "$0")/.."; pwd)
echo "compiling applescripts for OS X terminal..."
rm ${PATH_ROOT}/src/apple-scpt/Terminal.scpt
rm ${PATH_ROOT}/src/apple-scpt/iTerm2.scpt
osacompile -o ${PATH_ROOT}/src/apple-scpt/Terminal.scpt -x ${PATH_ROOT}/apple-scripts/scripts/Terminal.applescript
osacompile -o ${PATH_ROOT}/src/apple-scpt/iTerm2.scpt -x ${PATH_ROOT}/apple-scripts/scripts/iTerm2.applescript
- 修改后
#!/bin/bash
PATH_ROOT=$(cd "$(dirname "$0")/.."; pwd)
echo "compiling applescripts for OS X terminal..."
rm ${PATH_ROOT}/src/apple-scpt/Terminal.scpt
rm ${PATH_ROOT}/src/apple-scpt/iTerm2.scpt
# 创建目录
mkdir -p ${PATH_ROOT}/src/apple-scpt
osacompile -o ${PATH_ROOT}/src/apple-scpt/Terminal.scpt -x ${PATH_ROOT}/apple-scripts/scripts/Terminal.applescript
osacompile -o ${PATH_ROOT}/src/apple-scpt/iTerm2.scpt -x ${PATH_ROOT}/apple-scripts/scripts/iTerm2.applescript
2.3.2 缺失第三方库
必须下载 jsoncpp 和 mongoose- 1.jsoncpp github.com/open-source… jsoncpp 0.10.6 注意:之所以不使用新的1.x.y版本,是因为1.x.y版本需要编译器支持C++11,而为了Linux平台的兼容性,使用的低版本GCC和libc++库,并不支持C++11。 注意:teleport项目使用源代码直接编译,因此解压缩源代码到此即可。
git pull https://github.com/open-source-parsers/jsoncpp/tree/0.10.6
- 2.mongoose github.com/cesanta/mon… mongoose 6.6 注意:teleport项目使用源代码直接编译,因此解压缩源代码到此即可。
git pull https://github.com/cesanta/mongoose/tree/6.6
2.4 重新编译
- 1.执行 Product->Clean
- 2.执行 Product->Build
- 3.生成执行文件
- 文件名称
- tp_assist
- 文件路径
- /Users/xxx/Library /Developer/Xcode/DerivedData/tp_assist-bqbjhqafrauqkbzgmqdkliswed/Build/Products/Debug文件名称
- tp_assist
- 文件名称