2019-11-23

NetBSD/i386でfirefox(nightly) 67.0.4

dynabook SS SX/15AにNetBSD/i386を入れています。最近パッケージの2019Q2にビルド済みバイナリを利用して入れ換えたところ、firefoxが起動しなくなりました。共有ライブラリのバージョンが上がり、参照先が消えたことが原因のようです。

2019Q2のビルド済みバイナリのファイルは、amd64版に比べると、i386版は抜けが多いように思います。何か理由があってこうなっているのか、ただ単に理由もなく抜けているのか、よく分かりません。自分でビルドすれば良いことではありますが、できればビルド済みのバイナリが(amd64版と同程度にi386版も)用意されていると助かります。

 VirtualBox上に、新規にNetBSD/i386の環境を作り、2019Q2のpkgsrcを持ってきてビルドすれば良い訳ですが、できれば既にビルド済みのパッケージを、さらに自前でビルドするのは避けたいところです。pkginを利用してビルド済みのバイナリを事前にインストールしておきたいと思いますが、それでは一体何を入れておけば良いのか、どのように判断すれば良いのでしょうか。

まずpkgsrc/www/firefoxで依存関係を確認してみました。make show-dependsの結果は次のようになりました。

gcc6-libs>=6.1.0:../../lang/gcc6-libs
libffi>=3.0.11:../../devel/libffi
nspr>=4.21:../../devel/nspr
icu>=64.1:../../textproc/icu
nss>=3.43nb2:../../devel/nss
libwebp>=1.0.2:../../graphics/libwebp
libIDL>=0.8.14nb4:../../net/libIDL
ffmpeg4>=4.1nb2:../../multimedia/ffmpeg4
gtk2+>=2.24.32nb7:../../x11/gtk2
gtk3+>=3.24.1nb2:../../x11/gtk3
dbus-glib>=0.100nb1:../../sysutils/dbus-glib
desktop-file-utils>=0.10nb1:../../sysutils/desktop-file-utils

