1

libcurl 、 libssl 、およびその他のライブラリをカスタムコンパイルしています。システム ライブラリを置き換えたくありません。システムごとに変更すると、lib の競合が発生し、これらの lib に依存する他のすべてのコンポーネントをコンパイルする必要があるためです。

そこで、RPATH の使用を開始し、次のような構造化を開始しました。

|-- bin
|   |-- app.out
|-- lib
|   |-- libboost_program_options.so -> libboost_program_options.so.1.49.0
|   |-- libboost_program_options.so.1.49.0
|   |-- libboost_system.so -> libboost_system.so.1.49.0
|   |-- libboost_system.so.1.49.0
|   |-- libboost_thread.so -> libboost_thread.so.1.49.0
|   |-- libboost_thread.so.1.49.0
|   |-- libcares.so -> libcares.so.2.0.0
|   |-- libcares.so.2 -> libcares.so.2.0.0
|   `-- pkgconfig
`-- sbin
    `-- nginx

このアプローチはうまくいきました。問題は、同じアプリケーション バージョンを必要とする PHP とノードを使い始めたことです。

|-- bin
|   |-- a.out
|-- lib
|   |-- libboost_program_options.so -> libboost_program_options.so.1.49.0
|   |-- libboost_program_options.so.1.49.0
|   |-- libboost_system.so -> libboost_system.so.1.49.0
|   |-- libboost_system.so.1.49.0
|   |-- libboost_thread.so -> libboost_thread.so.1.49.0
|   |-- libboost_thread.so.1.49.0
|   |-- libcares.so -> libcares.so.2.0.0
|   |-- libcares.so.2 -> libcares.so.2.0.0
|   `-- pkgconfig
|-- php_ext
|   `-- sqlite3.so
|-- node
|   `-- node_modules
|   |-- bin 
|   |   |-- node
`-- sbin
    `-- nginx

現在、この svn リポジトリはリリースごとに大きくなっています。これを構造化するより良い方法はありますか?各アプリでlibフォルダーを複製せずに?

4

2 に答える 2