Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2025/04/14 22:36:36.803 (台灣標準時)

pkgsrc で distfile の fetch に失敗する

pkgsrc を使ってアプリケーションをコンパイルしインストールしようとする と、ソースコードを含むファイルの取得が失敗することがあるでござる。ラン ダムに失敗が起こるのではなく、特定のファイルのダウンロードが繰り返し失 敗することが多いでござる。

FETCH_USING という変数を設定すると、ダウンロードのために使 うコマンドを切り替えられるようでござる。デフォルトでは、 fetch コマンドが使われるとのことでござる。

FETCH_USING には、 ftp, fetch, curl, wget のいずれかを選ぶ ことができるようでござる。

/usr/pkgsrc/mk/bsd.prefs.mk
fig_202504/pkgsrc_fetch_stalled_04.png

以下が fetch コマンドを使った場合に、 distfile の fetch が 途中で止まってしまってほしいファイルがダウンロードできない例でござる。

FETCH_USING=fetch
fig_202504/pkgsrc_fetch_stalled_00.png

以下は、 FETCH_USING=curl としてみた場合の結果にござる。や はり同じところでダウンロードが止まってしまったでござる。

FETCH_USING=curl
fig_202504/pkgsrc_fetch_stalled_01.png

以下は、 FETCH_USING=wget としてみた場合の結果にござる。や はり同じところでダウンロードが止まってしまったでござる。

FETCH_USING=wget
fig_202504/pkgsrc_fetch_stalled_02.png

以下は、 FETCH_USING=ftp としてみた場合の結果にござる。や はり同じところでダウンロードが止まってしまったでござる。

FETCH_USING=ftp
fig_202504/pkgsrc_fetch_stalled_03.png

fetch に使うコマンドの問題ではなさそうでござる。

確認してみると、 http://ftp.fr.NetBSD.org/pub/pkgsrc/distfiles/ からダウンロー ドするときに問題が起きているようでござる。 ftp.fr.netbsd.org 以外から ダウンロードするにはどうすればよいのか調べてみたでござる。すると、 MASTER_SITE_BACKUP という変数の値を変えてあげればよさそうだとわかっ たでござる。

/usr/pkgsrc/mk/fetch/sites.mk を見ると、ファイルの一番後ろ に以下のような記述があるでござる。


# The primary backup site.
MASTER_SITE_BACKUP?=    \
        https://cdn.NetBSD.org/pub/pkgsrc/distfiles/ \
        http://ftp.fr.NetBSD.org/pub/pkgsrc/distfiles/ \
        https://ftp.NetBSD.org/pub/pkgsrc/distfiles/

/usr/pkgsrc/mk/fetch/sites.mk
fig_202504/pkgsrc_fetch_stalled_05.png

/etc/mk.conf に以下の記述を追加してみたでござる。


MASTER_SITE_BACKUP= \
        https://cdn.NetBSD.org/pub/pkgsrc/distfiles/ \
        https://ftp.NetBSD.org/pub/pkgsrc/distfiles/

make install を実行してみると、 cdn.netbsd.org からダウンロードを試みるようになったのでござるが、 https での通信に失 敗したでござる。


--2025-04-07 21:07:33--  https://cdn.netbsd.org/pub/pkgsrc/distfiles/libz-sys-1.1.16.crate
Resolving cdn.netbsd.org (cdn.netbsd.org)... 151.101.193.6, 151.101.65.6, 151.101.1.6, ...
Connecting to cdn.netbsd.org (cdn.netbsd.org)|151.101.193.6|:443... connected.
ERROR: cannot verify cdn.netbsd.org's certificate, issued by 'CN=GlobalSign Atlas R3 DV TLS CA 2025 Q1,O=GlobalSign nv-sa,C=BE':
  Unable to locally verify the issuer's authority.
To connect to cdn.netbsd.org insecurely, use `--no-check-certificate'.
fetch: Unable to fetch expected file libz-sys-1.1.16.crate

fig_202504/pkgsrc_fetch_stalled_06.png

以下を見ると、 curl か wget を使えば、 https によるファイルのダウンロー ドができるように読み取れるのでござるが、実際には上手くいかないので不可 解でござる。

/usr/pkgsrc/mk/fetch/fetch.mk を見てみると、以下のような記 述があったでござる。


# FETCH_INSECURE, if defined, will cause the fetch command to not validate
#       TLS certificates.

/etc/mk.conf に以下の記述を追加してみたでござる。


FETCH_USING=wget
FETCH_INSECURE=YES

すると、今度は上手くいったでござる。


--2025-04-07 21:17:52--  https://static.crates.io/crates/libz-sys/libz-sys-1.1.16.crate
Resolving static.crates.io (static.crates.io)... 151.101.194.137, 151.101.2.137, 151.101.130.137, ...
Connecting to static.crates.io (static.crates.io)|151.101.194.137|:443... connected.
WARNING: cannot verify static.crates.io's certificate, issued by 'CN=GlobalSign Atlas R3 DV TLS CA 2024 Q4,O=GlobalSign nv-sa,C=BE':
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 200 
Length: 3958920 (3.8M) [application/gzip]
Saving to: 'libz-sys-1.1.16.crate'

libz-sys-1.1.16.cra 100%[===================>]   3.78M  1.63MB/s    in 2.3s    

2025-04-07 21:17:55 (1.63 MB/s) - 'libz-sys-1.1.16.crate' saved [3958920/3958920]



Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Misc___Taiwan/20240207_00.html
  4. Computer___Network/20230516_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Network/20230508_00.html
  7. Computer___Network/20240130_00.html
  8. Computer___Python/20220715_0.html
  9. Computer___TeX/20231107_00.html
  10. Food___Taiwan/20220429_0.html
  11. Computer___NetBSD/20230119_00.html
  12. Computer___Network/20240416_00.html
  13. Computer___Python/20221013_0.html
  14. Computer___Python/20220410_0.html
  15. Computer___Network/20220413_1.html
  16. Computer___NetBSD/20220817_3.html
  17. Misc___Japan/20240610_00.html
  18. Computer___Debian/20210223_1.html
  19. Computer___Python/20240101_00.html
  20. Computer___NetBSD/20220818_1.html
  21. Computer___Python/20210124_0.html
  22. Computer___NetBSD/20240101_02.html
  23. Computer___NetBSD/20220428_0.html
  24. Computer___TeX/20230726_01.html
  25. Science___Math/20220420_0.html
  26. Computer___TeX/20230503_00.html
  27. Science___Astronomy/20220503_0.html
  28. Computer___NetBSD/20220808_0.html
  29. Computer___NetBSD/20230515_00.html
  30. Computer___NetBSD/20240101_03.html


HTML file generated by Kinoshita Daisuke.