Couchbase 4.1.1 installation

I’m trying to install Couchbase server 4.1.1 community edition. I followed the instructions in https://github.com/couchbase/tlm#opensuse. Since openSuse is not a supported platform by Couchbase, we’ve to add third party dependencies to CMake to locate them. Please find below the output of command:

gmake PREFIX=/opt/couchbase

mkdir: cannot create directory ‘build’: File exists
Makefile:45: recipe for target ‘build/Makefile’ failed
gmake[1]: [build/Makefile] Error 1 (ignored)
(cd build && cmake -G “Unix Makefiles” -D PRODUCT_VERSION= -D BUILD_ENTERPRISE= …)
– Third-party dependencies will be cached in pwd/output
– *** Installing binary dependencies ***
– Set platform to suse42.2 for dependency downloads
– Set arch to x86_64 for dependency downloads
– NOTE: The dependencies for unsupported platforms may not be available.
– Downloads may fail. You may build dependencies from from
– tlm/deps/packages and store then in ~/.cbdepscache


– Reading global third-party dependencies manifest…
– Dependency breakpad (20160926-cb1) not declared for platform suse42.2, skipping…
– Dependency boost (1.62.0-cb1) not declared for platform suse42.2, skipping…
– Dependency curl (7.49.1-cb1) not declared for platform suse42.2, skipping…
– Dependency erlang (R16B03-1-couchbase-cb1) not declared for platform suse42.2, skipping…
– Dependency erlang (R16B03-couchbase-cb2) not declared for platform suse42.2, skipping…
– Dependency flatbuffers (1.2.0-cb1) not declared for platform suse42.2, skipping…
– Dependency icu4c (54.1.0) not declared for platform suse42.2, skipping…
– Dependency icu4c (54.1-cb10) not declared for platform suse42.2, skipping…
– Dependency jemalloc (4.1.0-cb2) not declared for platform suse42.2, skipping…
– Dependency jemalloc (4.0.4-cb2) not declared for platform suse42.2, skipping…
– Dependency jemalloc (4.1.1-couchbase-cb2) not declared for platform suse42.2, skipping…
– Dependency json (1.1.0-cb1) not declared for platform suse42.2, skipping…
– Dependency libevent (2.1.4-alpha-dev) not declared for platform suse42.2, skipping…
– Dependency libevent (2.0.22-cb2) not declared for platform suse42.2, skipping…
– Dependency openssl (1.0.1h) not declared for platform suse42.2, skipping…
– Dependency pysqlite2 (0ff6e32-cb1) not declared for platform suse42.2, skipping…
– Dependency python-snappy (c97d633) not declared for platform suse42.2, skipping…
– Dependency python-snappy (c97d633-cb1) not declared for platform suse42.2, skipping…
– Dependency snappy (1.1.1) not declared for platform suse42.2, skipping…
– Dependency snappy (1.1.1-cb2) not declared for platform suse42.2, skipping…
– Dependency v8 (4.8-cb4) not declared for platform suse42.2, skipping…
– Dependency v8 (5.2-cb1) not declared for platform suse42.2, skipping…
– Dependency v8 (4.8-cb5) not declared for platform suse42.2, skipping…
– Global third-party dependencies manifest complete
– ----------------------------------------- — Using cmake version: 3.5.2
– Installing to /compile/couchbase/install
– Build type: RelWithDebInfo (Community Edition)
– Using system-supplied malloc
CMake Error at tlm/cmake/Modules/FindCouchbaseBoost.cmake:13 (MESSAGE):
Boost headers not found
Call Stack (most recent call first):
CMakeLists.txt:98 (INCLUDE)

– Configuring incomplete, errors occurred!
See also “/compile/couchbase/build/CMakeFiles/CMakeOutput.log”.
Makefile:45: recipe for target ‘build/Makefile’ failed
gmake[1]: *** [build/Makefile] Error 1
GNUmakefile:14: recipe for target ‘all’ failed
gmake: *** [all] Error 2

Please help me to add third party dependencies.

I saw the following when searching zypper

2# zypper search boost
Loading repository data...
Reading installed packages...

S | Name                                 | Summary                                               | Type
--+--------------------------------------+-------------------------------------------------------+-----------
  | boost-devel                          | Development package for Boost C++                     | package

My guess is that you will need both of this package. Headers are generally in the devel package.

Besides boost and boost-devel,
I’d recommend you go through that list of skipped dependencies and install them anyway…

TSU

