/
linux ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋ฉฐ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์ด ์•ˆ ๋ ๋•Œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•(error while loading shared libraries)

linux ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋ฉฐ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์ด ์•ˆ ๋ ๋•Œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•(error while loading shared libraries)


linux ์—์„œ program ์„ ์‹คํ–‰ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด "cannot open shared object file: No such file or directory" ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


$ openssl

openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory


์ด๋Ÿฐ ๋ฌธ์ œ๋Š” ๋‹ค์Œ ์ ˆ์ฐจ๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ldd ๋กœ ํ•„์š” library ํ™•์ธํ•˜๊ธฐ

๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ์„ ์ถœ๋ ฅํ•˜๋Š” ldd ๋กœ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

$ ldd `which openssl`
        linux-vdso.so.1 (0x00007ffcc7df1000)
        libssl.so.1.1 => not found
        libcrypto.so.1.1 => not found
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f3f51b7a000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3f5195c000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f3f515b1000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3f51d7e000)

๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด libssl.so.1.1 ๊ณผ libcrypto.so.1.1 ์ด "not found" ์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ  ์ด 2๊ฐœ ํŒŒ์ผ์„ ๋ชป์ฐพ์•„์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์„ ์œ ์ถ”ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒ˜๋ฆฌ

"not found" ์ง€๋งŒ ์‹ค์ œ ์›์ธ์€ 2๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ํ˜„์ƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์›์ธ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  1. ์‹คํ–‰์— ํ•„์š”ํ•œ library ๊ฐ€ ์—†์Œ โ†’ find ๋ช…๋ น์–ด๋กœ ์‹œ์Šคํ…œ์—์„œ library ๋ฅผ ์ฐพ๊ณ  ์žˆ์œผ๋ฉด ์•„๋ž˜์—์„œ ์„ค๋ช…ํ•˜๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.ย 
  2. ์‹คํ–‰์— ํ•„์š”ํ•œ library ๊ฐ€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์—†์Œ

LD_LIBRARY_PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ™•์ธ

๋ฆฌ๋ˆ…์Šค์—์„œ ์‹คํ–‰์— ํ•„์š”ํ•œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š”ย LD_LIBRARY_PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜์—์„œ ์ฐพ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ชป ์ฐพ๋Š”๋‹ค๋Š” ์—๋Ÿฌ์˜ ์›์ธ์€ ๋ฐ”๋กœย LD_LIBRARY_PATH ๋ณ€์ˆ˜๊ฐ€ ์ž˜๋ชป ์„ค์ •๋˜์–ด์„œ์ž…๋‹ˆ๋‹ค.

ํŠนํžˆ third party program์˜ ๊ฒฝ์šฐ /opt ๋‚˜ย  /usr/local ๊ฐ™์ด ๋ณ„๋„์˜ ๊ฒฝ๋กœ์— ์„ค์น˜๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


๋จผ์ € ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

$ echo $LD_LIBRARY_PATH


LD_LIBRARY_PATHย ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ฒฝ๋กœ๋‚ด์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ(Ex: libssl.so.1.1) ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

IFS=':' ; for i in $LD_LIBRARY_PATH; do ls -l $i/libssl.so.1.1 2>/dev/null;done


์œ„ ์ฝ”๋“œ ์‹คํ–‰์‹œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค๋ฉดย LD_LIBRARY_PATH ๊ฐ€ ์ œ๋Œ€๋กœ ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•œ ํ›„์— LD_LIBRARY_PATH์— ํ•ด๋‹น ๊ฒฝ๋กœ๊ฐ€ ์—†๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ดย ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ compile ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜์‹œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” /usr/local/lib64 ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.ย 

export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH


์ด์ œ ๋‹ค์‹œ ldd ๋ฅผ ์‹คํ–‰ํ•ด์„œ ์ •์ƒ์ ์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ๋Š” ์ง€ ํ™•์ธํ•ด ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ ๋กœ๊ทธ์ธ์‹œ์—๋„ ๋ฌธ์ œ์—†๋„๋ก exportย LD_LIBRARY_PATH ๊ตฌ๋ฌธ์„ shell ์ดˆ๊ธฐํ™” ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ฐ™์ด ๋ณด๊ธฐ

Related content

๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ(shared library dependencies)์„ ์ถœ๋ ฅํ•˜๋Š” linux ldd ์‚ฌ์šฉ๋ฒ•
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ(shared library dependencies)์„ ์ถœ๋ ฅํ•˜๋Š” linux ldd ์‚ฌ์šฉ๋ฒ•
More like this
ํŒŒ์ผ ์œ ํ˜•(file type)์„ ์•Œ๋ ค์ฃผ๋Š” linux file ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•
ํŒŒ์ผ ์œ ํ˜•(file type)์„ ์•Œ๋ ค์ฃผ๋Š” linux file ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•
More like this
๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(shared library)์™€ Linker/Loader ์ดํ•ดํ•˜๊ธฐ
๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(shared library)์™€ Linker/Loader ์ดํ•ดํ•˜๊ธฐ
More like this
OpenSSL ์ปดํŒŒ์ผ(compile) & ๋นŒ๋“œ(build)
OpenSSL ์ปดํŒŒ์ผ(compile) & ๋นŒ๋“œ(build)
More like this
git ์—์„œ https ๋กœ ์—ฐ๊ฒฐ์‹œ "error: Protocol https not supported or disabled in libcurl while accessing https://github.com/" ์—๋Ÿฌ ์ฒ˜๋ฆฌ
git ์—์„œ https ๋กœ ์—ฐ๊ฒฐ์‹œ "error: Protocol https not supported or disabled in libcurl while accessing https://github.com/" ์—๋Ÿฌ ์ฒ˜๋ฆฌ
More like this
์›Œ๋“œํ”„๋ ˆ์Šค์—์„œ ํŒŒ์ผ ์—…๋กœ๊ทธ ์‹คํŒจ
์›Œ๋“œํ”„๋ ˆ์Šค์—์„œ ํŒŒ์ผ ์—…๋กœ๊ทธ ์‹คํŒจ
More like this