[Bug 269803] Ruby 3.2 compilation error (cannot load such file -- psych)

From: <bugzilla-noreply_at_freebsd.org>
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: nicholashubbard@posteo.net

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.