Thank you very much!!!

I did try the suggestions to install boost & snappy , but futile as I’m getting the same error.

zypper search boost

zypper install boost-devel

(boost not found in package names & hence, installed boost-devel )

Could you please let me know how CMake can locate them? Do I need to make any changes in the system so CMake can locate it?

Not sure what to do. I may have to switch to Cent OS to install Couchbase.

Hi
Sounds like none of your repositories are active, or install media if no network?


zypper if boost-devel
Repository 'Main Update Repository' is out-of-date. You can run 'zypper refresh' as root to update it.
Repository 'openSUSE-Gstreamer' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...
Reading installed packages...


Information for package boost-devel:
------------------------------------
Repository     : Main Repository (OSS)            
Name           : boost-devel                      
Version        : 1.54.0-13.1
...

Can you show your repositories;


zypper lr -d

Hi
Looking at deps/manifest.cmake they only support suse11.2?? They also set specific versions, all of that would need to be updated, also in version 4.1.2, there is no boost dependency anymore.


DECLARE_DEP (breakpad VERSION 1e455b5-cb10 PLATFORMS centos6 centos7 debian7 suse11.2 ubuntu12.04 ubuntu14.04 windows_msvc)
DECLARE_DEP (curl VERSION 7.49.1-cb1 PLATFORMS centos6 centos7 debian7 sunos suse11.2 ubuntu12.04 ubuntu14.04 windows_msvc)
DECLARE_DEP (erlang VERSION R16B03-1-cb1 PLATFORMS windows_msvc)
DECLARE_DEP (erlang VERSION 76fa44a-cb1 PLATFORMS centos6 centos7 debian7 macosx sunos suse11.2 ubuntu12.04 ubuntu14.04)
DECLARE_DEP (gperftools VERSION 2.4-cb3 PLATFORMS windows_msvc)
DECLARE_DEP (icu4c VERSION 53.1.0 PLATFORMS windows_msvc)
DECLARE_DEP (icu4c VERSION 263593-cb5 PLATFORMS centos6 centos7 debian7 macosx sunos suse11.2 ubuntu12.04 ubuntu14.04)
DECLARE_DEP (jemalloc VERSION 5d9732f-cb5 PLATFORMS centos6 centos7 debian7 macosx sunos suse11.2 ubuntu12.04 ubuntu14.04)
DECLARE_DEP (libevent VERSION 2.1.4-alpha-dev PLATFORMS windows_msvc)
DECLARE_DEP (libevent VERSION 2.0.22-cb1 PLATFORMS centos6 centos7 debian7 macosx sunos suse11.2 ubuntu12.04 ubuntu14.04)
DECLARE_DEP (openssl VERSION 1.0.1h PLATFORMS windows_msvc)
DECLARE_DEP (pysqlite2 VERSION 0ff6e32-cb1 PLATFORMS centos6 centos7 debian7 macosx sunos suse11.2 ubuntu12.04 ubuntu14.04)
DECLARE_DEP (python-snappy VERSION c97d633 PLATFORMS windows_msvc)
DECLARE_DEP (python-snappy VERSION c97d633-cb1 PLATFORMS centos6 centos7 debian7 macosx sunos suse11.2 ubuntu12.04 ubuntu14.04)
DECLARE_DEP (snappy VERSION 1.1.1 PLATFORMS windows_msvc)
DECLARE_DEP (snappy VERSION 1.1.1-cb2 PLATFORMS centos6 centos7 debian7 macosx sunos suse11.2 ubuntu12.04 ubuntu14.04)
DECLARE_DEP (v8 VERSION 3.23.6 PLATFORMS windows_msvc)
DECLARE_DEP (v8 VERSION e24973a-cb2 PLATFORMS centos6 centos7 debian7 macosx sunos suse11.2 ubuntu12.04 ubuntu14.04)

For example curl would need to be something like;


DECLARE_DEP (curl VERSION 7.37.0 PLATFORMS suse42.2)

Please find the repositories:

**dhcppc1:/compile/couchbase #** zypper lr -d
#  | Alias                     | Name                                    | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                             
               | Service
