Using -lssh as shared library

Nicolas Williams Nicolas.Williams at
Tue Oct 9 01:44:17 EST 2001

On Mon, Oct 08, 2001 at 03:21:56AM +0400, Michael Tokarev wrote:
> Hello!  This is my first post to this list... ;)


> Adding real shared lib suport into makefile(s) will require to
> create separate directory for libssh, or to use some other
> extension instead of .o for all it's components, due to difference
> in compiler flags (-fPIC for gcc is needed to compile position-
> independant code), and those flags together with command to make
> shared lib are very platform-dependant.

Others deal with this problem by using extensions other than .o for PIC
objects, such as .po or .lo. Look at libtool for example.

So you can setup .c.po rules and have libssh.$(SH_EXT) depend on the .po
objects and libssh.a depend on the .o objects, and so on and on.

This is the best way to go, IMHO.

That said, I wonder about the wisdom of this as libssh is a library
internal to OpenSSH, and is not meant to be used by others. But if you
install a shared library it may well lead some to think it's an API.

Also, most of those other programs included with OpenSSH are rarely run,
so that there's little performance or memory footprint savings to gain
from making libssh.a a shared object instead.

> Thank you for great product!
> Regards,
>  Michael.


-DISCLAIMER: an automatically appended disclaimer may follow. By posting-
-to a public e-mail mailing list I hereby grant permission to distribute-
-and copy this message.-

Visit our website at

This message contains confidential information and is intended only 
for the individual named.  If you are not the named addressee you 
should not disseminate, distribute or copy this e-mail.  Please 
notify the sender immediately by e-mail if you have received this 
e-mail by mistake and delete this e-mail from your system.

E-mail transmission cannot be guaranteed to be secure or error-free 
as information could be intercepted, corrupted, lost, destroyed, 
arrive late or incomplete, or contain viruses.  The sender therefore 
does not accept liability for any errors or omissions in the contents 
of this message which arise as a result of e-mail transmission.  If 
verification is required please request a hard-copy version.  This 
message is provided for informational purposes and should not be 
construed as a solicitation or offer to buy or sell any securities or 
related financial instruments.

More information about the openssh-unix-dev mailing list