在嵌入式环境下,从源码编译部署LTTng。
需要添加两个环境变量。
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
这是因为默认的编译库放在了/usr/local/lib下面。需要指定位置。
在编译LTTng module的时候。
README中提到,使用./scrtpt/build-in.sh来在内核menuconfig中添加LTTng的配置选项。
这样可以在SDK编译和部署文件系统的时候一起编译和部署LTTng的内核模块。
并且可以利用SDK的工具将ko部署到文件系统中。
内核模块这一套机制,目前我还没搞明白,目前通过这种途径实测可行。
在部署的过程中,发现交叉编译可能会在CMAKE cache之类的地方添加绝对地址,
导致我转移到目标板上make install的时候有可能因为路径问题无法安装成功。重新编译一遍当然就可以成功了。
另外安装的顺序,
建议的是kernel module随着内核编译安装,然后先装那5个依赖库,然后再ust, 最后tools。
注意添加上面的环境变量,以及使用ldconfig.