Building 3.x Server from Source

#1

Hello, I am on CentOS 5.6 x64 and trying to build couchbase 3.01x from source.

What branch from GIT was used to build community version:

http://packages.couchbase.com/releases/3.0.1/couchbase-server-community-3.0.1-centos6.x86_64.rpm

Before I can use the binary, I must verify that I can build it from source.

Where is the list of dependencies and required packages.

The link for the original is woefully out of date, like 2012.

http://www.couchbase.com/wiki/display/couchbase/Building+Couchbase+from+Source+on+Linux#BuildingCouchbasefromSourceonLinux-CentOS5.6.

I am hopelessly trying to match versions of Gcc, G++ trying to get the source to build on linux.

My latest error is missing <tr1/unordered_map>. C++ templates?

Maybe the couchbase build guru can provide an updated build from source HOWTO and a list of required packages and their version numbers.

Thanks,

md

#2

Could you paste tools versions and errors from your build log?

#3

Certainly.

My problem is that during my attempts to fix compiler errors, I now have a pretty good deviation from the stock centos package list with regard to gcc,g++,binutils, etc.

Things like missing libopcodes, tr1/unordered_map not found, etc.

Just tell me the name of the build log file you want to see.

Also, new users have some sort of limitation on replies, so I cannot put my yum package list.

Also, there is a 32000 character limit, so how should I overcome that little issue?

Cheers,

md

#4

I’m using fpaste CLI tool (it should be available in package of the same name), you can just redirect anything to it like this fpaste < /etc/fstab. Or just put your code in one of the pastebins directly (like http://gist.github.com or http://paste.fedoraproject.org/)

#5

Mr Avsej:

Put my code?

First off, we are missing answers to questions in the original post.

What branch of GIT specifically relates to the 3.0.1 x86_64.rpm build?

(That way, I know that I am using a stable source code and we are comparing apples to apples)

I will dump the make output and put it into fedora paste.

Also, maybe the current couchbase build master for fedora can put out a WIKI declaring the new updated list of required packages, versions and dependencies.

Password: avsej24

Here is your pastes:

http://ur1.ca/iyibc

http://ur1.ca/iyibq

#6

For the make dump, I directed output to a local file stdout. But I needed to direct stderr to that file as well. So the compiler erros were pasted to the end of the dump file and then I copied it into fedora paste.

You can see the compiler percent progress in the first half of the file, and all of the compiler warnings and errors in the second half of the file.

#7
repo init -u git://github.com/couchbase/manifest.git -m rel-3.0.1.xml
#8

Mr Avsej:

That did the trick.

3.0.1 built ok.

3.0.2 did not.

Thanks for your answers.

I will keep pursuing this matter now that I can compile the source.

How do we know what is a stable build?

Nothing on the site except for the implied reference that 3.0.1 community build is released, so it must be stable?

Cheers,

md

#9

technically 3.0.2 is just candidate, it was not released yet. And yes, I think that download page and release notes are good sources to figure out which versions considered stable and released

#10

Mr Avsej:

Here is my make test results.

98% tests passed, 2 tests failed out of 128

Total Test time (real) = 3232.06 sec

The following tests FAILED:
11 - memcached-config (OTHER_FAULT)
23 - couchstore-purge (Failed)
Errors while running CTest
make[1]: *** [test] Error 8
make: *** [test] Error 2

Does couchbase want the results specifics or not?

How should I interpret them?