---+---------------------------+-----------------------------------------+---------+-----------+---------+----------+--------+-----------------------------------------------------------------
---------------+--------
 1 | google-chrome             | google-chrome                           | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://dl.google.com/linux/chrome/rpm/stable/x86_64             
               |         
 2 | mongodb                   | mongodb                                 | Yes     | ( p) Yes  | No      |   99     | rpm-md | https://repo.mongodb.org/zypper/suse/12/mongodb-org/3.4/x86_64/ 
               |         
 3 | openSUSE-42.2-0           | openSUSE-42.2-0                         | No      | ----      | Yes     |   99     | yast2  | hd:///?device=/dev/disk/by-id/scsi-1SanDiskUltra-part2          
               |         
 4 | repo-debug                | openSUSE-Leap-42.2-Debug                | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.2/repo/o
ss/            |         
 5 | repo-debug-non-oss        | openSUSE-Leap-42.2-Debug-Non-Oss        | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.2/repo/n
on-oss/        |         
 6 | repo-debug-update         | openSUSE-Leap-42.2-Update-Debug         | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.2/oss/        
               |         
 7 | repo-debug-update-non-oss | openSUSE-Leap-42.2-Update-Debug-Non-Oss | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.2/non-oss/    
               |         
 8 | repo-non-oss              | openSUSE-Leap-42.2-Non-Oss              | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.2/repo/non-oss
/              |         
 9 | repo-oss                  | openSUSE-Leap-42.2-Oss                  | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.2/repo/oss/   
               |         
10 | repo-source               | openSUSE-Leap-42.2-Source               | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.2/repo/
oss/           |         
11 | repo-source-non-oss       | openSUSE-Leap-42.2-Source-Non-Oss       | No      | ----      | Yes     |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.2/repo/
non-oss/       |         
12 | repo-update               | openSUSE-Leap-42.2-Update               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/oss/              
               |         
13 | repo-update-non-oss       | openSUSE-Leap-42.2-Update-Non-Oss       | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/non-oss/          
               |         
14 | server_database           | Databases (openSUSE_Leap_42.2)          | Yes     | (r ) Yes  | No      |   99     | rpm-md | http://download.opensuse.org/repositories/server:/database/openS
USE_Leap_42.2/ |         
**dhcppc1:/compile/couchbase #**


Curl version in my system is 7.37.0
Please guide me

Without looking more deeply into how boost might be implemented in this scenario,

I’m surprised that the regular “boost” package doesn’t seem to exist.
And, this seems to be the case for most versions of boost in the 42.2 repo.
This may be by design or ??

You may want to install boost v1.58.0 which does have a regular boost package as follows (you can remove any packages you don’t want)

zypper in boost_1_58_0 boost_1_58_0-devel boost_1_58_0-devel-32bit boost_1_58_0-doc-html boost-license1_58_0 

TSU

I’m unable to install boost_1_58_0 Please find below the details:

dhcppc0:/compile/couchbase # zypper in boost_1_62_0Retrieving repository 'google-chrome' metadata ..........................................................................................................................................[done]
Building repository 'google-chrome' cache ...............................................................................................................................................[done]
Retrieving repository 'openSUSE-Leap-42.2-Update' metadata ..............................................................................................................................[done]
Building repository 'openSUSE-Leap-42.2-Update' cache ...................................................................................................................................[done]
Loading repository data...
Reading installed packages...
'boost_1_62_0' not found in package names. Trying capabilities.
No provider of 'boost_1_62_0' found.
Resolving package dependencies...


Nothing to do.
dhcppc0:/compile/couchbase # zypper in boost_1_58_0
Loading repository data...
Reading installed packages...
'boost_1_58_0' not found in package names. Trying capabilities.
No provider of 'boost_1_58_0' found.
Resolving package dependencies...


Nothing to do.



Many Thanks for your help. Is it the end of road?

My fault, overlooked that package is a source package.
So, took a look at this, and I’ll be looking at this more.

First, am surprised that a fairly significant database engine like Couchbase is not in our OBS.
Maybe as I look around more, I’ll discover why this is the case.

In the meantime, is there a reason why you aren’t simply downloading a pre-compiled version from the couchbase website?
Browse to the following page, select your couchbase version and then select the SUSE 11 Download…

TSU

Thank you very much. I’m fairly new to Linux and doesn’t know how to install pre-compile version. I did browse through google search results, but all were futile. If you could guide me, I’ll install.

Once you’ve downloaded the rpm,
Open a console in that location, elevate to root with “su” or “sudo” and then install with “zypper in packagename”
Or, as of today you can run the following compound statement… Open a regular console like Konsole, xterm, LXterminal, XFCEterminal or similar, paste the following and just execute

sudo zypper in couchbase-server-community-4.1.0-suse11.x86.64.rpm

