CouchDB 2.0.0 make install fails on CentOS 7 - couchdb

I am going by the CouchDB docs install directions:
http://docs.couchdb.org/en/2.0.0/install/unix.html
I install the dependencies:
$ sudo yum install autoconf autoconf-archive automake \
curl-devel erlang-asn1 erlang-erts erlang-eunit \
erlang-os_mon erlang-xmerl help2man \
js-devel-1.8.5 libicu-devel libtool perl-Test-Harness
Configure goes fine:
$ ./configure
You have configured Apache CouchDB, time to relax. Relax.
But just as I'm starting to feel relaxed I get thrown a curve ball by gmake:
$ make release
Uncaught error in rebar_core: {error, {erl_interface,include,"code:lib_dir(erl_interface)is unable to find the erl_interface library."}}
The only clue the docs give is to try gmake if make fails but since gmake and make are the same on CentOS 7 that doesn't help.
From the output it appears to be a dependency issue but I don't pretend to understand Erlang dependencies or know anything about this particular one. I installed the packages in yum the docs suggest, I thought that should be enough.
Any help would be appreciated.

To fix all build errors I have installed erlang-reltool, gcc-c++ and erlang-erl_interface besides the packages suggested in CouchDB docs.
As a side note, I have also adapted the adduser command from CouchDB docs to:
adduser --system --no-create-home --shell /bin/bash -U -c "CouchDB Administrator" couchdb

I looked at an blog post about installing CouchDB 2.0 on CentOS 7 here:
https://medium.com/linagora-engineering/setting-up-a-couchdb-2-cluster-on-centos-7-8cbf32ae619f
They include erlang itself in the yum dependencies.
I tried this on my machine and that did the trick.
I don't know if this is the best way to go but it works.
If anyone has a better solution of installing only the needed erlang packages that CouchDB requires I'd like to hear about that.
Also if anyone managing the docs at CouchDB is listening, the install directions of the web page don't work for CentOS 7. I've tried it on two machines with the same error above.
Incidentally the instructions for setting up a couchdb user and group don't work on CentOS 7 either. To get it to work you have to know enough Linux to interpret some unusual options like setting up a system account and making it geco and interpret what they mean from the instructions that presumably work on Ubuntu and then translate that into the equivalent options that work on CentOS 7 and be pretty confident your not misconfiguring your server and creating a security vulnerability. You have to decide if you want to limit the people that are able to even install your DB to people who have those Linux skills. If you decide you do, I'm going to feel left out.

Related

install VMOD basic-auth for Varnish

Im trying to install the VMOD called basicauth.
This is the repo: https://git.gnu.org.ua/vmod-basicauth.git
There is also a README file which is supposed to help guide you through the process.
It tells you to pull the code, also pull code of varnish (did that with help of sudo apt-get source varnish )... I did that, so far so good.
But then Im supposed to do this:
run:
./configure --with-varnish-source=/usr/src/varnish-3.0.1 --with-vmod-dir
THE PROBLEM
I have been trying to figure out where to find that "configure" script. I have no idea where to find it.
When I look at other tutorials, like this one I guess that it should within the vmod-basicauth folder... but it is not. There is only configure.ac. It tried running that file, but that does not work. Does anyone of you know how I can install this VMOD? Any tips or help would be appreciated.
Also: it seems there is only information off very old tutorials and repos... any idea where I could some more up to date infos?
UPDATE
I have also downloaded "The Varnish Book" now, checked on how to isntall "libvmod-example." Within that folder there is a "autogen.sh" file that create the "configure" file. But I also cannot find a any "autogen.sh" in the basicauth package...
Hahha ..... arrrrrrr Im getting nowhere.
Does anyone know where I can find a good tutorial?
Im wokring with ubuntu-server currently. Noticed that redhad has VMODs in their repos, but that won't help me ;)
SYSTEM INFO
Here is some more info about my system:
dpkg -l | grep varnish
ii libvarnishapi-dev:amd64 6.2.1-2 amd64 development files for Varnish
ii libvarnishapi2:amd64 6.2.1-2 amd64 shared libraries for Varnish
rc varnish 6.2.1-2 amd64 state of the art, high-performance web accelerator
Serverifno (a local development VM in this case):
Best,
AuthenticPinguin
I just tested it, and I didn't experience any problems compiling the VMOD.
Here's a step-by-step guide on how to install it.
1. Get a recent Varnish version
I'm not sure whether or not you installed Varnish through the Ubuntu packages, but I advise you to install it via the official packages: https://packagecloud.io/varnishcache/.
2. Install the build dependencies
Install the required build dependencies by using the following command:
apt-get install -y varnish-dev autoconf automake gcc libtool make python3-docutils git
Most of these dependencies are trivial, but there's one specific package that might not be found unless you're using the official Varnish package repo. It's varnish-dev.
I've tried looking for it natively in the Ubuntu Focal repository, and the closest I came was libvarnishapi-dev, but that didn't really work.
That's why I advise using the official packages from https://packagecloud.io/varnishcache/. The version I prefer is https://packagecloud.io/varnishcache/varnish60lts, because it's the LTS version.
3. Get the source code
Once you've put all the dependencies in place, you can go ahead and download the VMOD source code by running the following commands:
cd /usr/src/
git clone git://git.gnu.org.ua/vmod-basicauth.git
As you can see the code will be place in the /usr/src directory.
4. Compile the code
Now that the source code is on your system, you run the following commands to configure, compile and install the VMOD code:
./bootstrap
./configure
make
make install
If ./configure cannot be found, it means it wasn't properly generated by the ./bootstrap command. If that happens, have a look at the output of your ./bootstrap command to figure out what went wrong.
5. Import the VMOD
The VMOD has been installed in the proper location, so it's time to import it into your VCL file and use its features.
Here's a VCL example:
vcl 4.1;
import basicauth;
sub vcl_recv {
if (!basicauth.match("/var/www/.htpasswd",req.http.Authorization)) {
return(synth(401,"Authentication required"));
}
}

