Ruby 패키지에는 Ruby 개발 환경이 포함되어 있습니다. 이는 객체 지향 스크립팅에 유용합니다.
이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.
Doxygen-1.10.0, Graphviz-10.0.1, rustc-1.76.0, [.:Tk-8.6.13]], Valgrind-3.22.0, Berkeley DB(더 이상 사용되지 않음) 및 DTrace
다음 명령을 실행하여 Ruby를 설치합니다:
./configure --prefix=/usr \.
--disable-rpath \
--enable-shared \
--without-valgrind \
--without-baseuby \
ac_cv_func_qsort_r=no \.
--docdir=/usr/share/doc/ruby-3.3.0 &&
make
선택적으로 다음 명령을 실행하여 CAPI 문서를 빌드합니다:
make capi
결과를 테스트하려면 make -j1 -k check
를 실행합니다. 병렬 작업으로 테스트 스위트를 실행하면 “unknown object” 암호화된 개체 메시지로 테스트 실패가 출력되어 “모든 테스트 통과”라는 잘못된 요약이 표시될 수 있습니다. 환경에 프록시 설정과 관련된 변수(all_proxy
, ALL_PROXY
, http_proxy
등)가 설정되어 있는 경우 테스트 스위트는 net/ftp is not found.
메시지와 함께 조기에 종료됩니다. 따라서 테스트 스위트에 대해 해당 설정을 해제해야 합니다. 26,000개가 넘는 테스트가 있습니다. 테스트 데이터에서 만료된 인증서로 인해 12개의 테스트가 실패하는 것으로 알려져 있습니다. IPv6와 관련된 일부 테스트에서 오류가 표시될 수 있습니다. 테스트가 전역 쓰기 가능한 구성 요소(예: /tmp)가 있는 디렉토리에서 실행되는 경우 몇 가지 추가 테스트가 실패할 수 있습니다.
이제 root 사용자로
make install
참고
루비 온 레일 애플리케이션이 설치되어 있고 이 패키지를 설치하여 루비를 업그레이드한 경우, 루트 사용자로 업데이트를 실행해야 할 수도 있습니다:
cd /path/to/web/app
bundle update rake
를 실행하고 애플리케이션을 제공하는 웹서버를 다시 시작합니다.
/usr/lib
를 포함하지 않도록 설정합니다. 이렇게 할 필요는 없으며(/usr/lib
는 시스템 라이브러리 경로이므로), Ruby가 설치되었을 때 방금 빌드한 테스트 스위트가 아닌 시스템 libruby.so
로 실행될 수 있습니다.ruby
가 이미 설치되어 있는 경우 사용하지 않도록 합니다. 대신 빌드 시스템은 새로 빌드된 버전을 사용합니다.qsort_r
함수를 사용하지 않도록 합니다. Ruby는 정렬 알고리즘이 일부 세부 사항을 가정하여 공격적인 최적화를 수행하지만 Glibc 구현된 함수에서는 이러한 가정이 성립하지 않습니다. 이 스위치를 사용하면 Ruby는 자체 정렬 알고리즘을 사용합니다.–disable-install-doc
: 이 스위치는 rdoc 인덱스 및 C API 문서의 빌드 및 설치를 비활성화합니다.–disable-install-rdoc
: 이 스위치는 rdoc 인덱스의 빌드 및 설치를 비활성화합니다.–disable-install-capi
: 이 스위치는 C API 문서의 빌드 및 설치를 비활성화합니다.