Open1

zlib-ngを静的リンクしたnginxをコンパイルしたい

catatsuycatatsuy

https://github.com/zlib-ng/zlib-ng

zlib-ngにはzlibと互換モードがあるので、zlibの代わりに利用することができる。

ドキュメントが特に見当たらないのでよく分からないが、おそらくzlib-ngを今使っている人はzlib-ngを単体でコンパイルしてインストールした上で、nginxからは動的リンクして利用しているっぽい。

静的リンクをするにはzlib-ngのコンパイルオプションを変更する必要があるが、nginxのソースコード上で直接渡しているため、そのままでは無理。ということでパッチを当ててみた。

https://github.com/nginx/nginx/pull/644

  • zlib-ngは./configureしないとMakefileができない
  • zlibの互換モードを使いたいなら./configure時に--zlib-compatを渡す必要がある

ということで、このパッチを当てた上で --with-zlib-conf-opt='--zlib-compat --static' を渡せばzlib-ngで静的リンクできた。試しに動かしている限り、普通に動いていそう。