[erlang-questions] Why doesn't ssh module start crypto module?

Niclas Eklund <>
Tue Jul 7 15:05:35 CEST 2009


Hello!

The 'applications' value shall list other applications that the 
application depends on. If the required applicatios hans't been started an 
error message is returned.

Why doesn't SSH start crypto? For example might other applications also 
depend on crypto and the required type (permanent | transient | temporary) 
may differ. Another reason is that many applications export specific start 
functions (Mnesia, SSL, Orber etc) which in some cases require 
configuration parameters. Typically these functions do more stuff than 
just invoking application:start/1/2. Hence, you should use ssh:start/1/2 
instead.

Also consider that if application A depends on that B is started. If B is 
updated and require that application C i started prior to B. In that case 
A must be patched so that it starts not only B but also C. I hope you see 
my point why SSH shall not start Crypto ;-)

The short version, you must start the other applications in your code.

Best Regards,

Niclas @ Erlang/OTP


On Mon, 6 Jul 2009, Matt Reynolds wrote:

> Am I misunderstanding the use of the "applications" atom in the
> Applications configuration
> (http://erlang.org/doc/design_principles/applications.html)?
>
> Erlang R13B01 (erts-5.7.2) [source] [smp:2:2] [rq:2] [async-threads:0]
> [kernel-poll:false]
>
> Eshell V5.7.2  (abort with ^G)
> 1> application:start(ssh).
> {error,{not_started,crypto}}
>
> Does the "applications" configuration simply specify what must be
> started first, without starting those modules?  So the Application
> specifying dependencies must start it itself?  If so, why doesn't SSH
> start crypto?
>
> ________________________________________________________________
> erlang-questions mailing list. See http://www.erlang.org/faq.html
> erlang-questions (at) erlang.org
>




More information about the erlang-questions mailing list