Ruby 在FreeBSD上安装gosu

Ruby 在FreeBSD上安装gosu,ruby,rubygems,freebsd,libgosu,Ruby,Rubygems,Freebsd,Libgosu,我正在尝试在FreeBSD上安装此Ruby gem,但由于以下错误而失败: # gem install gosu Building native extensions. This could take a while... ERROR: Error installing gosu: ERROR: Failed to build gem native extension. current directory: /usr/local/lib/ruby/gems/2.4/g

我正在尝试在FreeBSD上安装此Ruby gem,但由于以下错误而失败:

# gem install gosu
Building native extensions. This could take a while...
ERROR:  Error installing gosu:
        ERROR: Failed to build gem native extension.

    current directory: /usr/local/lib/ruby/gems/2.4/gems/gosu-0.14.5/ext/gosu
/usr/local/bin/ruby24 -I /usr/local/lib/ruby/site_ruby/2.4 -r ./siteconf20190322-6847-x8s25j.rb extconf.rb
The Gosu gem requires some libraries to be installed system-wide.
See the following site for a list:
https://github.com/gosu/gosu/wiki/Getting-Started-on-Linux
cat: /proc/cpuinfo: No such file or directory
checking for -lopenal... yes
checking for AL/al.h... yes
creating Makefile

current directory: /usr/local/lib/ruby/gems/2.4/gems/gosu-0.14.5/ext/gosu
make "DESTDIR=" clean

current directory: /usr/local/lib/ruby/gems/2.4/gems/gosu-0.14.5/ext/gosu
make "DESTDIR="
compiling ../../src/Audio.cpp
In file included from ../../src/Audio.cpp:17:
../../src/SndFile.hpp:111:33: warning: field 'buffer' is uninitialized when used here [-Wuninitialized]
        : file(nullptr), reader(buffer.front_reader())
                                ^
../../src/SndFile.hpp:123:33: warning: field 'buffer' is uninitialized when used here [-Wuninitialized]
        : file(nullptr), reader(buffer.front_reader())
                                ^
2 warnings generated.
compiling ../../src/AudioImpl.cpp
compiling ../../src/Bitmap.cpp
compiling ../../src/BitmapIO.cpp
compiling ../../src/BlockAllocator.cpp
compiling ../../src/Channel.cpp
compiling ../../src/Color.cpp
compiling ../../src/DirectoriesApple.cpp
compiling ../../src/DirectoriesUnix.cpp
compiling ../../src/DirectoriesWin.cpp
compiling ../../src/FileUnix.cpp
../../src/FileUnix.cpp:53:47: error: use of undeclared identifier 'S_IRUSR'
    pimpl->fd = open(filename.c_str(), flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
                                              ^
../../src/FileUnix.cpp:53:55: error: use of undeclared identifier 'S_IWUSR'
    pimpl->fd = open(filename.c_str(), flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
                                                      ^
../../src/FileUnix.cpp:53:63: error: use of undeclared identifier 'S_IRGRP'
    pimpl->fd = open(filename.c_str(), flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
                                                              ^
../../src/FileUnix.cpp:53:71: error: use of undeclared identifier 'S_IWGRP'
    pimpl->fd = open(filename.c_str(), flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
                                                                      ^
../../src/FileUnix.cpp:53:79: error: use of undeclared identifier 'S_IROTH'
    pimpl->fd = open(filename.c_str(), flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
                                                                              ^
../../src/FileUnix.cpp:53:87: error: use of undeclared identifier 'S_IWOTH'
    pimpl->fd = open(filename.c_str(), flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
                                                                                      ^
6 errors generated.
*** Error code 1

Stop.
make: stopped in /usr/local/lib/ruby/gems/2.4/gems/gosu-0.14.5/ext/gosu
我尝试过的其他事情:

    转换编译器-从CLAN和C++到G++和GCC。
  • 克隆存储库并“手动”构建——也会出现同样的错误

甚至可以在FreeBSD上安装它吗?搜索没有返回任何有用的信息。

在FreeBSD系统中,头文件的组织方式与在Linux中略有不同

快速查找人员显示,您需要

#include    <sys/types.h>
#include    <sys/stat.h>
#include    <fcntl.h>
#包括
#包括
#包括
使这些定义可见