Date: Fri, 24 Feb 2023 14:58:32 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269803 Bug ID: 269803 Summary: Ruby 3.2 compilation error (cannot load such file -- psych) Product: Base System Version: 13.1-RELEASE Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: misc Assignee: bugs@FreeBSD.org Reporter: firstname.lastname@example.org Created attachment 240378 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=240378&action=edit Output of "./configure" and "make" commands On FreeBSD 13.1-RELEASE, I am able to compile every Ruby version from 2.1 to 3.1, however I get a compilation error about missing a library named "psych" when compiling Ruby versions 3.2.0 and 3.2.1. Here is the error I get when running "make": Generating RDoc documentation /usr/home/_73/ruby-3.2.0/lib/yaml.rb:3: warning: It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. uh-oh! RDoc had a problem: cannot load such file -- psych run with --debug for full backtrace *** Error code 1 Stop. make: stopped in /usr/home/_73/ruby-3.2.0 Here are the steps to reproduce the bug: $ wget https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.0.tar.gz $ tar -xf ruby-3.2.0.tar.gz $ cd ruby-3.2.0 $ ./configure $ make I attached a tarball that contains the full output I get from running "./configure" and "make". The same issue, but on MacOS, was reported on the `ruby-build` bugtracker. https://github.com/rbenv/ruby-build/discussions/2118 If you read this issue thread, you will see that the problem was due to "libyaml" not having been installed. On my FreeBSD system though, I am sure that I installed "libyaml". The following output shows that "libyaml" is installed: $ pkg info libyaml libyaml-0.2.5 Name : libyaml Version : 0.2.5 Installed on : Thu Feb 23 17:02:37 2023 EST Origin : textproc/libyaml Architecture : FreeBSD:13:amd64 Prefix : /usr/local Categories : textproc Licenses : MIT Maintainer : adamw@FreeBSD.org WWW : https://pyyaml.org/wiki/LibYAML Comment : YAML 1.1 parser and emitter written in C Shared Libs provided: libyaml-0.so.2 Annotations : FreeBSD_version: 1301000 cpe : cpe:2.3:a:pyyaml:libyaml:0.2.5:::::freebsd13:x64 repo_type : binary repository : FreeBSD Flat size : 371KiB Description : LibYAML is a YAML 1.1 parser and emitter written in C. LibYAML covers presenting and parsing processes. Thus LibYAML defines the following two processors: * Parser, which takes an input stream of bytes and produces a sequence of parsing events. * Emitter, which takes a sequence of events and produces a stream of bytes. The processes of parsing and presenting are inverse to each other. Any sequence of events produced by parsing a well-formed YAML document should be acceptable by the Emitter, which should produce an equivalent document. Similarly, any document produced by emitting a sequence of events should be acceptable for the Parser, which should produce an equivalent sequence of events. The job of resolving implicit tags, composing and serializing representation trees, as well as constructing and representing native objects is left to applications and bindings. Although some of these processes may be covered in the latter releases, they are not in the scope of the initial release of LibYAML. WWW: https://pyyaml.org/wiki/LibYAML -- You are receiving this mail because: You are the assignee for the bug.