1.5. 既知の問題

rh-mysql80, BZ#1646363
mysql-connector-java データベースコネクターは MySQL 8.0 サーバーでは動作しません。
rh-mysql80, BZ#1646158
MySQL 8.0 ではデフォルトの文字セットが utf8mb4 に変更になりましたが、この文字セットは php-mysqlnd データベースコネクターではサポートされません。そのため、php-mysqlnd がデフォルト設定で接続できません。この問題を回避するには、既知の文字セットを MySQL サーバー設定のパラメーターとして指定します。たとえば、/etc/opt/rh/rh-mysql80/my.cnf.d/mysql-server.cnf ファイルを read に変更します。
[mysqld]
character-set-server=utf8
httpd24 コンポーネント
httpd24 Software Collection に含まれる cURL ツールの更新バージョンは、HTTP/2 をサポートしません。そのため、このバージョンの cURL の HTTP/2 サポートに依存するスクリプトは失敗するか、HTTP/1.1 にフォールバックします。
httpd24 コンポーネント、BZ#1429006
httpd 2.4.27 以降、mod_http2 モジュールはデフォルトの prefork Multi-Processing Module (MPM) でサポートされなくなりました。HTTP/2 サポートを有効にするには、/opt/rh/httpd24/root/etc/httpd/conf.modules.d/00-mpm.conf で設定ファイルを編集し、event または worker MPM に切り替えます。
HTTP/2 の server-push 機能は、64 ビット ARM アーキテクチャー、IBM Z、および IBM POWER (リトルエンディアン) では機能しないことに注意してください。
httpd24 コンポーネント、BZ#1327548
mod_ssl モジュールは、Red Hat Enterprise Linux 6 または Red Hat Enterprise Linux 7.3 以前で ALPN プロトコルに対応していません。そのため、ALPN を使用した TLS 接続の HTTP/2 へのアップグレードをサポートするクライアントは、HTTP/1.1 のサポートに制限されます。
httpd24 コンポーネント、BZ#1224763
FastCGI Process Manager (PHP-FPM) で mod_proxy_fcgi モジュールを使用する場合は、httpd は正しいポート 9000 ではなく、デフォルトで FastCGI プロトコルのポート 8000 を使用します。この問題を回避するには、正しいポートを明示的に指定します。
httpd24 コンポーネント、BZ#1382706
SELinux を有効にすると、LD_LIBRARY_PATH 環境変数は httpd が呼び出す CGI スクリプトに渡されません。そのため、httpd が実行する CGI スクリプトの /opt/rh/httpd24/service-environment ファイルで有効にした Software Collections から実行ファイルを呼び出すことができない場合があります。この問題を回避するには、CGI スクリプト内から希望どおりに LD_LIBRARY_PATH 設定します。
httpd24 コンポーネント
httpd24 Software Collection からの Apache Portable Runtime (APR) および APR-util ライブラリーに対する外部アプリケーションのコンパイルはサポートされていません。LD_LIBRARY_PATH 環境変数は、この Software Collection のいずれのアプリケーションでも不要であるため、httpd24 に設定されていません。
rh-python35rh-python36 コンポーネント、BZ#1499990
Babelがタイムゾーンのサポートに使用しているpytzモジュールは、rh-python35、および rh-python36 Software Collections には含まれていません。その結果、ユーザーがBabelから dates モジュールをインポートしようとすると、トレースバックが返されます。この問題を回避するには、pip install pytzコマンドを使用して、pypi公開リポジトリーからpipパッケージマネージャーを介してpytzをインストールします。
rh-python36 コンポーネント ( )
numpy が提供する特定の複雑な三角関数は、64 ビット ARM アーキテクチャー、IBM Z、および IBM POWER (リトルエンディアン) で誤った値を返す可能性があります。AMD64 および Intel 64 のアーキテクチャーは、この問題の影響を受けません。
python27 コンポーネント、BZ#1330489
python27-python-pymongo パッケージがバージョン 3.2.1 に更新されました。このバージョンは、これまでに同梱されているバージョン 2.5.2 と完全に互換性がないことに注意してください。詳細はhttps://api.mongodb.org/python/current/changelog.htmlを参照してください。
python27 コンポーネント
Red Hat Enterprise Linux 7 では、ユーザーがpython27-python-debuginfo パッケージをインストールしようとすると、/usr/src/debug/Python-2.7.5/Modules/socketmodule.cファイルが、コアシステムにインストールされているpython-debuginfo パッケージの対応するファイルと衝突します。その結果、python27-python-debuginfo のインストールに失敗します。この問題を回避するには、python-debuginfo パッケージをアンインストールしてから、python27-python-debuginfo パッケージをインストールしてください。
scl-utils コンポーネント で修正済み
Red Hat Enterprise Linux 7.5 以前では、scl-utils パッケージのアーキテクチャー固有のマクロバグにより、<collection>/root/usr/lib64/ ディレクトリーには 64 ビット ARM アーキテクチャーおよび IBM POWER (リトルエンディアン) のパッケージの所有権が正しくありません。したがって、Software Collection がアンインストールされると、このディレクトリーは削除されません。この問題を回避するには、Software Collection を削除する際に <collection>/root/usr/lib64/ を手動で削除します。
rh-ruby24rh-ruby23 コンポーネント
RubyGemのインストールパスは、複数の Software Collection が有効になっている順番に応じて決定されます。依存するコレクションをサポートするために、Red Hat Software Collections 2.3 で出荷されたRuby 2.3.1 から必要な順序が変更されました。その結果、RPM ビルド時にgemのインストールに使用されるRubyGemのパスは、Software Collection が誤った順序で提供されている場合には無効になります。例えば、RPM のスペックファイルに scl enable rh-ror50 rh-nodejs6 が含まれている場合、ビルドに失敗するようになりました。この問題を回避するには、rh-ror50 Software Collection を最後に有効にします。例えば、scl enable rh-nodejs6 rh-ror50 のようにします。
rh-maven35rh-maven33 コンポーネント
ユーザーが Red Hat Enterprise Linux システムバージョンのmaven-local パッケージとrh-maven35-maven-local package またはrh-maven33-maven-local package の両方をインストールしている場合、rh-maven35 またはrh-maven33 Software Collection から実行される Java RPM パッケージの構築に使用されるツールXMvn がベースシステムから設定ファイルを読み取ろうとして失敗します。この問題を回避するには、ベースの Red Hat Enterprise Linux システムから maven-local パッケージをアンインストールします。
perl コンポーネント
複数の mod_perl.so ライブラリーをインストール することはできません。したがって、複数の Perl Software Collection から mod_perl モジュールを使用できません。
postgresql コンポーネント
Red Hat Enterprise Linux 6 の rh-postgresql9* パッケージは、sepgsql モジュールを提供しません。この機能には、Red Hat Enterprise Linux 6 では利用できない libselinux バージョン 2.0.99 のインストールが必要であるためです。
httpdmariadbmongodbmysqlnodejsperlphppythonruby、および ror コンポーネント、BZ#1072319
httpd24rh-mariadb*rh-mongodb*rh-mysql*rh-nodejs*rh-perl*rh-php*python27rh-python*rh-ruby*、または rh-ror* パッケージをアンインストールする際に、依存するパッケージの所有権により、アンインストールの順番が関係することがあります。そのため、一部のディレクトリーおよびファイルはシステム上に残される可能性があるため、削除されない可能性があります。
mariadbmysql コンポーネント (BZ#1194611)
MariaDB 10 および MySQL 5.6 以降、rh-mariadb*-mariadb-server および rh-mysql*-mysql-server パッケージでは、デフォルトで test データベースが提供されなくなりました。このデータベースは初期化中には作成されませんが、付与テーブルは、test がデフォルトで作成されたものと同じ値で事前に入力されます。その結果、test または test_* データベースが後で作成されると、これらのデータベースへのアクセス権限は、新規データベースのデフォルトよりも制限されません。
また、ベンチマークを実行している場合、run-all-tests スクリプトは、サンプルパラメーターを使用してもそのままでは機能しません。テストを実行する前にテストデータベースを作成し、--database パラメーターにデータベース名を指定する必要があります。パラメーターが指定されていない場合、test はデフォルトで取得されますが、test データベースが存在することを確認する必要があります。
mariadbmysqlpostgresqlmongodb コンポーネント )
Red Hat Software Collections 3.2 には、MySQL 5.7MySQL 8.0MariaDB 10.0MariaDB 10.1MariaDB 10.2PostgreSQL 9.5PostgreSQL 9.6PostgreSQL 10MongoDB 3.2MongoDB 3.4およびMongoDB 3.6 のデータベースが含まれます。Red Hat Enterprise Linux 6 のコアは、以前のバージョンの MySQL および PostgreSQL データベース (クライアントライブラリーおよびデーモン) を提供します。コア Red Hat Enterprise Linux 7 は、MariaDB および PostgreSQL データベース (クライアントライブラリーおよびデーモン) の以前のバージョンを提供します。クライアントライブラリーは、動的言語、ライブラリーなどのデータベースコネクターにも使用されます。
PostgreSQL コンポーネントの Red Hat Software Collections データベースパッケージにパッケージ化されたクライアントライブラリーは、サーバーユーティリティーおよびデーモン向けとしてのみ含まれているので、使用しないでください。代わりに、ユーザーはコアシステムで提供されるシステムライブラリーとデータベースコネクターを使用することが想定されます。
クライアントライブラリーとデーモンの間で使用されるプロトコルは複数のデータベースバージョン間で安定するため、たとえば PostgreSQL 9.4 デーモンまたは 9.5 デーモンで PostgreSQL 9.2 クライアントライブラリーを使用すると期待どおりに機能します。
コアの Red Hat Enterprise Linux 6 および Red Hat Enterprise Linux 7 には MongoDB のクライアントライブラリーが含まれていません。アプリケーションにこのクライアントライブラリーを使用するには、Red Hat Software Collections からのクライアントライブラリーを使用し、この MongoDB クライアントライブラリーにリンクされたアプリケーションを実行するたびに scl enable ... 呼び出しを常に使用する必要があります。
mariadbmysqlmongodb コンポーネント ( )
ログファイルの作成時に、MariaDB、MySQL、および MongoDB は /opt/provider/collection/root 接頭辞を利用しません。ログファイルは、/opt/provider/collection/root/var/log/ ではなく、/var/opt/provider/collection/log/ ディレクトリーに保存されることに注意してください。
rh-eclipse46 コンポーネント
サードパーティーの更新サイトからプラグインをインストールされていると、Eclipseが起動に失敗し、ワークスペースのログファイルに NullPointerException が発生することがあります。この問題を回避するには、-cleanオプションを付けてEclipseを再起動してください。例:
~]$ scl enable rh-eclipse46 "eclipse -clean"
rh-eclipse46 コンポーネント
Eclipse Docker Tooling では、シンタックスハイライトや基本的なコマンドの自動補完機能を備えたDockerfile editorを導入しています。Build Image Wizardを開いた状態で、Edit Dockerfileボタンを押すと、Dockerfile editorがファイルを切り離したエディターウィンドウで開きます。ただし、このウィンドウにはCancelSaveのボタンはありません。この問題を回避するには Ctrl+Sを押して変更を保存するか、エディター内で右クリックしてコンテキストメニューを表示し、Saveオプションを選択します。変更をキャンセルするには、ウィンドウを閉じます。
rh-eclipse46 コンポーネント
Red Hat Enterprise Linux 7.2 では、EclipsePerf Profile View の入力に使用されるperfツールにバグがあり、ビュー内の一部のアイテムが Eclipse エディター内のそれぞれの位置に正しくリンクされませんでした。プロファイリングは期待通りに行われますが、Perl Profile View の一部をクリックしても、エディター内の関連するポジションに移動することはできません。

