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)
나는 Apache도 완벽하게 설치되어 있고 현재 작동 중이기 때문에 openssl이 /usr/local/extra 디렉토리에 설치되어 있다고 확신합니다. 내 구성 명령은 다음과 같습니다.
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..")
공유 라이브러리를 바이너리에 연결하는 도구를 제안할 수 있는 사람이 있나요?
답변1
이것패치 ELF유틸리티가 유용할 수 있습니다. 그렇지 않으면 ldconfig
매뉴얼 페이지와 문서를 참조하십시오./etc/ld.so.conf