开发者
资源
鲲鹏环境下编译vlc 3.0.16报“relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol stderr@@GLIBC_2.17'”错误解决方法
鲲鹏环境下编译vlc 3.0.16报“relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol stderr@@GLIBC_2.17'”错误解决方法
发表于2023/10/17
2.9k25

【问题描述】

鲲鹏环境下编译vlc 3.0.16执行make过程报relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `stderr@@GLIBC_2.17'等错误,具体报错如下:

/usr/bin/ld: /usr/local/lib/libavutil.a(log.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `stderr@@GLIBC_2.17' which may bind externally can not be used when making a shared object; recompile with -fPIC

/usr/bin/ld: /usr/local/lib/libavutil.a(log.o)(.text+0x28): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stderr@@GLIBC_2.17'

/usr/bin/ld: final link failed: bad value

collect2: error: ld returned 1 exit status

make[4]: *** [Makefile:18807: libswscale_plugin.la] Error 1

make[4]: *** Waiting for unfinished jobs....

/usr/bin/ld: /usr/local/lib/libavformat.a(md5proto.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `stdout@@GLIBC_2.17' which may bind externally can not be used when making a shared object; recompile with -fPIC

/usr/bin/ld: /usr/local/lib/libavformat.a(md5proto.o)(.text+0xc0): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stdout@@GLIBC_2.17'

/usr/bin/ld: final link failed: bad value

collect2: error: ld returned 1 exit status

make[4]: *** [Makefile:14981: libavio_plugin.la] Error 1

make[4]: Leaving directory '/home/vlc-3.0.16/modules'

make[3]: *** [Makefile:28009: all-recursive] Error 1

make[3]: Leaving directory '/home/vlc-3.0.16/modules'

make[2]: *** [Makefile:12802: all] Error 2

make[2]: Leaving directory '/home/vlc-3.0.16/modules'

make[1]: *** [Makefile:1559: all-recursive] Error 1

make[1]: Leaving directory '/home/vlc-3.0.16'

make: *** [Makefile:1446: all] Error 2

【解决方法】

1、重新编译ffmpeg-4.0,先执行CFLAGS=-fPIC ./configure,然后执行make && make install编译;

2、然后重新编译vlc 3.0.16,先执行./bootstrap,接着执行./configure,然后支持make && make install编译。

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