その他の注意事項

rh-ruby*rh-python*rh-php* コンポーネント ( )
読み取り専用 NFS で Software Collections を使用すると、いくつかの制限があります。
  • rh-ruby* Software Collection が読み取り専用 NFS にある間は、Ruby gems をインストールできません。したがって、たとえば、gem install ab コマンドを使用して ab gem をインストールしようとすると、以下のようなエラーメッセージが表示されます。
    ERROR:  While executing gem ... (Errno::EROFS)
        Read-only file system @ dir_s_mkdir - /opt/rh/rh-ruby22/root/usr/local/share/gems
    
    または bundle update または bundle install コマンドを実行して、ユーザーが外部ソースから gem を更新またはインストールしようとすると、同じ問題が発生します。
  • Python Package Index (PyPI) を使用して読み取り専用 NFS に Python パッケージをインストールすると、この pip コマンドが失敗し、以下のようなエラーメッセージが表示されます。
    Read-only file system: '/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/ipython-3.1.0.dist-info'
  • pear コマンドを使用した読み取り専用 NFS への PEAR (PHP Extension and Application Repository) からパッケージのインストールに失敗し、エラーメッセージが表示されます。
    Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user
これは想定される動作です。
httpd コンポーネント
Apache の言語モジュールは、Red Hat Software Collections バージョンの Apache httpd でのみサポートされ、Red Hat Enterprise Linux システムバージョンの httpd には対応していません。たとえば、rh-python35 コレクションの mod_wsgi モジュールは httpd24 コレクションでのみ使用できます。
すべてのコンポーネント
Red Hat Software Collections 2.0 以降、設定ファイル、変数データ、および各 Collections のランタイムデータは、以前のバージョンの Red Hat Software Collections とは異なるディレクトリーに保存されます。
coreutilsutil-linuxscreen コンポーネント
suloginscreen などの一部のユーティリティーは、全ケースで環境設定がエクスポートされるわけではなく、予期せぬ結果になる可能性があります。そのため、su の代わりに sudo を使用し、/etc/sudoers ファイルに env_keep 環境変数を設定することを推奨します。下の順序でコマンドを実行できます。例を以下に示します。
su -l postgres -c "scl enable rh-postgresql94 psql"
以下の代わりとなります。
scl enable rh-postgresql94 bash
su -l postgres -c psql
screenlogin などのツールを使用する場合は、以下のコマンドを使用して環境設定を保存できます。
source /opt/rh/<collection_name>/enable
python コンポーネント
ユーザーが python27 および rh-python* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_python%scl_prefix_python) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
php コンポーネント )
ユーザーが rh-php* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_php%scl_prefix_php) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
ruby コンポーネント
ユーザーが rh-ruby* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_ruby%scl_prefix_ruby) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
perl コンポーネント
ユーザーが rh-perl* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_perl%scl_prefix_perl) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
nginx コンポーネント
ユーザーが rh-nginx* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_nginx%scl_prefix_nginx) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。