ffmpeg下编译tsan

如何在ffmpeg下编译tsan,如下配置:

bash 复制代码
./configure \
    --prefix=/workspace/ffmpeg_gcu \
    --disable-stripping \
    --disable-optimizations \
    --disable-x86asm \
    --toolchain=gcc-tsan \
    --enable-pic \
    --enable-swscale \
    --enable-static \
    --enable-shared 

结果出现下面错误,提示找不到libtsan_preinit.o:

bash 复制代码
BEGIN /tmp/ffconf.l64ruLdY/test.c
    1	int main(void){ return 0; }
END /tmp/ffconf.l64ruLdY/test.c
gcc -fsanitize=thread -fPIC -g0 -O3 -DNDEBUG -Wl,--build-id -c -o /tmp/ffconf.l64ruLdY/test.o /tmp/ffconf.l64ruLdY/test.c
gcc -fuse-ld=gold -ldl -lpthread -Wl,--build-id -fsanitize=thread -fPIC -o /tmp/ffconf.l64ruLdY/test /tmp/ffconf.l64ruLdY/test.o
/usr/bin/ld.gold: error: cannot open libtsan_preinit.o: No such file or directory
collect2: error: ld returned 1 exit status
C compiler test failed.

安装tsan,并且测试

bash 复制代码
# 安装
$ apt-get install libtsan0 libtsan-dev

# 测试
$ echo "int main(){return 0;}" | gcc -x c -fsanitize=thread - -o /dev/null
/usr/bin/ld: cannot find libtsan_preinit.o: No such file or directory
collect2: error: ld returned 1 exit status

寻找:

bash 复制代码
# 查找
$ find /usr -name "libtsan_preinit.o"
/usr/aarch64-linux-gnu/lib/libtsan_preinit.o

# 查看机器类型
$ gcc -dumpmachine
x86_64-linux-gnu

后来才知道libtsan0:aarch64-linux-gnu 是 aarch64 版本的 TSAN 库。

解决方案:

把上面的--toolchain=gcc-tsan \替换为--toolchain=clang-tsan \

相关推荐
风哥2号3 天前
数据库教程FGMT02‑生产环境Linux+Oracle19c安装配置与项目实战
linux·数据库·ffmpeg
Bruce_Liuxiaowei3 天前
录屏片段无损合并:从 ffmpeg concat 原理到 Python 自动化脚本
python·ffmpeg·自动化
工具派5 天前
口播视频怎么自动剪掉冷场?视频静音删除的阈值实测
ffmpeg·音视频·视频
❀͜͡傀儡师5 天前
移动端 360° 商品展示方案:从 20MB 雪碧图到 800KB 丝滑视频
ffmpeg·webgl·sprite
2501_930472446 天前
深度复盘|数据库迁移实战(上):腾讯云助手解析慢查询日志,定位索引缺失与语法不兼容
数据库·阿里云·ffmpeg·云计算·腾讯云·aws
我就是DaLing呀!6 天前
flutter + ffmpeg_kit_extended_flutter 大视频合并下载
flutter·ffmpeg·音视频
可乐鸡翅yeah_7 天前
多浏览器 HLS 兼容性差异排查,Chrome、Firefox、Safari 表现不一致定位
chrome·ffmpeg·音视频·firefox·safari·m3u8
行者-全栈开发8 天前
Spring Boot + FFmpeg 视频批量处理实战:压缩、HLS切片与异步任务引擎
spring boot·ffmpeg·异步处理·视频压缩·hls切片·批量任务·redis队列
可乐鸡翅yeah_9 天前
M3U8测试流使用指南,流媒体开发自测与环境校验标准化方案
网络·ffmpeg·音视频·m3u8·m3u8在线·音视频在线播放
heqingchun169 天前
Ubuntu 22.04 交叉编译 RK3568 MPP + FFmpeg 完整指南
linux·ubuntu·ffmpeg