What distro are you using ?
---> Fedora 13

May be you should specify the "-Bstatic" from the makfile, to be sure
> static version of every libs are used.

---> Tried to put this option on the command line before the -lz -lssl
-lcrypto but the linker seems to ignore it as the shared libs (libz,
libssl, libcrypto and their dependencies) are still linked. Even though
the static versions of those libs are installed.

ldd -r on fossil gives me
        linux-vdso.so.1 =>  (0x00007ffff51c5000)
        libz.so.1 => /lib64/libz.so.1 (0x0000003d01400000)
        libcrypto.so.10 => /lib64/libcrypto.so.10 (0x0000003ea4200000)
        libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003e2b800000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003d00400000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003d00c00000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003e2a800000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003e2b000000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003d08400000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003e2ac00000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003d00000000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003e2b400000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003d09000000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003d02400000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d01000000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003d01c00000)

Seems the whole bunch of libs comes in with the libssl because ldd -r on
libssl gives me
ldd -r /usr/lib64/libssl.so.10
        linux-vdso.so.1 =>  (0x00007fffc97d6000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003e2a800000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003e2b000000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003d08400000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003e2ac00000)
        libcrypto.so.10 => /lib64/libcrypto.so.10 (0x0000003ea4200000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003d00c00000)
        libz.so.1 => /lib64/libz.so.1 (0x0000003d01400000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003d00400000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003e2b400000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003d09000000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003d02400000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d01000000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003d00000000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003d01c00000)

When I try to use the -static flag for the linker I get a bunch of
unresolved symbols coming from the static libssl. Here are some

(.text+0x2e3): undefined reference to `krb5_free_data_contents'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libssl.a(s3_clnt.o): 
In function `ssl_do_client_cert_cb':
(.text+0x111): undefined reference to `ENGINE_load_ssl_client_cert'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libssl.a(s3_clnt.o): 
In function `ssl3_check_cert_and_algorithm':
(.text+0x20d): undefined reference to `X509_certificate_type'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libssl.a(s3_enc.o): In 
function `ssl3_change_cipher_state':

Seems I would need to link in all the dependencies of libssl statically
as well. 








Am Freitag, den 22.04.2011, 19:17 -0400 schrieb Martin Gagnon:
> May be you should specify the "-Bstatic" from the makfile, to be sure
> static version of every libs are used.
> 
> On Fri, Apr 22, 2011 at 7:06 PM, Martin Gagnon <[email protected]> wrote:
> > Normally, libssl is disponible as a static library (libssl.a). This
> > would simplify everything.
> >
> > What distro are you using ?
> >
> > - -
> > Martin
> >
> > On Fri, Apr 22, 2011 at 3:04 PM, Felix Wolfheimer
> > <[email protected]> wrote:
> >> True, but the libssl of my distro depends on a whole bunch of other
> >> libs. Many of them just offered as .so in the repos. So it was simpler
> >> for me to copy the shared libs to the chroot jail. However, if switching
> >> off the dependency on libssl for fossil it works with -static.
> >>
> >>
> >> Am Freitag, den 22.04.2011, 20:16 +0200 schrieb Joerg Sonnenberger:
> >>> On Fri, Apr 22, 2011 at 07:57:16PM +0200, Felix Wolfheimer wrote:
> >>> > However, it took me a while to figure out that I need to copy all the
> >>> > dependencies (shared libraries) fossil depends on into the file
> >>> > structure accessed by the webserver.
> >>>
> >>> make LDFLAGS=-static
> >>>
> >>> Joerg
> >>> _______________________________________________
> >>> fossil-users mailing list
> >>> [email protected]
> >>> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
> >>
> >>
> >> _______________________________________________
> >> fossil-users mailing list
> >> [email protected]
> >> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
> >>
> >
> _______________________________________________
> fossil-users mailing list
> [email protected]
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to