문제

FreeBSD 7.1 (BSD) 서버에서 Perl 5.10을 컴파일하려고하지만 구성 스크립트를 실행하고 질문에 답할 때 다음 오류가 발생합니다.

...POSTIX threads should be supported by FreeBSD 7.1 ... but your system is missing the shared libc_r.

답을위한 인터넷 검색 Gethostnamadr.c 설치가 이루어졌습니다. 두 가지를 제외하고는 괜찮습니다.

  1. 이 파일을 어디에 두어야하는지 모르겠습니다
  2. 구성이 libc_r을보고 싶다면 어떻게 내 문제를 해결합니까?
도움이 되었습니까?

해결책

freebsd 7에서 perl 5.10 스레드를 활성화하려면* 당신이해야 할 일은 다음 패치를 사용하는 것입니다. patch. 그런 다음 -dusethreads로 perl을 만들거나 대답 할 수 있습니다. Configure 스레딩을 활성화하기 위해 질문을 제출하면 좋습니다. 나는 아직 중요한 테스트 나 비교를하지 않았지만 스레드 Libs와 모든 Perl 프로그램을 포함하여 모든 것이 잘 컴파일됩니다.

--- hints/freebsd.sh 2008/10/20 04:59:30 1.1
+++ hints/freebsd.sh 2008/10/20 22:49:29
@@ -211,6 +211,14 @@
exit 1
;;

+ 7.*)
+ # 7.x doesn't install libc_r by default, and Configure
+ # would fail in the code following
+ #
+ # gethostbyaddr_r() appears to have been implemented in 6.x+
+ ldflags="-pthread $ldflags"
+ ;;
+
*)
if [ ! -r "$lc_r" ]; then
cat <<EOM >&4 

편집 : 참조를 잊었습니다. 자세한 내용은 여기를 확인하십시오. http://www.gossamer-threads.com/lists/perl/porters/232518?nohighlight=1#232518.

다른 팁

"Perl이 잊혀진다"고 말한 Spolsky와는 반대로, Perl은 매우 살아 있습니다.

당신은 어떤 버전의 freebsd를 설치한지 표시하지 않았지만 ... freebsd 7.1의 최소를 설치했다고 가정하면 스레드 라이브러리를 설치하지 못했거나 스레드 Libs가 라이브러리 경로에 있지 않습니다.

LIBC는 일반적인 'C'라이브러리이며 LIBC_R은 해당 파일의 스레드 안전 버전입니다. 2005 년 Google 결과 중 일부에 따르면 LIBC_R이 더 이상 사용되지 않았다고합니다.

이를 염두에두고 "개정 충돌"의 중간에있을 가능성이 높습니다. 슬프게도 freebsd는 기본적으로 Perl의 스레드 안전 버전을 제공하지는 않지만 Perl 5.10 패키지 및 이후 몇 가지 개정판을 수행합니다. 이 링크가 유용하다는 것을 알았습니다.

http://www.nabble.com/how--- where-ton-to-get-a-perl-that-has-threads--td2270858.html

FreeBSD에 포함 된 P5-Fork 라이브러리 설치를 시도해 볼 수도 있습니다.

http://www.nabble.com/how--- where-ton-to-get-a-perl-that-has-threads--td2270858.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top