mysql 编译提示 undefined reference to `xdr_pointer‘

一、编译时提示:

./obj/plugin/group_replication/libmysqlgcs/xdr_gen/xcom_vp_xdr.c:7468: undefined reference to `xdr_array'
../../../plugin/group_replication/libmysqlgcs/libmysqlgcs.a(xcom_vp_xdr.c.o): In function `xdr_reply_type':
./obj/plugin/group_replication/libmysqlgcs/xdr_gen/xcom_vp_xdr.c:7477: undefined reference to `xdr_enum'
../../../plugin/group_replication/libmysqlgcs/libmysqlgcs.a(xcom_vp_xdr.c.o): In function `xdr_pax_msg':
./obj/plugin/group_replication/libmysqlgcs/xdr_gen/xcom_vp_xdr.c:7517: undefined reference to `xdr_uint32_t'
./obj/plugin/group_replication/libmysqlgcs/xdr_gen/xcom_vp_xdr.c:7533: undefined reference to `xdr_pointer'
./obj/plugin/group_replication/libmysqlgcs/xdr_gen/xcom_vp_xdr.c:7535: undefined reference to `xdr_pointer'
./obj/plugin/group_replication/libmysqlgcs/xdr_gen/xcom_vp_xdr.c:7537: undefined reference to `xdr_pointer'

往前翻编译日志发现提示:

-- Performing Test X_PUTLONG_NOT_USE_CONST - Failed
-- Checking for module 'libtirpc'
--   No package 'libtirpc' found

尝试解决1、直接安装:

yum install -y libtirpc-devel

再编译提示:

-- Checking for module 'libtirpc'
--   Found libtirpc, version 0.2.4
CMake Warning at cmake/rpc.cmake:58 (MESSAGE):
  Ignoring libtirpc version 0.2.4, need at least 1.0
Call Stack (most recent call first):

尝试解决2:手动添加

版本太低没有捷径可走,只能手动重新编译,从这下载一个新点的版本:https://www.linuxfromscratch.org/blfs/view/svn/basicnet/libtirpc.html

./configure --prefix=`pwd`/install
make -j`nproc` && make install

再移除系统库:

yum remove -y libtirpc-devel

再编译还是提示找不到:

-- Performing Test X_PUTLONG_NOT_USE_CONST - Failed
-- Checking for module 'libtirpc'
--   No package 'libtirpc' found

查看库查找方式:

$ sed -n '49,53p' cmake/rpc.cmake
MACRO(MYSQL_CHECK_RPC)
  IF(LINUX AND NOT LIBTIRPC_VERSION_TOO_OLD)
    MYSQL_CHECK_PKGCONFIG()
    PKG_CHECK_MODULES(TIRPC libtirpc)
  ENDIF()

PKG_CHECK_MODULES 方式查找只需要再拷贝一下 .pc 文件即可

cp install/lib/pkgconfig/libtirpc.pc /usr/lib64/pkgconfig/

查找成功提示

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.27.1")
-- Checking for module 'libtirpc'
--   Found libtirpc, version 1.3.2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值