Details
Description
Most Linux distros have moved on to OpenSSL 1.0 and later versions. Couchbase Server (the überpackage) is still linking against a very old OpenSSL, and thus even our latest 2.0 builds don't work against year-old Linux distros out of the box. This will be a bigger problem in April, when Ubuntu Oneric ships and doesn't even have 0.9.8 in it's distro. I know it won't be supported, but developers will try to use it and be cut off from Couchbase Server if we don't resolve the issue.
From the bug reporter:
$ sudo dpkg -i couchbase-server-community_x86_64_2.0.0-dev-preview-3.deb
Selecting previously unselected package couchbase-server.
(Reading database ... 394120 files and directories currently installed.)
Unpacking couchbase-server (from
couchbase-server-community_x86_64_2.0.0-dev-preview-3.deb) ...
dpkg: dependency problems prevent configuration of couchbase-server:
couchbase-server depends on libssl0.9.8 (>= 0.9.8f-5); however:
Package libssl0.9.8 is not installed.
dpkg: error processing couchbase-server (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
couchbase-server
Ubuntu Natty (11.10) also have openssl 0.9.8
http://packages.ubuntu.com/natty/utils/openssl
But next version which is coming soon (Ubuntu Oneiric 12.04) as like
Debian unstable already use 1.0.0e
http://packages.ubuntu.com/oneiric/openssl
Generally it isn't a problem now, but in the April :)
See alsoMB-4497, where the decision at the time was won't fix.
From the bug reporter:
$ sudo dpkg -i couchbase-server-community_x86_64_2.0.0-dev-preview-3.deb
Selecting previously unselected package couchbase-server.
(Reading database ... 394120 files and directories currently installed.)
Unpacking couchbase-server (from
couchbase-server-community_x86_64_2.0.0-dev-preview-3.deb) ...
dpkg: dependency problems prevent configuration of couchbase-server:
couchbase-server depends on libssl0.9.8 (>= 0.9.8f-5); however:
Package libssl0.9.8 is not installed.
dpkg: error processing couchbase-server (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
couchbase-server
Ubuntu Natty (11.10) also have openssl 0.9.8
http://packages.ubuntu.com/natty/utils/openssl
But next version which is coming soon (Ubuntu Oneiric 12.04) as like
Debian unstable already use 1.0.0e
http://packages.ubuntu.com/oneiric/openssl
Generally it isn't a problem now, but in the April :)
See also
Activity
- All
- Comments
- Work Log
- History
- Activity
- Gerrit Reviews
Hide
Sergey Avseyev
added a comment -
yes, but in case of Debian, it doesn't allow to install both versions (at least on mine)
Show
Sergey Avseyev
added a comment - yes, but in case of Debian, it doesn't allow to install both versions (at least on mine)
Hide
Sergey Avseyev
added a comment -
Thanks, Aliaksey. it's possible to install both versions of libssl
Show
Sergey Avseyev
added a comment - Thanks, Aliaksey. it's possible to install both versions of libssl
Hide
Matt Ingenthron
added a comment -
Should we really call this fixed? It was "won't fix" for 1.8.0. We have a workaround, but it's still not pretty and will affect more users as time goes on. Reopening since the larger question needs to be addressed at some point, and hopefully before 2.0.
Show
Matt Ingenthron
added a comment - Should we really call this fixed? It was "won't fix" for 1.8.0. We have a workaround, but it's still not pretty and will affect more users as time goes on. Reopening since the larger question needs to be addressed at some point, and hopefully before 2.0.
Show
Sergey Avseyev
added a comment - Ok, I just wanted to say it is works for me :)
Hide
Farshid Ghods
added a comment -
1.8.0 release does not depend on openssl anymore so the status is "fixed" there.
for 2.0 we depend on openssl and build machine is 10.04 which means it builds on top of openssl 0.998 but ubuntu oneiric ships opensll 1.0.0.
to fix this problem
1- we have to build on ubuntu 10 and ubuntu 11 separately and have seperate deb packages for them
2- build openssl as part of our packaging system which if i recall we can't do that due to some export issues with openssl
so to install couchbase server on ubuntu 11 or 12 the user has to install the right openssl version
for 2.0 we depend on openssl and build machine is 10.04 which means it builds on top of openssl 0.998 but ubuntu oneiric ships opensll 1.0.0.
to fix this problem
1- we have to build on ubuntu 10 and ubuntu 11 separately and have seperate deb packages for them
2- build openssl as part of our packaging system which if i recall we can't do that due to some export issues with openssl
so to install couchbase server on ubuntu 11 or 12 the user has to install the right openssl version
Show
Farshid Ghods
added a comment - 1.8.0 release does not depend on openssl anymore so the status is "fixed" there.
for 2.0 we depend on openssl and build machine is 10.04 which means it builds on top of openssl 0.998 but ubuntu oneiric ships opensll 1.0.0.
to fix this problem
1- we have to build on ubuntu 10 and ubuntu 11 separately and have seperate deb packages for them
2- build openssl as part of our packaging system which if i recall we can't do that due to some export issues with openssl
so to install couchbase server on ubuntu 11 or 12 the user has to install the right openssl version
Hide
Farshid Ghods
added a comment -
let's choose between the two options listed in the last comment
Show
Farshid Ghods
added a comment - let's choose between the two options listed in the last comment
Show
Dipti Borkar
added a comment - option 1 is the way to go.
Hide
Andrei Baranouski
added a comment -
build 1837, ubuntu12.04 amazon instance:
openssl version
OpenSSL 1.0.1 14 Mar 2012
2012-10-11 16:30:41,087 - root - INFO - running command.raw sudo dpkg -i /tmp/couchbase-server-enterprise_x86_64_2.0.0-1823-rel.deb
2012-10-11 16:30:41,256 - paramiko.transport - INFO - Secsh channel 37 opened.
2012-10-11 16:30:41,301 - paramiko.transport.sftp - INFO - [chan 23] Opened sftp connection (server version 3)
2012-10-11 16:30:44,153 - paramiko.transport - INFO - Secsh channel 24 opened.
2012-10-11 16:30:44,294 - root - INFO - running command.raw sudo cat /proc/cpuinfo
2012-10-11 16:30:44,576 - paramiko.transport - INFO - Secsh channel 25 opened.
2012-10-11 16:30:44,869 - root - INFO - command executed successfully
2012-10-11 16:30:44,869 - root - INFO - running command.raw sudo df -Th
2012-10-11 16:30:45,152 - paramiko.transport - INFO - Secsh channel 26 opened.
2012-10-11 16:30:45,444 - root - INFO - command executed successfully
2012-10-11 16:30:45,444 - root - INFO - running command.raw sudo cat /proc/meminfo
2012-10-11 16:30:45,732 - paramiko.transport - INFO - Secsh channel 27 opened.
2012-10-11 16:30:46,020 - root - INFO - command executed successfully
2012-10-11 16:30:46,020 - root - INFO - running command.raw hostname
2012-10-11 16:30:46,306 - paramiko.transport - INFO - Secsh channel 28 opened.
2012-10-11 16:30:46,586 - root - INFO - command executed successfully
2012-10-11 16:30:46,587 - root - INFO - running command.raw sudo /sbin/iptables -t nat -F
2012-10-11 16:30:46,867 - paramiko.transport - INFO - Secsh channel 29 opened.
2012-10-11 16:30:47,161 - root - INFO - command executed successfully
2012-10-11 16:30:47,441 - paramiko.transport - INFO - Secsh channel 30 opened.
2012-10-11 16:30:47,717 - paramiko.transport.sftp - INFO - [chan 30] Opened sftp connection (server version 3)
2012-10-11 16:30:47,963 - root - INFO - command executed successfully
2012-10-11 16:30:47,964 - root - INFO - * Failed to start couchbase-server
2012-10-11 16:30:47,964 - root - INFO - wait 5 seconds for membase server to start
2012-10-11 16:30:48,208 - paramiko.transport.sftp - INFO - [chan 30] sftp session closed.
2012-10-11 16:30:48,450 - paramiko.transport - INFO - Secsh channel 31 opened.
2012-10-11 16:30:48,725 - paramiko.transport.sftp - INFO - [chan 31] Opened sftp connection (server version 3)
2012-10-11 16:30:50,498 - root - INFO - command executed successfully
sudo /etc/init.d/couchbase-server start
* Failed to start couchbase-server
$ sudo ./couchbase-server start
The maximum number of open files for the couchbase user is set too low.
It must be at least 10240. Normally this can be increased by adding
the following lines to /etc/security/limits.conf:
couchbase soft nofile <value>
couchbase hard nofile <value>
Where <value> is greater than 10240.
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:16] [kernel-poll:true]
Eshell V5.8.5 (abort with ^G)
1> {error_logger,{{2012,10,11},{14,3,19}},"Unable to load crypto library. Failed with error:~n\"~p, ~s\"~nOpenSSL might not be installed on this system.~n",[load_failed,"Failed to load NIF library /opt/couchbase/lib/erlang/lib/crypto-2.0.4/priv/lib/crypto: 'libcrypto.so.0.9.8: cannot open shared object file: No such file or directory'"]}
{error_logger,{{2012,10,11},{14,3,19}},crash_report,[[{initial_call,{lhttpc_manager,init,['Argument__1']}},{pid,<0.193.0>},{registered_name,[]},{error_info,{exit,{undef,[{crypto,rand_bytes,"�"},{lhttpc_manager,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[lhttpc_sup,<0.191.0>]},{messages,[]},{links,[<0.192.0>]},{dictionary,[]},{trap_exit,false},{status,running},{heap_size,610},{stack_size,24},{reductions,153}],[]]}
{error_logger,{{2012,10,11},{14,3,19}},"The on_load function for module ~s returned ~P\n",[crypto,{error,{load_failed,"Failed to load NIF library /opt/couchbase/lib/erlang/lib/crypto-2.0.4/priv/lib/crypto: 'libcrypto.so.0.9.8: cannot open shared object file: No such file or directory'"}},10]}
{error_logger,{{2012,10,11},{14,3,19}},supervisor_report,[{supervisor,{local,lhttpc_sup}},{errorContext,start_error},{reason,{undef,[{crypto,rand_bytes,"�"},{lhttpc_manager,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{offender,[{pid,undefined},{name,lhttpc_manager},{mfargs,{lhttpc_manager,start_link,[[{name,lhttpc_manager}]]}},{restart_type,permanent},{shutdown,10000},{child_type,worker}]}]}
{error_logger,{{2012,10,11},{14,3,19}},std_info,[{application,lhttpc},{exited,{shutdown,{lhttpc,start,[normal,nil]}}},{type,temporary}]}
{error_logger,{{2012,10,11},{14,3,19}},supervisor_report,[{supervisor,{local,cb_couch_sup}},{errorContext,start_error},{reason,{app_would_not_start,lhttpc}},{offender,[{pid,undefined},{name,couch_app},{mfargs,{couch_app,start,[fake,["/opt/couchbase/etc/couchdb/default.ini","/opt/couchbase/etc/couchdb/local.ini"]]}},{restart_type,permanent},{shutdown,5000},{child_type,supervisor}]}]}
{error_logger,{{2012,10,11},{14,3,19}},supervisor_report,[{supervisor,{local,ns_server_cluster_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,cb_couch_sup},{mfargs,{cb_couch_sup,start_link,[]}},{restart_type,permanent},{shutdown,5000},{child_type,supervisor}]}]}
{error_logger,{{2012,10,11},{14,3,19}},std_info,[{application,ns_server},{exited,{shutdown,{ns_server,start,[normal,[]]}}},{type,temporary}]}
{"init terminating in do_boot",{{badmatch,{error,{shutdown,{ns_server,start,[normal,[]]}}}},[{init,start_it,1},{init,start_em,1}]}}
/opt/couchbase/lib/erlang/lib/os_mon-2.2.7/priv/bin/memsup: Erlang has closed.
Erlang has closed
Crash dump was written to: erl_crash.dump.10-11-2012-14:03:17.6984
openssl version
OpenSSL 1.0.1 14 Mar 2012
2012-10-11 16:30:41,087 - root - INFO - running command.raw sudo dpkg -i /tmp/couchbase-server-enterprise_x86_64_2.0.0-1823-rel.deb
2012-10-11 16:30:41,256 - paramiko.transport - INFO - Secsh channel 37 opened.
2012-10-11 16:30:41,301 - paramiko.transport.sftp - INFO - [chan 23] Opened sftp connection (server version 3)
2012-10-11 16:30:44,153 - paramiko.transport - INFO - Secsh channel 24 opened.
2012-10-11 16:30:44,294 - root - INFO - running command.raw sudo cat /proc/cpuinfo
2012-10-11 16:30:44,576 - paramiko.transport - INFO - Secsh channel 25 opened.
2012-10-11 16:30:44,869 - root - INFO - command executed successfully
2012-10-11 16:30:44,869 - root - INFO - running command.raw sudo df -Th
2012-10-11 16:30:45,152 - paramiko.transport - INFO - Secsh channel 26 opened.
2012-10-11 16:30:45,444 - root - INFO - command executed successfully
2012-10-11 16:30:45,444 - root - INFO - running command.raw sudo cat /proc/meminfo
2012-10-11 16:30:45,732 - paramiko.transport - INFO - Secsh channel 27 opened.
2012-10-11 16:30:46,020 - root - INFO - command executed successfully
2012-10-11 16:30:46,020 - root - INFO - running command.raw hostname
2012-10-11 16:30:46,306 - paramiko.transport - INFO - Secsh channel 28 opened.
2012-10-11 16:30:46,586 - root - INFO - command executed successfully
2012-10-11 16:30:46,587 - root - INFO - running command.raw sudo /sbin/iptables -t nat -F
2012-10-11 16:30:46,867 - paramiko.transport - INFO - Secsh channel 29 opened.
2012-10-11 16:30:47,161 - root - INFO - command executed successfully
2012-10-11 16:30:47,441 - paramiko.transport - INFO - Secsh channel 30 opened.
2012-10-11 16:30:47,717 - paramiko.transport.sftp - INFO - [chan 30] Opened sftp connection (server version 3)
2012-10-11 16:30:47,963 - root - INFO - command executed successfully
2012-10-11 16:30:47,964 - root - INFO - * Failed to start couchbase-server
2012-10-11 16:30:47,964 - root - INFO - wait 5 seconds for membase server to start
2012-10-11 16:30:48,208 - paramiko.transport.sftp - INFO - [chan 30] sftp session closed.
2012-10-11 16:30:48,450 - paramiko.transport - INFO - Secsh channel 31 opened.
2012-10-11 16:30:48,725 - paramiko.transport.sftp - INFO - [chan 31] Opened sftp connection (server version 3)
2012-10-11 16:30:50,498 - root - INFO - command executed successfully
sudo /etc/init.d/couchbase-server start
* Failed to start couchbase-server
$ sudo ./couchbase-server start
The maximum number of open files for the couchbase user is set too low.
It must be at least 10240. Normally this can be increased by adding
the following lines to /etc/security/limits.conf:
couchbase soft nofile <value>
couchbase hard nofile <value>
Where <value> is greater than 10240.
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:16] [kernel-poll:true]
Eshell V5.8.5 (abort with ^G)
1> {error_logger,{{2012,10,11},{14,3,19}},"Unable to load crypto library. Failed with error:~n\"~p, ~s\"~nOpenSSL might not be installed on this system.~n",[load_failed,"Failed to load NIF library /opt/couchbase/lib/erlang/lib/crypto-2.0.4/priv/lib/crypto: 'libcrypto.so.0.9.8: cannot open shared object file: No such file or directory'"]}
{error_logger,{{2012,10,11},{14,3,19}},crash_report,[[{initial_call,{lhttpc_manager,init,['Argument__1']}},{pid,<0.193.0>},{registered_name,[]},{error_info,{exit,{undef,[{crypto,rand_bytes,"�"},{lhttpc_manager,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[lhttpc_sup,<0.191.0>]},{messages,[]},{links,[<0.192.0>]},{dictionary,[]},{trap_exit,false},{status,running},{heap_size,610},{stack_size,24},{reductions,153}],[]]}
{error_logger,{{2012,10,11},{14,3,19}},"The on_load function for module ~s returned ~P\n",[crypto,{error,{load_failed,"Failed to load NIF library /opt/couchbase/lib/erlang/lib/crypto-2.0.4/priv/lib/crypto: 'libcrypto.so.0.9.8: cannot open shared object file: No such file or directory'"}},10]}
{error_logger,{{2012,10,11},{14,3,19}},supervisor_report,[{supervisor,{local,lhttpc_sup}},{errorContext,start_error},{reason,{undef,[{crypto,rand_bytes,"�"},{lhttpc_manager,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{offender,[{pid,undefined},{name,lhttpc_manager},{mfargs,{lhttpc_manager,start_link,[[{name,lhttpc_manager}]]}},{restart_type,permanent},{shutdown,10000},{child_type,worker}]}]}
{error_logger,{{2012,10,11},{14,3,19}},std_info,[{application,lhttpc},{exited,{shutdown,{lhttpc,start,[normal,nil]}}},{type,temporary}]}
{error_logger,{{2012,10,11},{14,3,19}},supervisor_report,[{supervisor,{local,cb_couch_sup}},{errorContext,start_error},{reason,{app_would_not_start,lhttpc}},{offender,[{pid,undefined},{name,couch_app},{mfargs,{couch_app,start,[fake,["/opt/couchbase/etc/couchdb/default.ini","/opt/couchbase/etc/couchdb/local.ini"]]}},{restart_type,permanent},{shutdown,5000},{child_type,supervisor}]}]}
{error_logger,{{2012,10,11},{14,3,19}},supervisor_report,[{supervisor,{local,ns_server_cluster_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,cb_couch_sup},{mfargs,{cb_couch_sup,start_link,[]}},{restart_type,permanent},{shutdown,5000},{child_type,supervisor}]}]}
{error_logger,{{2012,10,11},{14,3,19}},std_info,[{application,ns_server},{exited,{shutdown,{ns_server,start,[normal,[]]}}},{type,temporary}]}
{"init terminating in do_boot",{{badmatch,{error,{shutdown,{ns_server,start,[normal,[]]}}}},[{init,start_it,1},{init,start_em,1}]}}
/opt/couchbase/lib/erlang/lib/os_mon-2.2.7/priv/bin/memsup: Erlang has closed.
Erlang has closed
Crash dump was written to: erl_crash.dump.10-11-2012-14:03:17.6984
Show
Andrei Baranouski
added a comment - build 1837, ubuntu12.04 amazon instance:
openssl version
OpenSSL 1.0.1 14 Mar 2012
2012-10-11 16:30:41,087 - root - INFO - running command.raw sudo dpkg -i /tmp/couchbase-server-enterprise_x86_64_2.0.0-1823-rel.deb
2012-10-11 16:30:41,256 - paramiko.transport - INFO - Secsh channel 37 opened.
2012-10-11 16:30:41,301 - paramiko.transport.sftp - INFO - [chan 23] Opened sftp connection (server version 3)
2012-10-11 16:30:44,153 - paramiko.transport - INFO - Secsh channel 24 opened.
2012-10-11 16:30:44,294 - root - INFO - running command.raw sudo cat /proc/cpuinfo
2012-10-11 16:30:44,576 - paramiko.transport - INFO - Secsh channel 25 opened.
2012-10-11 16:30:44,869 - root - INFO - command executed successfully
2012-10-11 16:30:44,869 - root - INFO - running command.raw sudo df -Th
2012-10-11 16:30:45,152 - paramiko.transport - INFO - Secsh channel 26 opened.
2012-10-11 16:30:45,444 - root - INFO - command executed successfully
2012-10-11 16:30:45,444 - root - INFO - running command.raw sudo cat /proc/meminfo
2012-10-11 16:30:45,732 - paramiko.transport - INFO - Secsh channel 27 opened.
2012-10-11 16:30:46,020 - root - INFO - command executed successfully
2012-10-11 16:30:46,020 - root - INFO - running command.raw hostname
2012-10-11 16:30:46,306 - paramiko.transport - INFO - Secsh channel 28 opened.
2012-10-11 16:30:46,586 - root - INFO - command executed successfully
2012-10-11 16:30:46,587 - root - INFO - running command.raw sudo /sbin/iptables -t nat -F
2012-10-11 16:30:46,867 - paramiko.transport - INFO - Secsh channel 29 opened.
2012-10-11 16:30:47,161 - root - INFO - command executed successfully
2012-10-11 16:30:47,441 - paramiko.transport - INFO - Secsh channel 30 opened.
2012-10-11 16:30:47,717 - paramiko.transport.sftp - INFO - [chan 30] Opened sftp connection (server version 3)
2012-10-11 16:30:47,963 - root - INFO - command executed successfully
2012-10-11 16:30:47,964 - root - INFO - * Failed to start couchbase-server
2012-10-11 16:30:47,964 - root - INFO - wait 5 seconds for membase server to start
2012-10-11 16:30:48,208 - paramiko.transport.sftp - INFO - [chan 30] sftp session closed.
2012-10-11 16:30:48,450 - paramiko.transport - INFO - Secsh channel 31 opened.
2012-10-11 16:30:48,725 - paramiko.transport.sftp - INFO - [chan 31] Opened sftp connection (server version 3)
2012-10-11 16:30:50,498 - root - INFO - command executed successfully
sudo /etc/init.d/couchbase-server start
* Failed to start couchbase-server
$ sudo ./couchbase-server start
The maximum number of open files for the couchbase user is set too low.
It must be at least 10240. Normally this can be increased by adding
the following lines to /etc/security/limits.conf:
couchbase soft nofile <value>
couchbase hard nofile <value>
Where <value> is greater than 10240.
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:16] [kernel-poll:true]
Eshell V5.8.5 (abort with ^G)
1> {error_logger,{{2012,10,11},{14,3,19}},"Unable to load crypto library. Failed with error:~n\"~p, ~s\"~nOpenSSL might not be installed on this system.~n",[load_failed,"Failed to load NIF library /opt/couchbase/lib/erlang/lib/crypto-2.0.4/priv/lib/crypto: 'libcrypto.so.0.9.8: cannot open shared object file: No such file or directory'"]}
{error_logger,{{2012,10,11},{14,3,19}},crash_report,[[{initial_call,{lhttpc_manager,init,['Argument__1']}},{pid,<0.193.0>},{registered_name,[]},{error_info,{exit,{undef,[{crypto,rand_bytes,"�"},{lhttpc_manager,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[lhttpc_sup,<0.191.0>]},{messages,[]},{links,[<0.192.0>]},{dictionary,[]},{trap_exit,false},{status,running},{heap_size,610},{stack_size,24},{reductions,153}],[]]}
{error_logger,{{2012,10,11},{14,3,19}},"The on_load function for module ~s returned ~P\n",[crypto,{error,{load_failed,"Failed to load NIF library /opt/couchbase/lib/erlang/lib/crypto-2.0.4/priv/lib/crypto: 'libcrypto.so.0.9.8: cannot open shared object file: No such file or directory'"}},10]}
{error_logger,{{2012,10,11},{14,3,19}},supervisor_report,[{supervisor,{local,lhttpc_sup}},{errorContext,start_error},{reason,{undef,[{crypto,rand_bytes,"�"},{lhttpc_manager,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{offender,[{pid,undefined},{name,lhttpc_manager},{mfargs,{lhttpc_manager,start_link,[[{name,lhttpc_manager}]]}},{restart_type,permanent},{shutdown,10000},{child_type,worker}]}]}
{error_logger,{{2012,10,11},{14,3,19}},std_info,[{application,lhttpc},{exited,{shutdown,{lhttpc,start,[normal,nil]}}},{type,temporary}]}
{error_logger,{{2012,10,11},{14,3,19}},supervisor_report,[{supervisor,{local,cb_couch_sup}},{errorContext,start_error},{reason,{app_would_not_start,lhttpc}},{offender,[{pid,undefined},{name,couch_app},{mfargs,{couch_app,start,[fake,["/opt/couchbase/etc/couchdb/default.ini","/opt/couchbase/etc/couchdb/local.ini"]]}},{restart_type,permanent},{shutdown,5000},{child_type,supervisor}]}]}
{error_logger,{{2012,10,11},{14,3,19}},supervisor_report,[{supervisor,{local,ns_server_cluster_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,cb_couch_sup},{mfargs,{cb_couch_sup,start_link,[]}},{restart_type,permanent},{shutdown,5000},{child_type,supervisor}]}]}
{error_logger,{{2012,10,11},{14,3,19}},std_info,[{application,ns_server},{exited,{shutdown,{ns_server,start,[normal,[]]}}},{type,temporary}]}
{"init terminating in do_boot",{{badmatch,{error,{shutdown,{ns_server,start,[normal,[]]}}}},[{init,start_it,1},{init,start_em,1}]}}
/opt/couchbase/lib/erlang/lib/os_mon-2.2.7/priv/bin/memsup: Erlang has closed.
Erlang has closed
Crash dump was written to: erl_crash.dump.10-11-2012-14:03:17.6984
Hide
Farshid Ghods
added a comment -
Andrei i have tried installing couchbase on ubuntu 12.04.1 and it failed to install
dpkg: dependency problems prevent configuration of couchbase-server:
couchbase-server depends on libssl0.9.8 (>= 0.9.8k-1); however:
Package libssl0.9.8 is not installed.
dpkg: error processing couchbase-server (--install):
dependency problems - leaving unconfigured
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.2.0-29-virtual
Processing triggers for ureadahead ...
Errors were encountered while processing:
couchbase-server
ubuntu@domU-12-31-39-14-FA-39:~$ ^C
ubuntu@domU-12-31-39-14-FA-39:~$ cat /etc/issue
Ubuntu 12.04.1 LTS \n \l
dpkg: dependency problems prevent configuration of couchbase-server:
couchbase-server depends on libssl0.9.8 (>= 0.9.8k-1); however:
Package libssl0.9.8 is not installed.
dpkg: error processing couchbase-server (--install):
dependency problems - leaving unconfigured
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.2.0-29-virtual
Processing triggers for ureadahead ...
Errors were encountered while processing:
couchbase-server
ubuntu@domU-12-31-39-14-FA-39:~$ ^C
ubuntu@domU-12-31-39-14-FA-39:~$ cat /etc/issue
Ubuntu 12.04.1 LTS \n \l
Show
Farshid Ghods
added a comment - Andrei i have tried installing couchbase on ubuntu 12.04.1 and it failed to install
dpkg: dependency problems prevent configuration of couchbase-server:
couchbase-server depends on libssl0.9.8 (>= 0.9.8k-1); however:
Package libssl0.9.8 is not installed.
dpkg: error processing couchbase-server (--install):
dependency problems - leaving unconfigured
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.2.0-29-virtual
Processing triggers for ureadahead ...
Errors were encountered while processing:
couchbase-server
ubuntu@domU-12-31-39-14-FA-39 :~$ ^C
ubuntu@domU-12-31-39-14-FA-39 :~$ cat /etc/issue
Ubuntu 12.04.1 LTS \n \l
Hide
Pavel Paulau
added a comment -
In fact Ubuntu 12.04 allows you to install both 1.0 and 0.9.8, just:
apt-get install libssl0.9.8
$ grep -v "#" /etc/apt/sources.list
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise main
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise main
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates main
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates main
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise universe
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe
deb http://security.ubuntu.com/ubuntu precise-security main
deb-src http://security.ubuntu.com/ubuntu precise-security main
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Codename: precise
It looks like documentation problem because we don't warn users about this dependency.
And apparently CentOS 6.x users by default don't have openssl installed:
$ rpm -i couchbase-server-enterprise_x86_64_2.0.0-1723-rel.rpm
error: Failed dependencies:
libcrypto.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
libssl.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
And this helps:
$ yum install openssl098e
apt-get install libssl0.9.8
$ grep -v "#" /etc/apt/sources.list
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise main
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise main
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates main
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates main
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise universe
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe
deb http://security.ubuntu.com/ubuntu precise-security main
deb-src http://security.ubuntu.com/ubuntu precise-security main
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Codename: precise
It looks like documentation problem because we don't warn users about this dependency.
And apparently CentOS 6.x users by default don't have openssl installed:
$ rpm -i couchbase-server-enterprise_x86_64_2.0.0-1723-rel.rpm
error: Failed dependencies:
libcrypto.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
libssl.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
And this helps:
$ yum install openssl098e
Show
Pavel Paulau
added a comment - In fact Ubuntu 12.04 allows you to install both 1.0 and 0.9.8, just:
apt-get install libssl0.9.8
$ grep -v "#" /etc/apt/sources.list
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise main
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise main
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates main
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates main
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise universe
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe
deb http://security.ubuntu.com/ubuntu precise-security main
deb-src http://security.ubuntu.com/ubuntu precise-security main
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Codename: precise
It looks like documentation problem because we don't warn users about this dependency.
And apparently CentOS 6.x users by default don't have openssl installed:
$ rpm -i couchbase-server-enterprise_x86_64_2.0.0-1723-rel.rpm
error: Failed dependencies:
libcrypto.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
libssl.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
And this helps:
$ yum install openssl098e
Hide
Matt Ingenthron
added a comment -
Just checking, but the reason for doing packages is so you can describe dependencies, right? This shouldn't be a documentation level issue-- our package should describe these dependencies and thus people won't have DOA servers because they've neglected to install dependencies.
Also note that if we were using repositories, dependencies would be automatically resolved.
Also note that if we were using repositories, dependencies would be automatically resolved.
Show
Matt Ingenthron
added a comment - Just checking, but the reason for doing packages is so you can describe dependencies, right? This shouldn't be a documentation level issue-- our package should describe these dependencies and thus people won't have DOA servers because they've neglected to install dependencies.
Also note that if we were using repositories, dependencies would be automatically resolved.
Hide
Pavel Paulau
added a comment -
If nobody is *really* fixing this package issue before 2.0 release (options 1 or 2, whatever), it sounds like documentation issue to me. It shouldn't be, but it is.
I don't know, probably we have a plan to fix that. In this case please assign the bug to right person.
I don't know, probably we have a plan to fix that. In this case please assign the bug to right person.
Show
Pavel Paulau
added a comment - If nobody is *really* fixing this package issue before 2.0 release (options 1 or 2, whatever), it sounds like documentation issue to me. It shouldn't be, but it is.
I don't know, probably we have a plan to fix that. In this case please assign the bug to right person.
Hide
Farshid Ghods
added a comment -
so Matt is right , the 1.8.0 and 1.8.1 users which upgrade to 2.0 will hit this issue because of openssl dependency.
with proper documentation we will notify the users about this requirement.
one thing it would be nice to fix is not starting any of the pre or post installation scripts if this situation exists.
with proper documentation we will notify the users about this requirement.
one thing it would be nice to fix is not starting any of the pre or post installation scripts if this situation exists.
Show
Farshid Ghods
added a comment - so Matt is right , the 1.8.0 and 1.8.1 users which upgrade to 2.0 will hit this issue because of openssl dependency.
with proper documentation we will notify the users about this requirement.
one thing it would be nice to fix is not starting any of the pre or post installation scripts if this situation exists.
Hide
Pavel Paulau
added a comment -
Just a small clarification:
"1.8.0 and 1.8.1 users which upgrade to 2.0 will hit this issue" only on CentOS 6.x and Ubuntu 12.04.
"1.8.0 and 1.8.1 users which upgrade to 2.0 will hit this issue" only on CentOS 6.x and Ubuntu 12.04.
Show
Pavel Paulau
added a comment - Just a small clarification:
"1.8.0 and 1.8.1 users which upgrade to 2.0 will hit this issue" only on CentOS 6.x and Ubuntu 12.04.
Hide
Pavel Paulau
added a comment -
Actually we have that metadata in our package, for instance:
$ dpkg --info couchbase-server-enterprise_x86_64_2.0.0-1861-rel.deb
...
Depends: libc6 (>= 2.11), libgcc1 (>= 1:4.1.1), libncurses5 (>= 5.6+20071006-3), libssl0.9.8 (>= 0.9.8k-1), libstdc++6 (>= 4.4.0), zlib1g (>= 1:1.1.4), lsb-base (>= 3.2)
...
And bug summary is incorrect, installation doesn't succeed:
dependency problems - leaving unconfigured
$ dpkg -l couchbase-server
...
iU couchbase-server 2.0.0 Couchbase Server
In means that only unpack phase passed. As far as I know dpkg doesn't have dependency support.
Package manager triggers couchbase setup if user manually install missing package. And only then upgrade happens.
Smarter package managers work as expected:
$ gdebi --q couchbase-server-enterprise_x86_64_2.0.0-1861-rel.deb
Requires the installation of the following packages:
libssl0.9.8
Couchbase Server
Couchbase Server is the leading distribution of memcached and
couchbase, created and supported by top contributors to the memcached
and couchbase open source projects.
Do you want to install the software package? [y/N]:y
Fetched 0 B in 0s (0 B/s)
Preconfiguring packages ...
Preconfiguring packages ...
Selecting previously unselected package libssl0.9.8.
(Reading database ... 40101 files and directories currently installed.)
Unpacking libssl0.9.8 (from .../libssl0.9.8_0.9.8o-7ubuntu3.1_amd64.deb) ...
Setting up libssl0.9.8 (0.9.8o-7ubuntu3.1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Selecting previously unselected package couchbase-server.
(Reading database ... 40125 files and directories currently installed.)
Unpacking couchbase-server (from couchbase-server-enterprise_x86_64_2.0.0-1861-rel.deb) ...
Setting up couchbase-server (2.0.0) ...
* Started couchbase-server
....
$ dpkg --info couchbase-server-enterprise_x86_64_2.0.0-1861-rel.deb
...
Depends: libc6 (>= 2.11), libgcc1 (>= 1:4.1.1), libncurses5 (>= 5.6+20071006-3), libssl0.9.8 (>= 0.9.8k-1), libstdc++6 (>= 4.4.0), zlib1g (>= 1:1.1.4), lsb-base (>= 3.2)
...
And bug summary is incorrect, installation doesn't succeed:
dependency problems - leaving unconfigured
$ dpkg -l couchbase-server
...
iU couchbase-server 2.0.0 Couchbase Server
In means that only unpack phase passed. As far as I know dpkg doesn't have dependency support.
Package manager triggers couchbase setup if user manually install missing package. And only then upgrade happens.
Smarter package managers work as expected:
$ gdebi --q couchbase-server-enterprise_x86_64_2.0.0-1861-rel.deb
Requires the installation of the following packages:
libssl0.9.8
Couchbase Server
Couchbase Server is the leading distribution of memcached and
couchbase, created and supported by top contributors to the memcached
and couchbase open source projects.
Do you want to install the software package? [y/N]:y
Fetched 0 B in 0s (0 B/s)
Preconfiguring packages ...
Preconfiguring packages ...
Selecting previously unselected package libssl0.9.8.
(Reading database ... 40101 files and directories currently installed.)
Unpacking libssl0.9.8 (from .../libssl0.9.8_0.9.8o-7ubuntu3.1_amd64.deb) ...
Setting up libssl0.9.8 (0.9.8o-7ubuntu3.1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Selecting previously unselected package couchbase-server.
(Reading database ... 40125 files and directories currently installed.)
Unpacking couchbase-server (from couchbase-server-enterprise_x86_64_2.0.0-1861-rel.deb) ...
Setting up couchbase-server (2.0.0) ...
* Started couchbase-server
....
Show
Pavel Paulau
added a comment - Actually we have that metadata in our package, for instance:
$ dpkg --info couchbase-server-enterprise_x86_64_2.0.0-1861-rel.deb
...
Depends: libc6 (>= 2.11), libgcc1 (>= 1:4.1.1), libncurses5 (>= 5.6+20071006-3), libssl0.9.8 (>= 0.9.8k-1), libstdc++6 (>= 4.4.0), zlib1g (>= 1:1.1.4), lsb-base (>= 3.2)
...
And bug summary is incorrect, installation doesn't succeed:
dependency problems - leaving unconfigured
$ dpkg -l couchbase-server
...
iU couchbase-server 2.0.0 Couchbase Server
In means that only unpack phase passed. As far as I know dpkg doesn't have dependency support.
Package manager triggers couchbase setup if user manually install missing package. And only then upgrade happens.
Smarter package managers work as expected:
$ gdebi --q couchbase-server-enterprise_x86_64_2.0.0-1861-rel.deb
Requires the installation of the following packages:
libssl0.9.8
Couchbase Server
Couchbase Server is the leading distribution of memcached and
couchbase, created and supported by top contributors to the memcached
and couchbase open source projects.
Do you want to install the software package? [y/N]:y
Fetched 0 B in 0s (0 B/s)
Preconfiguring packages ...
Preconfiguring packages ...
Selecting previously unselected package libssl0.9.8.
(Reading database ... 40101 files and directories currently installed.)
Unpacking libssl0.9.8 (from .../libssl0.9.8_0.9.8o-7ubuntu3.1_amd64.deb) ...
Setting up libssl0.9.8 (0.9.8o-7ubuntu3.1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Selecting previously unselected package couchbase-server.
(Reading database ... 40125 files and directories currently installed.)
Unpacking couchbase-server (from couchbase-server-enterprise_x86_64_2.0.0-1861-rel.deb) ...
Setting up couchbase-server (2.0.0) ...
* Started couchbase-server
....
Hide
Farshid Ghods
added a comment -
when you run dpkg -i on ubuntu or rpm -U centos that does not have libssl098
1- does the installer stop the couchbase-server 1.8.x instance that is running
2- does it extract/overwrite the files before failing due to dependency error ?
1- does the installer stop the couchbase-server 1.8.x instance that is running
2- does it extract/overwrite the files before failing due to dependency error ?
Show
Farshid Ghods
added a comment - when you run dpkg -i on ubuntu or rpm -U centos that does not have libssl098
1- does the installer stop the couchbase-server 1.8.x instance that is running
2- does it extract/overwrite the files before failing due to dependency error ?
Hide
Pavel Paulau
added a comment -
On ubuntu 12.04:
1. Installer stops 1.8.1 instance
2. Installer extracts files before failure. This is how dpkg works.
3. upgrade happens only if users run something like this "sudo apt-get install -f"
1. Installer stops 1.8.1 instance
2. Installer extracts files before failure. This is how dpkg works.
3. upgrade happens only if users run something like this "sudo apt-get install -f"
Show
Pavel Paulau
added a comment - On ubuntu 12.04:
1. Installer stops 1.8.1 instance
2. Installer extracts files before failure. This is how dpkg works.
3. upgrade happens only if users run something like this "sudo apt-get install -f"
Hide
Farshid Ghods
added a comment -
i see. so in that case the user 1.8.1 installation is going to be unusable and they can't use their cluster after this uness they install libssl.
also does the upgrade process migrate the data ad then it fails ?
also does the upgrade process migrate the data ad then it fails ?
Show
Farshid Ghods
added a comment - i see. so in that case the user 1.8.1 installation is going to be unusable and they can't use their cluster after this uness they install libssl.
also does the upgrade process migrate the data ad then it fails ?
Hide
Pavel Paulau
added a comment -
As I mentioned before upgrade doesn't start unless you install missing dependencies. And then it succeed.
Show
Pavel Paulau
added a comment - As I mentioned before upgrade doesn't start unless you install missing dependencies. And then it succeed.
Hide
Pavel Paulau
added a comment -
Can we force users to run:
yum install couchbase-server-enterprise_x86_64_2.0.0-1868-rel.rpm
and
gdebi couchbase-server-enterprise_x86_64_2.0.0-1868-rel.deb
Why do we suggest to use dpkg and rpm?
yum install couchbase-server-enterprise_x86_64_2.0.0-1868-rel.rpm
and
gdebi couchbase-server-enterprise_x86_64_2.0.0-1868-rel.deb
Why do we suggest to use dpkg and rpm?
Show
Pavel Paulau
added a comment - Can we force users to run:
yum install couchbase-server-enterprise_x86_64_2.0.0-1868-rel.rpm
and
gdebi couchbase-server-enterprise_x86_64_2.0.0-1868-rel.deb
Why do we suggest to use dpkg and rpm?
Hide
Pavel Paulau
added a comment -
As per discussion with Farshid we should recommend our users/customers to use gdebi and yum instead of dpkg and rpm.
So, it's probably documentation issue again.)
So, it's probably documentation issue again.)
Show
Pavel Paulau
added a comment - As per discussion with Farshid we should recommend our users/customers to use gdebi and yum instead of dpkg and rpm.
So, it's probably documentation issue again.)
Hide
Matt Ingenthron
added a comment -
First, I should note that previously (as discussed on this issue) the ssl deps had been removed. If they've been re-added, that's great.
Back before I filed this issue, I'd looked into this and the problem is that at least gdebi is not included in distributions by default. That means the first step would have to be apt-get install gdebi (which, for ubuntu 11.x at least seems to come from universe) then gdebi install the couchbase .deb.
It's unfortunate, but there is no OOTB tool that handles dependency resolution from a .deb.
Other alternatives we'd discussed included bundling a script that would do things on the user's behalf. Or, I think one better is that we distribute a package that adds a repo we manage, so it'd be dpkg -i, followed by apt-get install. The benefit here is that they can also obtain other tools like libcouchbase and the cbc tools through this repository. Downside is our packages aren't versioned so an upgrade of a package could break things.
Dipti needs to make the call since it's a user experience issue and timeframe. She did, back in August.
My main advice here would be to do whatever the platform advises. I feel like we're fighting the platform at the moment, and thus we're running into problems that it has solved.
Back before I filed this issue, I'd looked into this and the problem is that at least gdebi is not included in distributions by default. That means the first step would have to be apt-get install gdebi (which, for ubuntu 11.x at least seems to come from universe) then gdebi install the couchbase .deb.
It's unfortunate, but there is no OOTB tool that handles dependency resolution from a .deb.
Other alternatives we'd discussed included bundling a script that would do things on the user's behalf. Or, I think one better is that we distribute a package that adds a repo we manage, so it'd be dpkg -i, followed by apt-get install. The benefit here is that they can also obtain other tools like libcouchbase and the cbc tools through this repository. Downside is our packages aren't versioned so an upgrade of a package could break things.
Dipti needs to make the call since it's a user experience issue and timeframe. She did, back in August.
My main advice here would be to do whatever the platform advises. I feel like we're fighting the platform at the moment, and thus we're running into problems that it has solved.
Show
Matt Ingenthron
added a comment - First, I should note that previously (as discussed on this issue) the ssl deps had been removed. If they've been re-added, that's great.
Back before I filed this issue, I'd looked into this and the problem is that at least gdebi is not included in distributions by default. That means the first step would have to be apt-get install gdebi (which, for ubuntu 11.x at least seems to come from universe) then gdebi install the couchbase .deb.
It's unfortunate, but there is no OOTB tool that handles dependency resolution from a .deb.
Other alternatives we'd discussed included bundling a script that would do things on the user's behalf. Or, I think one better is that we distribute a package that adds a repo we manage, so it'd be dpkg -i, followed by apt-get install. The benefit here is that they can also obtain other tools like libcouchbase and the cbc tools through this repository. Downside is our packages aren't versioned so an upgrade of a package could break things.
Dipti needs to make the call since it's a user experience issue and timeframe. She did, back in August.
My main advice here would be to do whatever the platform advises. I feel like we're fighting the platform at the moment, and thus we're running into problems that it has solved.
Hide
Pavel Paulau
added a comment -
On my mind, the best option for 2.0 is "apt-get install gdebi; gdebi install couchbase..." and "yum install couchbase..."
For post 2.0 releases we should finally switch to own repository as Matt suggests, except maybe I'd prefer something like this:
add-apt-repository ....
apt-get update
apt-get install couchbase...
btw, how do you distribute libcouchbase and other tools?
For post 2.0 releases we should finally switch to own repository as Matt suggests, except maybe I'd prefer something like this:
add-apt-repository ....
apt-get update
apt-get install couchbase...
btw, how do you distribute libcouchbase and other tools?
Show
Pavel Paulau
added a comment - On my mind, the best option for 2.0 is "apt-get install gdebi; gdebi install couchbase..." and "yum install couchbase..."
For post 2.0 releases we should finally switch to own repository as Matt suggests, except maybe I'd prefer something like this:
add-apt-repository ....
apt-get update
apt-get install couchbase...
btw, how do you distribute libcouchbase and other tools?
Hide
Matt Ingenthron
added a comment -
libcouchbase is through a repository, though we also provide a download of a tarball.
We try to do whatever is most common or the platform recommends for the given target, plus a download of an archive.
Java => Maven
.NET => NuGet
PHP => right now, a download. plans to get it in PECL
Ruby => Gem
C => yum on rpm, apt-get on deb, homebrew on Mac OS (and eventually .zip file for Windows)
Python => pypi (needs updates)
We try to do whatever is most common or the platform recommends for the given target, plus a download of an archive.
Java => Maven
.NET => NuGet
PHP => right now, a download. plans to get it in PECL
Ruby => Gem
C => yum on rpm, apt-get on deb, homebrew on Mac OS (and eventually .zip file for Windows)
Python => pypi (needs updates)
Show
Matt Ingenthron
added a comment - libcouchbase is through a repository, though we also provide a download of a tarball.
We try to do whatever is most common or the platform recommends for the given target, plus a download of an archive.
Java => Maven
.NET => NuGet
PHP => right now, a download. plans to get it in PECL
Ruby => Gem
C => yum on rpm, apt-get on deb, homebrew on Mac OS (and eventually .zip file for Windows)
Python => pypi (needs updates)
Hide
Steve Yen
added a comment -
Spoke with Pavel on this. So, re-summarizing this: given a system that does not have the right openssl 0.9.8 pre-installed, when one runs...
dpkg -i couchbase-2.0.deb
then...
- server is stopped,
- files are unpacked (already placed into /opt/couchbase)
- then the dpkg tool detects the missing dependency in the pre-installation script
- then the server is in a state where 1.8.1 will not run (it's no longer installed) and 2.0 will not run (it's never been installed)
- but, the user's data/db files are still there
Pavel reports that updating the debian package control file with explicitly listed libssl 0.9.8 dependency does not help with dpkg -i.
dpkg -i couchbase-2.0.deb
then...
- server is stopped,
- files are unpacked (already placed into /opt/couchbase)
- then the dpkg tool detects the missing dependency in the pre-installation script
- then the server is in a state where 1.8.1 will not run (it's no longer installed) and 2.0 will not run (it's never been installed)
- but, the user's data/db files are still there
Pavel reports that updating the debian package control file with explicitly listed libssl 0.9.8 dependency does not help with dpkg -i.
Show
Steve Yen
added a comment - Spoke with Pavel on this. So, re-summarizing this: given a system that does not have the right openssl 0.9.8 pre-installed, when one runs...
dpkg -i couchbase-2.0.deb
then...
- server is stopped,
- files are unpacked (already placed into /opt/couchbase)
- then the dpkg tool detects the missing dependency in the pre-installation script
- then the server is in a state where 1.8.1 will not run (it's no longer installed) and 2.0 will not run (it's never been installed)
- but, the user's data/db files are still there
Pavel reports that updating the debian package control file with explicitly listed libssl 0.9.8 dependency does not help with dpkg -i.
Hide
Matt Ingenthron
added a comment -
All true. I just want to add that removing the dependency from the package metadata would have us in a worse state. It'd try to start and crash, I believe.
This may be far too late to mention this, but I should also note that doing data migration at the time of package installation is usually not recommended in most packaging guides. Perhaps we don't actually do that though-- I'm not sure.
One other possible option to investigate: remove the SSL feature from whatever is linking against it? We don't use it to my knowledge.
This may be far too late to mention this, but I should also note that doing data migration at the time of package installation is usually not recommended in most packaging guides. Perhaps we don't actually do that though-- I'm not sure.
One other possible option to investigate: remove the SSL feature from whatever is linking against it? We don't use it to my knowledge.
Show
Matt Ingenthron
added a comment - All true. I just want to add that removing the dependency from the package metadata would have us in a worse state. It'd try to start and crash, I believe.
This may be far too late to mention this, but I should also note that doing data migration at the time of package installation is usually not recommended in most packaging guides. Perhaps we don't actually do that though-- I'm not sure.
One other possible option to investigate: remove the SSL feature from whatever is linking against it? We don't use it to my knowledge.
Hide
Farshid Ghods
added a comment -
Show
Farshid Ghods
added a comment - ssl is used in couple of places mentioned here
http://www.couchbase.com/issues/browse/MB-6883
Hide
Pavel Paulau
added a comment -
On more note.
In case of own repository users cannot download *.deb or *.rpm and fail because there is no more download links.
You force users and customers to follow new installation steps as it's the only way to get Couchbase 2.0.
In case of own repository users cannot download *.deb or *.rpm and fail because there is no more download links.
You force users and customers to follow new installation steps as it's the only way to get Couchbase 2.0.
Show
Pavel Paulau
added a comment - On more note.
In case of own repository users cannot download *.deb or *.rpm and fail because there is no more download links.
You force users and customers to follow new installation steps as it's the only way to get Couchbase 2.0.
Hide
Steve Yen
added a comment -
Pavel got there first. On centos 6, he reports that rpm -i fails early due to early dependency checking.
That is, if the user has an already-installed and already-running 1.8.1 server, with lots of items in their database, and the user does not have openssl098 install already...
Next, running...
rpm -i couchbase-*2.0.0*.rpm
Will fail with...
error: Failed dependencies:
libcrypto.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
libssl.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
And, the 1.8.1 server is still running, 1.8.1 program files and database data files are left untouched.
The fix at this point is to run...
yum install openssl098e
Then the next "rpm -i" attempt should work correctly.
(As an aside, the decision that rpm -i and dpkg -U should _upgrade_ data was a PM decision, and they incorporated into their decision all the developer/engineering feedback that this is an unexpected, surprising, unnatural approach for databases.)
That is, if the user has an already-installed and already-running 1.8.1 server, with lots of items in their database, and the user does not have openssl098 install already...
Next, running...
rpm -i couchbase-*2.0.0*.rpm
Will fail with...
error: Failed dependencies:
libcrypto.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
libssl.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
And, the 1.8.1 server is still running, 1.8.1 program files and database data files are left untouched.
The fix at this point is to run...
yum install openssl098e
Then the next "rpm -i" attempt should work correctly.
(As an aside, the decision that rpm -i and dpkg -U should _upgrade_ data was a PM decision, and they incorporated into their decision all the developer/engineering feedback that this is an unexpected, surprising, unnatural approach for databases.)
Show
Steve Yen
added a comment - Pavel got there first. On centos 6, he reports that rpm -i fails early due to early dependency checking.
That is, if the user has an already-installed and already-running 1.8.1 server, with lots of items in their database, and the user does not have openssl098 install already...
Next, running...
rpm -i couchbase-*2.0.0*.rpm
Will fail with...
error: Failed dependencies:
libcrypto.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
libssl.so.6()(64bit) is needed by couchbase-server-2.0.0-1723.x86_64
And, the 1.8.1 server is still running, 1.8.1 program files and database data files are left untouched.
The fix at this point is to run...
yum install openssl098e
Then the next "rpm -i" attempt should work correctly.
(As an aside, the decision that rpm -i and dpkg -U should _upgrade_ data was a PM decision, and they incorporated into their decision all the developer/engineering feedback that this is an unexpected, surprising, unnatural approach for databases.)
Hide
Steve Yen
added a comment -
Pavel,
On ubuntu, some ideas / options for a fix (some of them quite ugly)...
1) - Release two packages, one for 12.04, another for 10.04. On this, Pavel reports that he tried compiling everything on 12.04, but the resulting package still depended on the old libssl. (Pavel, if I misunderstood this, please chime in.)
2) - Have a *.deb that's an envelope for another *.deb. The outer, envelope *.deb first checks for critical dependencies before invoking the real *.deb package. (Did I mention "ugly"?)
3) - Have the 'preinst upgrade' script check for critical dependencies and error with an actionable error message that tells the user what to do (e.g., "the upgrade failed because of blah blah. to fix this, please run apt-get install libsslfoobar". There might be possibility that 1.8.1 program files might be already removed at this point, but I don't think that's confirmed.
Pavel, can you check #3? Based on the debian packaging FAQ... http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
preinst
This script executes before that package will be unpacked from its Debian archive (".deb") file.
Many 'preinst' scripts stop services for packages which are being upgraded until their
installation or upgrade is completed (following the successful execution of the 'postinst' script).
...I get the impression that perhaps the preinst can abort the upgrade without too much damage. Please see the 'preinst upgrade' state transition graph here, where I do see a pathway where 1.8.1 is left untouched as "installed" (but perhaps not running)...
http://wiki.debian.org/MaintainerScripts
On ubuntu, some ideas / options for a fix (some of them quite ugly)...
1) - Release two packages, one for 12.04, another for 10.04. On this, Pavel reports that he tried compiling everything on 12.04, but the resulting package still depended on the old libssl. (Pavel, if I misunderstood this, please chime in.)
2) - Have a *.deb that's an envelope for another *.deb. The outer, envelope *.deb first checks for critical dependencies before invoking the real *.deb package. (Did I mention "ugly"?)
3) - Have the 'preinst upgrade' script check for critical dependencies and error with an actionable error message that tells the user what to do (e.g., "the upgrade failed because of blah blah. to fix this, please run apt-get install libsslfoobar". There might be possibility that 1.8.1 program files might be already removed at this point, but I don't think that's confirmed.
Pavel, can you check #3? Based on the debian packaging FAQ... http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
preinst
This script executes before that package will be unpacked from its Debian archive (".deb") file.
Many 'preinst' scripts stop services for packages which are being upgraded until their
installation or upgrade is completed (following the successful execution of the 'postinst' script).
...I get the impression that perhaps the preinst can abort the upgrade without too much damage. Please see the 'preinst upgrade' state transition graph here, where I do see a pathway where 1.8.1 is left untouched as "installed" (but perhaps not running)...
http://wiki.debian.org/MaintainerScripts
Show
Steve Yen
added a comment - Pavel,
On ubuntu, some ideas / options for a fix (some of them quite ugly)...
1) - Release two packages, one for 12.04, another for 10.04. On this, Pavel reports that he tried compiling everything on 12.04, but the resulting package still depended on the old libssl. (Pavel, if I misunderstood this, please chime in.)
2) - Have a *.deb that's an envelope for another *.deb. The outer, envelope *.deb first checks for critical dependencies before invoking the real *.deb package. (Did I mention "ugly"?)
3) - Have the 'preinst upgrade' script check for critical dependencies and error with an actionable error message that tells the user what to do (e.g., "the upgrade failed because of blah blah. to fix this, please run apt-get install libsslfoobar". There might be possibility that 1.8.1 program files might be already removed at this point, but I don't think that's confirmed.
Pavel, can you check #3? Based on the debian packaging FAQ... http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
preinst
This script executes before that package will be unpacked from its Debian archive (".deb") file.
Many 'preinst' scripts stop services for packages which are being upgraded until their
installation or upgrade is completed (following the successful execution of the 'postinst' script).
...I get the impression that perhaps the preinst can abort the upgrade without too much damage. Please see the 'preinst upgrade' state transition graph here, where I do see a pathway where 1.8.1 is left untouched as "installed" (but perhaps not running)...
http://wiki.debian.org/MaintainerScripts
Hide
Pavel Paulau
added a comment -
Actually I used ec2 instance for ubuntu 12.04. Anyway, it could save your time.
Show
Pavel Paulau
added a comment - Actually I used ec2 instance for ubuntu 12.04. Anyway, it could save your time.
Hide
to summarize :
this issue needs to be addressed only for ubuntu 12.
for centos 6 use case installer will not start the upgrade process at all ( no overwriting files or data migration ) . it will fail to install without even stopping the existing couchbase installation
this issue needs to be addressed only for ubuntu 12.
for centos 6 use case installer will not start the upgrade process at all ( no overwriting files or data migration ) . it will fail to install without even stopping the existing couchbase installation
Show
Farshid Ghods
added a comment - - edited to summarize :
this issue needs to be addressed only for ubuntu 12.
for centos 6 use case installer will not start the upgrade process at all ( no overwriting files or data migration ) . it will fail to install without even stopping the existing couchbase installation
Hide
Bin Cui
added a comment -
http://review.couchbase.org/#/c/21842/
$ sudo dpkg -i couchbase-server_2.0.0_amd64.deb
(Reading database ... 62363 files and directories currently installed.)
Preparing to replace couchbase-server 1.8.1 (using couchbase-server_2.0.0_amd64.
deb) ...
=INFO REPORT==== 22-Oct-2012::11:34:05 ===
Initiated server shutdown** at node ns_1@127.0.0.1 **
=INFO REPORT==== 22-Oct-2012::11:34:11 ===
Stopped ns_server application** at node ns_1@127.0.0.1 **
* Stopped couchbase-server
Upgrading cannot proceed before the package 'libssl0.9.8' is installed. Please
run apt-get to install libssl0.9.8
dpkg: error processing couchbase-server_2.0.0_amd64.deb (--install):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
couchbase-server_2.0.0_amd64.deb
$ sudo /etc/init.d/couchbase-server start
* Started couchbase-server
$ sudo dpkg -i couchbase-server_2.0.0_amd64.deb
(Reading database ... 62363 files and directories currently installed.)
Preparing to replace couchbase-server 1.8.1 (using couchbase-server_2.0.0_amd64.
deb) ...
=INFO REPORT==== 22-Oct-2012::11:34:05 ===
Initiated server shutdown** at node ns_1@127.0.0.1 **
=INFO REPORT==== 22-Oct-2012::11:34:11 ===
Stopped ns_server application** at node ns_1@127.0.0.1 **
* Stopped couchbase-server
Upgrading cannot proceed before the package 'libssl0.9.8' is installed. Please
run apt-get to install libssl0.9.8
dpkg: error processing couchbase-server_2.0.0_amd64.deb (--install):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
couchbase-server_2.0.0_amd64.deb
$ sudo /etc/init.d/couchbase-server start
* Started couchbase-server
Show
Bin Cui
added a comment - http://review.couchbase.org/#/c/21842/
$ sudo dpkg -i couchbase-server_2.0.0_amd64.deb
(Reading database ... 62363 files and directories currently installed.)
Preparing to replace couchbase-server 1.8.1 (using couchbase-server_2.0.0_amd64.
deb) ...
=INFO REPORT==== 22-Oct-2012::11:34:05 ===
Initiated server shutdown** at node ns_1@127.0.0.1 **
=INFO REPORT==== 22-Oct-2012::11:34:11 ===
Stopped ns_server application** at node ns_1@127.0.0.1 **
* Stopped couchbase-server
Upgrading cannot proceed before the package 'libssl0.9.8' is installed. Please
run apt-get to install libssl0.9.8
dpkg: error processing couchbase-server_2.0.0_amd64.deb (--install):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
couchbase-server_2.0.0_amd64.deb
$ sudo /etc/init.d/couchbase-server start
* Started couchbase-server
Hide
Pavel Paulau
added a comment -
Notice that installer warns users about dependency issue only in case of upgrade.
Otherwise users still get all these unclear errors.
Otherwise users still get all these unclear errors.
Show
Pavel Paulau
added a comment - Notice that installer warns users about dependency issue only in case of upgrade.
Otherwise users still get all these unclear errors.
Hide
Farshid Ghods
added a comment -
yes.
also for users who are trying to install 2.0 for the first time we need to have this in documentation and the website as well
http://www.couchbase.com/issues/browse/MB-6971
also for users who are trying to install 2.0 for the first time we need to have this in documentation and the website as well
http://www.couchbase.com/issues/browse/MB-6971
Show
Farshid Ghods
added a comment - yes.
also for users who are trying to install 2.0 for the first time we need to have this in documentation and the website as well
http://www.couchbase.com/issues/browse/MB-6971
Hide
Andrei Baranouski
added a comment -
should user restart manually server after upgrade was stopped?
ubuntu@ip-10-39-13-185:/tmp$ sudo dpkg -i couchbase-server-community_x86_64_2.0.0-1971-rel.deb
(Reading database ... 31678 files and directories currently installed.)
Preparing to replace couchbase-server 1.8.1 (using couchbase-server-community_x86_64_2.0.0-1971-rel.deb) ...
=INFO REPORT==== 3-Dec-2012::15:56:42 ===
Initiated server shutdown** at node ns_1@127.0.0.1 **
=INFO REPORT==== 3-Dec-2012::15:56:48 ===
Stopped ns_server application** at node ns_1@127.0.0.1 **
* Stopped couchbase-server
No packages found matching libssl0.9.8.
Installing cannot proceed since the package 'libssl0.9.8' is missing.
Please install libssl0.9.8 and try again.
$sudo apt-get install libssl0.9.8
You can also restart couchbase as follows:
$sudo /etc/init.d/couchbase-server start
dpkg: error processing couchbase-server-community_x86_64_2.0.0-1971-rel.deb (--install):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
couchbase-server-community_x86_64_2.0.0-1971-rel.deb
ubuntu@ip-10-39-13-185:/tmp$ ps -ef| grep couchbase
ubuntu 3687 3502 0 16:41 pts/1 00:00:00 grep --color=auto couchbase
ubuntu@ip-10-39-13-185:/tmp$ ^C
ubuntu@ip-10-39-13-185:/tmp$ sudo /etc/init.d/couchbase-server start
* Started couchbase-server
ubuntu@ip-10-39-13-185:/tmp$ sudo dpkg -i couchbase-server-community_x86_64_2.0.0-1971-rel.deb
(Reading database ... 31678 files and directories currently installed.)
Preparing to replace couchbase-server 1.8.1 (using couchbase-server-community_x86_64_2.0.0-1971-rel.deb) ...
=INFO REPORT==== 3-Dec-2012::15:56:42 ===
Initiated server shutdown** at node ns_1@127.0.0.1 **
=INFO REPORT==== 3-Dec-2012::15:56:48 ===
Stopped ns_server application** at node ns_1@127.0.0.1 **
* Stopped couchbase-server
No packages found matching libssl0.9.8.
Installing cannot proceed since the package 'libssl0.9.8' is missing.
Please install libssl0.9.8 and try again.
$sudo apt-get install libssl0.9.8
You can also restart couchbase as follows:
$sudo /etc/init.d/couchbase-server start
dpkg: error processing couchbase-server-community_x86_64_2.0.0-1971-rel.deb (--install):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
couchbase-server-community_x86_64_2.0.0-1971-rel.deb
ubuntu@ip-10-39-13-185:/tmp$ ps -ef| grep couchbase
ubuntu 3687 3502 0 16:41 pts/1 00:00:00 grep --color=auto couchbase
ubuntu@ip-10-39-13-185:/tmp$ ^C
ubuntu@ip-10-39-13-185:/tmp$ sudo /etc/init.d/couchbase-server start
* Started couchbase-server
Show
Andrei Baranouski
added a comment - should user restart manually server after upgrade was stopped?
ubuntu@ip-10-39-13-185 :/tmp$ sudo dpkg -i couchbase-server-community_x86_64_2.0.0-1971-rel.deb
(Reading database ... 31678 files and directories currently installed.)
Preparing to replace couchbase-server 1.8.1 (using couchbase-server-community_x86_64_2.0.0-1971-rel.deb) ...
=INFO REPORT==== 3-Dec-2012::15:56:42 ===
Initiated server shutdown** at node ns_1@127.0.0.1 **
=INFO REPORT==== 3-Dec-2012::15:56:48 ===
Stopped ns_server application** at node ns_1@127.0.0.1 **
* Stopped couchbase-server
No packages found matching libssl0.9.8.
Installing cannot proceed since the package 'libssl0.9.8' is missing.
Please install libssl0.9.8 and try again.
$sudo apt-get install libssl0.9.8
You can also restart couchbase as follows:
$sudo /etc/init.d/couchbase-server start
dpkg: error processing couchbase-server-community_x86_64_2.0.0-1971-rel.deb (--install):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
couchbase-server-community_x86_64_2.0.0-1971-rel.deb
ubuntu@ip-10-39-13-185 :/tmp$ ps -ef| grep couchbase
ubuntu 3687 3502 0 16:41 pts/1 00:00:00 grep --color=auto couchbase
ubuntu@ip-10-39-13-185 :/tmp$ ^C
ubuntu@ip-10-39-13-185 :/tmp$ sudo /etc/init.d/couchbase-server start
* Started couchbase-server
http://packages.ubuntu.com/oneiric/libssl0.9.8