libpcre.so.1: cannot open shared object file: No such file or directory

Posted by MD워시퍼
2018. 3. 28. 23:39 Study/Centos
728x90
안녕하세요. MD워시퍼입니다.

오랫만에 글을 올리네요.ㅋㅋ

오늘은 개인적으로 일을 하다가 문제 발생시, 해결방법을 올려볼까 해서 이렇게 블로그에 글을 올립니다.

Centos 6 버전에서 yum 으로 몇 가지 라이브러리 업데이트를 한 후에, apache를 실행하려고 헀더니, 에러가 발생했네요..ㅠㅠ

에러 메시지는 다음과 같습니다.
/usr/local/apache2/bin/httpd: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

이럴 때는 어떻게 처리를 할까? 검색을 하다가 아래와 같은 방법으로 해결을 해보았습니다.

1. cd /usr/local/apache2/bin 명령어를 실행하여, 해당 폴더로 이동해봅니다.

2. ldd httpd 를 실행한다. 그럼 다음과 같이 조회가 됩니다.


linux-vdso.so.1 => (0x00007fff691ff000)
libpcre.so.1 => not found
libaprutil-1.so.0 => /usr/local/apache2/lib/libaprutil-1.so.0 (0x00007ff847f31000)
libapr-1.so.0 => /usr/local/apache2/lib/libapr-1.so.0 (0x00007ff847d00000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff847ae3000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff847726000)
libexpat.so.0 => /usr/local/apache2/lib/libexpat.so.0 (0x00007ff8474fb000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007ff8472c2000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff8470be000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff848165000)

역시 libpcre.so.1가 존재하지 않네요. 그럼..

3. libpcre.so.1를 찾아야겠죠?
기본적으로는 /usr/local/lib 안에 있습니다.(출처는 조금만 검색해보시면 아실수 있어요~^^)
근데 확인해봤더니, 이 파일이 없더라고요.
그럼 어디 있을까? 파일명 검색은 find 명령어를 통해 확인해보았습니다.


# find / -name libpcre.so.1


4. 여러 폴더중에 /usr/local/lib_bak 폴더에 있다고 검색이 되었어요.
다른 사람이 여기다가 백업해 놓은 것같은 스멜이~~

5. 해당 파일을 /usr/local/lib로 복사하기 위해 다음과 같은 명령어를 실행했어요

cp /usr/local/lib_bak/libpcre.so.1 /usr/local/lib/


6. 다시 아파치를 실행해보았어요.
# service httpd start
서비스가 제대로 동작한 것 같네요. 웹사이트도 제대로 뜨는 것 같네요.


그럼 다른 문제는 없는지 확인해볼께요~