Cassandra installation issues

I am trying to install datastax's cassandra in ubuntu, I can't understand the installation process. Help me.
steps followed :
jdk installation
cassandra download by command
curl -L http://downloads.datastax.com/datastax-ddc/datastax-ddc-3.5.0-bin.tar.gz | tar xz
That is all, I can't understand what or any of the installation steps, provided here.
BTW What is it meant by "install_location" and "path_to_install"
.
install_location is the directory you want to untar the files you have downloaded in. I think path_to_install is the same thing (but I cant find it on your link)
These are very basic things your having problems with. You might find its easier to install the packaged install via apt (http://docs.datastax.com/en/cassandra/3.x/cassandra/install/installDeb.html). It will install everything in standard locations (http://docs.datastax.com/en/cassandra/3.x/cassandra/install/referenceInstallLocatePkg.html), set up paths, users, env variables etc..

CentOS 7 ask for cabextract even when is installed

I wanted to install msttfonts on CentOS 7. Following this guide everything goes fine, until I got to run the command:
# rpmbuild -bb msttcorefonts-2.5-1.spec
The system then throws this message:
cabextract is needed by msttcorefonts-2.0-1.noarch
It is pretty obvious that I've to install cabextract, so I did. By Downloading source from here, extracting, and then ./config... make... make install... (you know guys: all the routine). And I confirm the installation was successful with
# cabextract --version
Which answers with
cabextract version 1.6
So, I go back with my command rpmbuild... But the system stills answer me
cabextract is needed by msttcorefonts-2.0-1.noarch
And now, the questions:
What I'm doing wrong? Do I need to reboot the server? Is there a kind of command to tell the server "hey! this cabextract thing is already installed"?
... and well, while I was writting this question, I could resolve it thanks to this post. So I just leave this question just for further reference.
Thanks in advance.
You need to install the cabextract package (by running yum install cabextract).
The message you are seeing is a dependency error: the msttcorefonts-2.5-1.spec file lists a dependency on cabextract, but because you have installed it from source there is no information about it in the local packages database.

How do I update kernel-utils?

Brace yourself, I'm a Windows admin messing with a CentOS 6 server.
Let's start by saying I know very little about Linux.
I'm trying to load an rmmagent, GFI/MaxFocus's agent. It's failing the dependency check on kernel-utils and unzip.
error: Failed dependencies:
kernel-utils is needed by rmmagent-1.0.2.centos6-1.2.x86_64
unzip is needed by rmmagent-1.0.2.centos6-1.2.x86_64
I Googled myself to death, but I think I just don't know enough about Linux to make this go.
Can someone educate me or point me to the right place to learn how to do this? Thanks!
-Jeff
PS: I got unzip installed without issue.
We had the same issue. We spoke to the LogicNow support and they give us this solution:
wget -c ftp://rpmfind.net/linux/Mandriva/official/9.1/i586/Mandrake/RPMS/ksymoops-2.4.8-1mdk.i586.rpm
yum install ksymoops-2.4.8-1mdk.i586.rpm

How to mentally rationalize apt-get install "unable to find package error" and outline a troubleshoot approach

I've been programming for about 6 months but have just started moving into Operating Systems and the internals of Linux/Ubuntu and how OS's work in general. For my job, I'm tasked to do a lot of configuration setups with packages Linux, nginx,rails, etc and every once in a while I run into an error like the one I am currently experiencing.
sudo apt-get install cvsnt
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package cvsnt
These errors frustrate me because I don't have a formulated attack plan to troubleshoot it. I'm taking EdX's introduction to Linux and that has been helpful, but the internals of Linux is still a mystery me and when something like this pops up its very difficult for me to figure out what to do. Most of the time I hope that stackoverflow has an answer for the specific problem I'm having.
So how would I attack this problem? There is no error that is helpful other than that the package has not been found. Do I check the CVSNT docs first? Is there something wrong with Ubuntu Linux? Is there something wrong with dpkg? Is there a file to check for stuff? Is it a path problem? Where do you start. I'd like to be able to navigate through these problems effectively because they won't be going away anytime soon as long as I'm assigned to configure things. Thanks.
You need to read and understand how Aptitude or apt works. In a nutshell you need to tell it where the CVSNT repository is in sources.list otherwise it will not know.
First make sure the "Universe" is enabled in you etc/apt/sources.list as below where <YourRelease> would or could be lucid or trusty if its 14.04. You did not mention which version of Ubuntu you're on. You want this line enabled or if it is not there add it
deb http://us.archive.ubuntu.com/ubuntu/ <YourRelease> main universe
Then do
sudo apt-get update
to reread the sources.list then follow that with
sudo apt-get install cvsnt
See what you get. This should install the correct version of CVSNT and any dependencies required. You will need python running for CVSNT to work.
Good luck and let us know.

Resources