When the above runs, you’ll be prompted to grant permission to install, then authorize the installation.
Agree to both, and wait until completed.

After that, follow the instructions to login first time to configure at the following web page

https://developer.couchbase.com/documentation/server/current/getting-started/installing.html

More stuff for getting started…

https://developer.couchbase.com/documentation/server/4.5/getting-started/installing.html

TSU

FYI -
I found that although couchbase server installs fine using the steps I described,
The couchbase documentation is a bit lacking about setup.

Before doing anything else, if needed I highly recommend you modify your machine’s Hostname and assign the hostname to localhost using YAST > System > Network Settings. You can do this later after the couchbase server, but you’ll need to understand how to modify URI and URLs to conform with any machine name changes. Better to get this out of the way first.

First, although the documentation says that couchbase server will automatically be running, that’s not the case… Is like al other newly installed apps, the default is not running, and not enabled to start on boot.

So, start your couchbase server and enable it to start on boot with the following compound command

systemctl start couchbase-server && systemctl enable couchbase-server

You’ll need to open up all those ports listed at the end of the couchbase server install.
Create custom rulss in SUSE FW (source 0/0, Destination ports specified or if you’re running in a NAT network in a VM you can probably just drop the firewall.

Even after all the above, the couchbase server isn’t responding to a web browser (I find this strange).
If you want to wait a few days, I should have this worked out and will create a Wiki page for installing and setting up Couchbase on 42.2 (and likely other openSUSE), but you’re welcome to forge ahead and do what you can on your own.

TSU

I’ve also tried CentOS in my system earlier, but somehow I’m always inclined towards openSUSE. So I waited for 42.2 release and installed once released. In fact, I was very much impressed with community support in openSUSE. Hence. I’m trying myself as much possible to stay in openSUSE. Let me wait for your reply before I take a call. Thank you very much for your support. I’m happy that I’ve tried openSUSE among all other flavours of Linux.

Warm Regards!
Lenin
reachlinlen@gmail.com

The SUSE 11 couchbase package from couchbase.com appears to be broken.
I’ve now installed in two different LEAP 42.2 with the same results… the embedded webserver which is critical for configuring appears to be non-functional although the installations completed without error.

Here are my notes if anyone wants to follow in the same steps (or can find anything to improve upon)

LEAP 42.2 / LXQt (upgraded from 42.1 with underlying LXDE)

Preparation on a brand new openSUSE
- Set your system's hostname and domain name in YAST > Network Settings
- When you set your hostname and domain name, also uncheck the box that says DHCP can change your system name and check the box that writes your names to the /etc/hosts file.




Based on
http://developer.couchbase.com/documentation/server/current/getting-started/installing.html


1. Download the Couchbase Community Edition 4.1.0 SUSE 11 package
2. Open a root console to ~/Downloads and zypper install the rpm
3. Turn off your firewall in YAST unless you want to painstakingly open every port Couchbase requires
4. Start your couchbase server with 
systemctl start couchbase-server.service

All of the above should complete with an error which may or may not be significant complaining about being unable to start because in the file /sbin/insserv line 93, something wasn’t parsed. That is why I started the couchbase server manually (which does so without error)…

But, the embedded webserver isn’t running.
You can test the port with telnet or “netstat -l | grep 8091” which is the port your web browser should connect to.

(I’d also advise saving the installation stdout for further firewall configuration).

So, someone will have to fix… Or, install from source.

TSU

Dear TSU Thank you very much !!! Since I’m getting a marvelous support here, I’ve decided to use Cassandra for my application. I’ll post new question if I face any issues while installing in openSuse.

Dear TSU, Thank you very much. Since I would like to stay in openSuse and found that Cassandra suits for my requirement. I’m facing some difficulties in the installation. Could you please help me. I’ve started a new thread. Thanks!

OK.
That’s quite a jump from Couchbase to Cassandra.
In the NoSQL world, that’s like moving from a sedan to a Mack truck. I’d have considered MongoDB as a closer alternative instead.

But, Cassandra is really cool.
It helps that Datastax (The primary commercial sponsor for both commercial and Apache versions of Cassandra) is located very close to where I am, so although not often I’ve been able to see presentations and ask questions.

Should be easy to install and do initial setup.
A default 42.2 will already have the required openjdk and Python installed, so there’s very little you have to do.
Recommend the following link, and for a beginner maybe the single node option

TSU

Dear TSU, Thank you very much. I did install.

Len