My project installs many packages with conan, then it compiles an application.
This application has one sub-project business/task-manager
that creates a libtask-manager.so
So that, when I look at the executable with ldd
I see that most of its shared object are those installed by conan, but a single one comes from a sub directory of a source directory.
linux-vdso.so.1 (0x00007ffefafda000)
libtask-manager.so => /workspaces/template-cpp/build/Debug/src/business/task-manager/libtask-manager.so (0x00007f2f43ca5000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2f43a83000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2f439a4000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2f43984000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2f437a3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2f449c4000)
<code> ldd ./CPPTemplate
linux-vdso.so.1 (0x00007ffefafda000)
libtask-manager.so => /workspaces/template-cpp/build/Debug/src/business/task-manager/libtask-manager.so (0x00007f2f43ca5000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2f43a83000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2f439a4000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2f43984000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2f437a3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2f449c4000)
</code>
ldd ./CPPTemplate
linux-vdso.so.1 (0x00007ffefafda000)
libtask-manager.so => /workspaces/template-cpp/build/Debug/src/business/task-manager/libtask-manager.so (0x00007f2f43ca5000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2f43a83000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2f439a4000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2f43984000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2f437a3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2f449c4000)
When I attempt to create a docker container with the same statements I build my application locally, building is possible, but not running: that .so
is missing:
<code>docker run -it docker.registry.ourcompany.io/template:main sh
<code>docker run -it docker.registry.ourcompany.io/template:main sh
</code>
docker run -it docker.registry.ourcompany.io/template:main sh
linux-vdso.so.1 (0x00007fff81924000)
libtask-manager.so => not found
libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00007f7ac1694000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f7ac1683000)
libnsl.so.2 => /lib/x86_64-linux-gnu/libnsl.so.2 (0x00007f7ac1668000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7ac1589000)
libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00007f7ac155c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7ac1379000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7ac190c000)
libtirpc.so.3 => /lib/x86_64-linux-gnu/libtirpc.so.3 (0x00007f7ac134b000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f7ac12f9000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f7ac121f000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f7ac11f2000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f7ac11ea000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f7ac11dc000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f7ac11d5000)
<code># ldd CPPTemplate
linux-vdso.so.1 (0x00007fff81924000)
libtask-manager.so => not found
libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00007f7ac1694000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f7ac1683000)
libnsl.so.2 => /lib/x86_64-linux-gnu/libnsl.so.2 (0x00007f7ac1668000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7ac1589000)
libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00007f7ac155c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7ac1379000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7ac190c000)
libtirpc.so.3 => /lib/x86_64-linux-gnu/libtirpc.so.3 (0x00007f7ac134b000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f7ac12f9000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f7ac121f000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f7ac11f2000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f7ac11ea000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f7ac11dc000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f7ac11d5000)
</code>
# ldd CPPTemplate
linux-vdso.so.1 (0x00007fff81924000)
libtask-manager.so => not found
libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00007f7ac1694000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f7ac1683000)
libnsl.so.2 => /lib/x86_64-linux-gnu/libnsl.so.2 (0x00007f7ac1668000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7ac1589000)
libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00007f7ac155c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7ac1379000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7ac190c000)
libtirpc.so.3 => /lib/x86_64-linux-gnu/libtirpc.so.3 (0x00007f7ac134b000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f7ac12f9000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f7ac121f000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f7ac11f2000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f7ac11ea000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f7ac11dc000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f7ac11d5000)
The libtask-manager.so => not found
prevents the executable to run.
I need to make my application running.
It seems to me that I have to install the
/workspaces/template-cpp/build/Debug/src/business/task-manager/libtask-manager.so
that is produced at compilation time, in /lib/x86_64-linux-gnu/libtask-manager.so
But with what conan command may I provoke that?