mac 代替 linux,Linux:CentOS中MAC的install_name_tool的替代方案

我在CentOS寻找MAC的install_name_tool替代品.我想在非默认位置构建MySQL.此外,mysql二进制文件的共享库应位于非默认位置并正确链接.

我无法链接共享库libssl& libcrypto到mysqld二进制文件.

[user@localhost mysql]$ldd /usr/local/mysql/bin/mysqld

linux-gate.so.1 => (0x00186000)

libpthread.so.0 => /lib/libpthread.so.0 (0x008e2000)

libz.so.1 => /lib/libz.so.1 (0x0097f000)

librt.so.1 => /lib/librt.so.1 (0x00912000)

libcrypt.so.1 => /lib/libcrypt.so.1 (0x00c70000)

libdl.so.2 => /lib/libdl.so.2 (0x00727000)

libssl.so.1.0.0 => not found

libcrypto.so.1.0.0 => not found

libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00a7e000)

libm.so.6 => /lib/libm.so.6 (0x008b0000)

libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00a70000)

libc.so.6 => /lib/libc.so.6 (0x00755000)

/lib/ld-linux.so.2 (0x00731000)

我确信openssl安装在/usr/local/extra目录中,因为我也完美安装了apache,目前正在运行,我的configure命令是:

cmake . -LH -DCMAKE_INCLUDE_PATH=/usr/local/extra/include -DCMAKE_LIBRARY_PATH=/usr/local/extra/lib -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/var -DSYSCONFDIR=/usr/local/mysql/etc -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DCURSES_LIBRARY=/usr/local/extra/lib/libncurses.so.5 -DCURSES_INCLUDE_PATH=/usr/local/extra/include -DWITH_SSL=yes -DWITH_ZLIB=system

配置时还显示:

-- checking for module 'openssl'

-- found openssl, version 0.9.8e-rhel5

-- Found OpenSSL: /usr/local/extra/lib/libssl.so;/usr/local/extra/lib/libcrypto.so (found version "1..")

任何人都可以建议我将共享库链接到二进制文件的工具.

解决方法:

PatchELF实用程序可能很有用.否则,请参阅ldconfig手册页和文件:/etc/ld.so.conf

标签:linux,mysql,patchelf

来源: https://codeday.me/bug/20190810/1637978.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值