ここに現れたパッケージにも依存関係があるとは思いますが、まずはこれらのパッケージをpkginでインストールしておきます。すると/var/db/pkgin/cacheには次のようなファイルが残りました。これらが依存関係にあるファイルという事でしょう。これらを自前でビルドする手間(と時間)が省けたということになります。ただし、rust、gcc6、llvm、clangのような大物は、依存関係には現れませんでしたが、firefoxのビルドに必要なので、入れてあります。

     1  -rw-r--r--  1 root  wheel    3877464 Nov 19 05:37 gcc6-libs-6.5.0nb3.tgz
     2  -rw-r--r--  1 root  wheel      27832 Nov 19 05:38 libffi-3.2.1nb4.tgz
     3  -rw-r--r--  1 root  wheel     249852 Nov 19 05:38 nspr-4.21.tgz
     4  -rw-r--r--  1 root  wheel      29188 Nov 19 05:38 libuuid-2.32.1.tgz
     5  -rw-r--r--  1 root  wheel   14996724 Nov 19 05:38 python37-3.7.3nb1.tgz
     6  -rw-r--r--  1 root  wheel   16853888 Nov 19 05:38 icu-64.2nb1.tgz
     7  -rw-r--r--  1 root  wheel    1806180 Nov 19 05:39 nss-3.44.1.tgz
     8  -rw-r--r--  1 root  wheel     282596 Nov 19 05:39 jpeg-9cnb1.tgz
     9  -rw-r--r--  1 root  wheel      72828 Nov 19 05:39 jbigkit-2.1.tgz
    10  -rw-r--r--  1 root  wheel     785160 Nov 19 05:39 tiff-4.0.10nb1.tgz
    11  -rw-r--r--  1 root  wheel     267004 Nov 19 05:39 png-1.6.37.tgz
    12  -rw-r--r--  1 root  wheel      28592 Nov 19 05:39 giflib-5.1.4.tgz
    13  -rw-r--r--  1 root  wheel     383476 Nov 19 05:39 libwebp-1.0.2.tgz
    14  -rw-r--r--  1 root  wheel     667472 Nov 19 05:39 pcre-8.43.tgz
    15  -rw-r--r--  1 root  wheel    2435708 Nov 19 05:39 glib2-2.60.4nb5.tgz
    16  -rw-r--r--  1 root  wheel     110640 Nov 19 05:39 libIDL-0.8.14nb4.tgz
    17  -rw-r--r--  1 root  wheel     103664 Nov 19 05:40 graphite2-1.3.11nb2.tgz
    18  -rw-r--r--  1 root  wheel     570740 Nov 19 05:40 freetype2-2.10.0.tgz
    19  -rw-r--r--  1 root  wheel     941628 Nov 19 05:40 harfbuzz-2.4.0nb3.tgz
    20  -rw-r--r--  1 root  wheel      56644 Nov 19 05:40 fribidi-0.19.7.tgz
    21  -rw-r--r--  1 root  wheel     106632 Nov 19 05:40 enca-1.15.tgz
    22  -rw-r--r--  1 root  wheel     192220 Nov 19 05:40 libogg-1.3.3.tgz
    23  -rw-r--r--  1 root  wheel      24664 Nov 19 05:40 xmlcatmgr-2.2nb1.tgz
    24  -rw-r--r--  1 root  wheel     212408 Nov 19 05:40 xvidcore-1.3.3nb1.tgz
    25  -rw-r--r--  1 root  wheel     567500 Nov 19 05:40 x264-devel-20190312.tgz
    26  -rw-r--r--  1 root  wheel    1482168 Nov 19 05:40 libxml2-2.9.9.tgz
    27  -rw-r--r--  1 root  wheel    1035252 Nov 19 05:40 libvpx-1.8.0.tgz
    28  -rw-r--r--  1 root  wheel     356876 Nov 19 05:40 libvorbis-1.3.6nb1.tgz
    29  -rw-r--r--  1 root  wheel      75372 Nov 19 05:40 libvdpau-1.2.tgz
    30  -rw-r--r--  1 root  wheel     168696 Nov 19 05:40 libva-2.3.0.tgz
    31  -rw-r--r--  1 root  wheel     245752 Nov 19 05:40 libtheora-1.1.1nb2.tgz
    32  -rw-r--r--  1 root  wheel     219456 Nov 19 05:40 libbluray-1.1.2.tgz
    33  -rw-r--r--  1 root  wheel     139688 Nov 19 05:40 libass-0.14.0nb2.tgz
    34  -rw-r--r--  1 root  wheel    1342244 Nov 19 05:40 libaom-1.0.0nb1.tgz
    35  -rw-r--r--  1 root  wheel     304936 Nov 19 05:40 lame-3.100nb1.tgz
    36  -rw-r--r--  1 root  wheel     856592 Nov 19 05:40 fontconfig-2.13.1.tgz
    37  -rw-r--r--  1 root  wheel   11033160 Nov 19 05:40 ffmpeg4-4.1.3nb1.tgz
    38  -rw-r--r--  1 root  wheel      97924 Nov 19 05:41 lzo-2.10.tgz
    39  -rw-r--r--  1 root  wheel      15788 Nov 19 05:41 cairo-gobject-1.16.0nb3.tgz
    40  -rw-r--r--  1 root  wheel     500364 Nov 19 05:41 mozilla-rootcerts-1.0.20190306.tgz
    41  -rw-r--r--  1 root  wheel     497256 Nov 19 05:41 shared-mime-info-1.10.tgz
    42  -rw-r--r--  1 root  wheel   11088496 Nov 19 05:41 python27-2.7.16.tgz
    43  -rw-r--r--  1 root  wheel      18148 Nov 19 05:41 py27-expat-2.7.16.tgz
    44  -rw-r--r--  1 root  wheel     544460 Nov 19 05:41 pango-1.42.4nb5.tgz
    45  -rw-r--r--  1 root  wheel      64236 Nov 19 05:41 libXft-2.3.3.tgz
    46  -rw-r--r--  1 root  wheel     702828 Nov 19 05:41 gdk-pixbuf2-2.36.12.tgz
    47  -rw-r--r--  1 root  wheel    1082240 Nov 19 05:41 cairo-1.16.0.tgz
    48  -rw-r--r--  1 root  wheel     374672 Nov 19 05:41 atk-2.26.1.tgz
    49  -rw-r--r--  1 root  wheel    8410548 Nov 19 05:41 gtk2+-2.24.32nb8.tgz
    50  -rw-r--r--  1 root  wheel      18920 Nov 19 05:42 py37-expat-3.7.3.tgz
    51  -rw-r--r--  1 root  wheel      23764 Nov 19 05:42 py37-cElementTree-3.7.3.tgz
    52  -rw-r--r--  1 root  wheel    1092044 Nov 19 05:42 gobject-introspection-1.60.1nb1.tgz
    53  -rw-r--r--  1 root  wheel     529764 Nov 19 05:42 dbus-1.12.16.tgz
    54  -rw-r--r--  1 root  wheel     265524 Nov 19 05:42 at-spi2-core-2.26.2nb1.tgz
    55  -rw-r--r--  1 root  wheel     402740 Nov 19 05:42 libepoxy-1.4.3nb2.tgz
    56  -rw-r--r--  1 root  wheel       8936 Nov 19 05:42 hicolor-icon-theme-0.17.tgz
    57  -rw-r--r--  1 root  wheel      35056 Nov 19 05:42 desktop-file-utils-0.23nb1.tgz
    58  -rw-r--r--  1 root  wheel      92468 Nov 19 05:42 at-spi2-atk-2.26.1nb1.tgz
    59  -rw-r--r--  1 root  wheel   13127504 Nov 19 05:42 gtk3+-3.24.8.tgz
    60  -rw-r--r--  1 root  wheel     158912 Nov 19 05:42 dbus-glib-0.110.tgz
    61  -rw-r--r--  1 root  wheel     266284 Nov 19 05:49 bsdtar-3.3.3.tgz
    62  -rw-r--r--  1 root  wheel  152071808 Nov 19 05:51 rust-1.35.0nb1.tgz
    63  -rw-r--r--  1 root  wheel     310764 Nov 19 05:59 tcsh-6.21.00.tgz
    64  -rw-r--r--  1 root  wheel     206652 Nov 19 12:32 gsed-4.7.tgz
    65  -rw-r--r--  1 root  wheel   56579228 Nov 19 12:32 gcc6-6.5.0nb2.tgz
    66  -rw-r--r--  1 root  wheel   51488788 Nov 19 12:36 llvm-8.0.0.tgz
    67  -rw-r--r--  1 root  wheel   49225872 Nov 19 12:38 clang-8.0.0.tgz

