[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problems running tarsnap-keygen



On 10 Oct 2009, at 00:04, Colin Percival wrote:
James Montgomerie wrote:
There's a version of openssl in /usr/sfw which is
what was being linked to. I manually edited the post-cofigure Makefile
to use /usr/local in place of /usr/sfw everywhere, recompiled, and
tarsnap-keygen ran successfully.

I'm no autoconf expoert, so I'm not quite sure where /usr/sfw is being
picked up from. [...]

I'm afraid to say that /usr/sfw is being used because I told autoconf to use it -- until recently OpenSSL was installed on opensolaris into / usr/sfw and Tarsnap had the opposite problem... it was looking in /usr/local and
not finding OpenSSL.

I'll see if I can figure out how to make Tarsnap use the right version of OpenSSL if two are installed while not breaking the case of OpenSSL installed into /usr/sfw (but not anywhere else). Can you give me a list of the exact paths of the OpenSSL files (both those in /usr/sfw and those elsewhere)?


It's possible that my host (Joyent) is installing a local copy of OpenSSL in /usr/local/, and that the one in /usr/sfw/ is the Sun- provided one. From my standpoint (which is not one that's particularly familiar with OpenSSL /or/ Sloaris), I'd say it look like Sun supplied the software in /usr/sfw/ and that that copy has been replaced with one installed into /usr/local/, but for the libraries in /usr/sfw/ which have been left to allow Sun-supplied software that links to them to continue to run.

As I say, I'm not familiar with OpenSSL's files, so I've tried to find out what's installed, but if there's something you're looking for that I haven't mentioned, the chance is quite high that it's there and I just didn't find it. Having said that:

There's an openssl binary in /usr/local/bin, but not one in /usr/sfw/ bin.

There's what looks like a full compliment of openssl headers in /usr/ local:

[:~] things$ ls /usr/local/include/openssl/
aes.h           des.h           idea.h          pem2.h          ssl2.h
asn1_mac.h      dh.h            krb5_asn.h      pkcs12.h        ssl23.h
asn1.h          dsa.h           kssl.h          pkcs7.h         ssl3.h
asn1t.h         dso.h           lhash.h         pq_compat.h     stack.h
bio.h           dtls1.h         md2.h           pqueue.h        store.h
blowfish.h e_os2.h md4.h rand.h symhacks.h
bn.h            ebcdic.h        md5.h           rc2.h           tls1.h
buffer.h        ec.h            obj_mac.h       rc4.h           tmdiff.h
cast.h          ecdh.h          objects.h       rc5.h           txt_db.h
comp.h ecdsa.h ocsp.h ripemd.h ui_compat.h
conf_api.h      engine.h        opensslconf.h   rsa.h           ui.h
conf.h err.h opensslv.h safestack.h x509_vfy.h
crypto.h        evp.h           ossl_typ.h      sha.h           x509.h
des_old.h       hmac.h          pem.h           ssl.h           x509v3.h

Interestingly, there appear to be no headers in /usr/sfw for openssl (I guess they were being picked up from /usr/local/include when I was compiling Tarsnap and it was linking against the /usr/sfw libraries):

[:~] things$ ls /usr/sfw/include/
ansidecl.h bfd.h bfdlink.h c++/ dis-asm.h symcat.h tcpd.h

I don't know which libraries come with OpenSSL, so I very unscientifically used grep to find references in the lib dirs:

[:/usr/local/lib] things$ grep openssl  *
Binary file libc-client_pic.a matches
Binary file libc-client.a matches
Binary file libc-client.so matches
Binary file libc-client.so.5 matches
Binary file libc-client.so.5.0.0 matches
Binary file libcrypto.a matches
Binary file libcrypto.so matches
Binary file libcrypto.so.0.9.7 matches
Binary file libcrypto.so.0.9.8 matches
Binary file libct.a matches
Binary file libct.so matches
Binary file libct.so.4 matches
Binary file libct.so.4.0.0 matches
Binary file libneon.a matches
Binary file libneon.so matches
Binary file libneon.so.26 matches
Binary file libneon.so.26.0.3 matches
Binary file libnetsnmpmibs.a matches
Binary file libnetsnmpmibs.so matches
Binary file libnetsnmpmibs.so.15 matches
Binary file libnetsnmpmibs.so.15.1.0 matches
Binary file libnetsnmpmibs.so.15.1.2 matches
Binary file libssh2.a matches
Binary file libssh2.so matches
Binary file libssh2.so.1 matches
Binary file libssh2.so.1.0.0 matches
Binary file libsybdb.a matches
Binary file libsybdb.so matches
Binary file libsybdb.so.5 matches
Binary file libsybdb.so.5.0.0 matches

[:/usr/sfw/lib] things$ grep openssl *
Binary file libcrypto.so matches
Binary file libcrypto.so.0.9.8 matches
Binary file libssl.so matches
Binary file libssl.so.0.9.8 matches
Binary file llib-lcrypto.ln matches
Binary file llib-lssl.ln matches

Similarly named files as above were also in /usr/sfw/lib/amd64 (to my knowledge though, this server is running 32-bit).

There were also a lot of hits in /usr/sfw/lib/llib-lcrypto, which appears to be a C header file #including headers for all the OpenSSL components, and /usr/sfw/lib/llib-lssl, which is the same, but only #includes the ssl*.h headers. Comments in these files look like they were created by Sun, or a Sun-provided system (they look auto- generated, and are "Copyright 2005 Sun Microsystems, Inc").

Let me know if you need more information, I'm happy to provide anything I can.

Jamie