上述したパッケージが入っていればfirefoxのビルドができるかというと、まだ不足するパッケージ残っているようです。それもpkginで入れれば良いのでしょうが、探し出すのが大変なので、firefoxのビルドの依存性解決の中でビルドされるのに任せました。その結果、/usr/pkgsrc/packages/Allには以下のパッケージが残っていました。

     1  -rw-r--r--  1 root  125     34509 Nov 19 04:48 cwrappers-20180325.tgz
     2  -rw-r--r--  1 root  125     56542 Nov 19 04:48 digest-20190127.tgz
     3  -rw-r--r--  1 root  125     44579 Nov 19 04:49 libfetch-2.38.tgz
     4  -rw-r--r--  1 root  125    686931 Nov 19 04:50 pkg_install-20190405.tgz
     5  -rw-r--r--  1 root  125     80095 Nov 19 05:02 pkgin-0.12.0.tgz
     6  -rw-r--r--  1 root  125   1723438 Nov 19 06:26 cbindgen-0.8.7.tgz
     7  -rw-r--r--  1 root  125  17732221 Nov 19 06:46 perl-5.28.2.tgz
     8  -rw-r--r--  1 root  125    224624 Nov 19 06:48 m4-1.4.18nb2.tgz
     9  -rw-r--r--  1 root  125    726508 Nov 19 06:49 bison-3.2.4.tgz
    10  -rw-r--r--  1 root  125   2811569 Nov 19 06:52 bash-5.0.7.tgz
    11  -rw-r--r--  1 root  125    281995 Nov 19 06:53 gmake-4.2.1nb1.tgz
    12  -rw-r--r--  1 root  125    518466 Nov 19 06:54 libtool-base-2.4.6nb2.tgz
    13  -rw-r--r--  1 root  125     85271 Nov 19 06:54 pkgconf-1.6.0.tgz
    14  -rw-r--r--  1 root  125      7305 Nov 19 06:54 lockf-1.tgz
    15  -rw-r--r--  1 root  125     14446 Nov 19 06:56 p5-gettext-1.07nb3.tgz
    16  -rw-r--r--  1 root  125    154496 Nov 19 06:56 help2man-1.47.10.tgz
    17  -rw-r--r--  1 root  125    912844 Nov 19 06:56 autoconf-2.69nb8.tgz
    18  -rw-r--r--  1 root  125    679228 Nov 19 06:56 automake-1.16.1.tgz
    19  -rw-r--r--  1 root  125    626226 Nov 19 06:57 libuv-1.29.1.tgz
    20  -rw-r--r--  1 root  125    340102 Nov 19 06:59 rhash-1.3.8.tgz
    21  -rw-r--r--  1 root  125   1507655 Nov 19 07:06 libunistring-0.9.10.tgz
    22  -rw-r--r--  1 root  125    217215 Nov 19 07:07 libidn2-2.0.5.tgz
    23  -rw-r--r--  1 root  125   1053813 Nov 19 07:11 curl-7.65.1.tgz
    24  -rw-r--r--  1 root  125  10942018 Nov 19 07:50 cmake-3.14.5.tgz
    25  -rw-r--r--  1 root  125    139599 Nov 19 07:51 libcares-1.15.0nb1.tgz
    26  -rw-r--r--  1 root  125     39734 Nov 19 07:51 http-parser-2.9.2.tgz
    27  -rw-r--r--  1 root  125  10391635 Nov 19 09:48 nodejs-10.16.0.tgz
    28  -rw-r--r--  1 root  125     17650 Nov 19 09:49 glib2-tools-2.60.4.tgz
    29  -rw-r--r--  1 root  125    252324 Nov 19 09:50 autoconf213-2.13nb7.tgz
    30  -rw-r--r--  1 root  125    239004 Nov 19 09:50 zip-3.0nb3.tgz
    31  -rw-r--r--  1 root  125    300789 Nov 19 09:51 docbook-xml-4.5.tgz
    32  -rw-r--r--  1 root  125   2580222 Nov 19 09:51 docbook-xsl-1.79.1nb3.tgz
    33  -rw-r--r--  1 root  125     14520 Nov 19 09:51 getopt-1.1.6.tgz
    34  -rw-r--r--  1 root  125    373503 Nov 19 09:56 libgpg-error-1.36.tgz
    35  -rw-r--r--  1 root  125   1037069 Nov 19 09:59 libgcrypt-1.8.4.tgz
    36  -rw-r--r--  1 root  125    671244 Nov 19 10:00 libxslt-1.1.33.tgz
    37  -rw-r--r--  1 root  125    410280 Nov 19 10:01 asciidoc-8.6.10nb1.tgz
    38  -rw-r--r--  1 root  125     29770 Nov 19 10:01 xmlto-0.0.28nb2.tgz
    39  -rw-r--r--  1 root  125    796779 Nov 19 10:02 nasm-2.14.02.tgz
    40  -rw-r--r--  1 root  125   1190026 Nov 19 10:03 yasm-1.3.0.tgz
    41  -rw-r--r--  1 root  125      3351 Nov 19 10:03 osabi-NetBSD-8.1.tgz
    42  -rw-r--r--  1 root  125     50414 Nov 19 10:04 x11-links-1.19.tgz
    43  -rw-r--r--  1 root  125    271650 Nov 19 10:17 gsed-4.7.tgz
    44  -rw-r--r--  1 root  125  56556277 Nov 23 12:15 firefox-67.0.4.tgz


以上でfirefox 67.0.4がビルド出来ました。依存関係にあるパッケージが入っていさえすれば、あとはビルドする時間だけの問題です(マシンの性能にも依りますが、1日弱くらいでしょう)。

0 件のコメント:

コメントを投稿