arangodb RHEL install fails via yum

336 views
Skip to first unread message

Shekar Tippur

unread,
May 15, 2013, 2:39:25 AM5/15/13
to aran...@googlegroups.com
Hello..

I get a error when trying to install arangodb on RHEL 5.

# yum install arangodb
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for arangodb to pack into transaction set.
arangodb-1.3.0-13.1.i686. 100% |=========================| 110 kB    00:00     
Trying other mirror.
Error: failure: i686/arangodb-1.3.0-13.1.i686.rpm from arangodb: [Errno 256] No more mirrors to try.


Here is the OS information -
Red Hat Enterprise Linux Server release 5 (Tikanga)

Linux master 2.6.18-8.el5xen #1 SMP Fri Jan 26 14:29:35 EST 2007 x86_64 x86_64 x86_64 GNU/Linux

Appreciate if anyone can guide me thro the install.
- Shekar

Jan Steemann

unread,
May 15, 2013, 3:30:18 AM5/15/13
to aran...@googlegroups.com, Shekar Tippur
I am not sure at all as I have no RedHat installed at the moment.
Interpreting the error message below it looks like there are problems
downloading the RPM.

Can you confirm that you can access and download the rpm?

If you do a

> wget
"http://www.arangodb.org/repositories/stable/RedHat_RHEL-6/i686/arangodb-1.3.0-13.1.i686.rpm"

it should download the RPM with a size of about 27MB.

The md5sum of the file should be:

> md5sum arangodb-1.3.0-13.1.i686.rpm
240b1eb374ad7cc12fb099fa964e97c8 arangodb-1.3.0-13.1.i686.rpm

If these steps work ok, can you then trying to install from the
downloaded rpm to see if there's also a problem?

Btw the rpm is built for RHEL 6. I am not sure if there is going to be a
problem when this is used on RHEL 5. I would need to check that.

But could you try the above steps first?

Thank you and best regards
Jan

Shekar Tippur

unread,
May 15, 2013, 3:35:38 AM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
#  md5sum arangodb-1.3.0-13.1.i686.rpm 
240b1eb374ad7cc12fb099fa964e97c8  arangodb-1.3.0-13.1.i686.rpm

The md5sum matches. 

I see failed dependencies when I try to install the rpm

# rpm -ivh arangodb-1.3.0-13.1.i686.rpm
warning: arangodb-1.3.0-13.1.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1c42e360
error: Failed dependencies:
libc.so.6(GLIBC_2.7) is needed by arangodb-1.3.0-13.1.i686
libc.so.6(GLIBC_2.9) is needed by arangodb-1.3.0-13.1.i686
libcrypto.so.10 is needed by arangodb-1.3.0-13.1.i686
libreadline.so.6 is needed by arangodb-1.3.0-13.1.i686
libssl.so.10 is needed by arangodb-1.3.0-13.1.i686
libstdc++.so.6(GLIBCXX_3.4.11) is needed by arangodb-1.3.0-13.1.i686
libstdc++.so.6(GLIBCXX_3.4.9) is needed by arangodb-1.3.0-13.1.i686
rpmlib(FileDigests) <= 4.6.0-1 is needed by arangodb-1.3.0-13.1.i686
rpmlib(PayloadIsXz) <= 5.2-1 is needed by arangodb-1.3.0-13.1.i686

- Shekar

Frank Celler

unread,
May 15, 2013, 5:52:57 AM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
We are using the OpenSuSE Build Service to build the packages. Unfortunately, RHEL 5 is no longer support, the oldest (and only :-) supported version there is RHEL 6.

If seems that RHEL 5 does not provided suitable (ie newer) versions required by the executable. There are two possibilities:

(1) You compile RHEL 5 by yourself. You need a RHEL with GNU C/C++ and the autotools. Do you have access to such a machine?
(2) We try to find a Centos somewhere and compile it there. This however can take some time.

Is it possible for you to try (1)?

cheers
  Frank

Shekar Tippur

unread,
May 15, 2013, 10:55:07 AM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
Frank -

Sure .. Let me give it a shot. If it works, Can I submit it for someone else to use?

To upgrade to 6.x is expensive as I cannot do it inline.

- Shekar

Frank Celler

unread,
May 15, 2013, 11:04:43 AM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
My hope is that it is easy (basically ./configure with the right options and "make install") to compile ArangoDB under RHEL 5. If this is the case, we should but the correct options into the manual. Can you try:

./configure --enable-all-in-one-libev --enable-all-in-one-icu --enable-all-in-one-v8

The hard would then be to build a real RPM package. That is better be automate (and we are using the SuSE build server for this).

Shekar Tippur

unread,
May 15, 2013, 11:10:06 AM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
Sure .. That helps. Can I get the spec file so I can attempt to create the rpm?

- Shekar

Frank Celler

unread,
May 15, 2013, 11:11:31 AM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de

Shekar Tippur

unread,
May 15, 2013, 11:37:22 AM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de

Jan Steemann

unread,
May 15, 2013, 11:42:53 AM5/15/13
to Shekar Tippur, aran...@googlegroups.com
I can access it without problems, using my browser. I can also download
the page with wget.

I am at home, using a not-too-fast internet connection, no proxy servers
and no extra authentification.

Though HTTP 503 is a server-side error, is it possible that you're
behind some proxy server that prevents you from accessing the web page?

Best regards
Jan

Frank Celler

unread,
May 15, 2013, 1:08:35 PM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
This is the spec file:

#
# spec file for package arangodb
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

%define _cfgdir %{_sysconfdir}/arangodb
%define _databasedir %{_localstatedir}/lib/arangodb
%define _logdir %{_localstatedir}/log/arangodb
%define _piddir %{_localstatedir}/run/arangodb

%define _builtinEV --disable-all-in-one-libev

%define _builtinV8 --enable-all-in-one-v8

%define _skipFdupes 0

%define _builtinICU --enable-all-in-one-icu
%define _builtMRuby --disable-mruby
%define _with_unittests 0
%define _maintainer_mode ""

Name:           arangodb
Version:        1.3.0
Release:        13
Summary:        An open-source, multi-model NoSQL database
License:        Apache-2.0
Group:          Productivity/Databases/Servers
Url:            http://www.arangodb.org
Source:         %{name}-%{version}.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  gcc
BuildRequires:  gcc-c++
BuildRequires:  make
BuildRequires:  readline-devel
BuildRequires:  python
%{?systemd_requires}

# with unit-tests
%if %{_with_unittests} != 0
BuildRequires:  ctags
BuildRequires:  curl
BuildRequires:  bison
BuildRequires:  flex
BuildRequires:  boost-devel
%define _maintainer_mode --enable-maintainer-mode
%endif

# only needed if you want to rebuild the documentation
# BuildRequires: doxygen graphviz graphviz-gd graphviz-gnome python


%if 0%{?suse_version}
BuildRequires: libopenssl-devel
BuildRequires: pwdutils
BuildRequires: fdupes

%if 0%{?suse_version} >= 1210
BuildRequires: systemd
%endif

#
# use builtin libev for SLES
#

%if 0%{?sles_version} != 0
%define _builtinEV --enable-all-in-one-libev
%else
BuildRequires: libev-devel
Requires: libicu
BuildRequires: libicu-devel
%define _builtinICU --enable-icu
%endif

%endif


%if 0%{?centos_version} || 0%{?rhel_version}
BuildRequires: openssl-devel
%define _builtinEV --enable-all-in-one-libev
%define _skipFdupes 1

# bugfix for ncurses
%ifarch i686 i586 i486 i386
%define optflags -O2 -g -march=i586
%endif

%endif


%if 0%{?fedora_version}
BuildRequires: openssl-devel
Requires: libicu
BuildRequires: libicu-devel
%define _builtinICU --disable-all-in-one-icu --enable-icu
%define _builtinEV --enable-all-in-one-libev
%define _skipFdupes 1

%endif

%if 0%{?mdkversion}
BuildRequires: openssl-devel
Requires: libicu
BuildRequires: libicu-devel
%define _builtinICU --enable-icu
%define _builtinEV --enable-all-in-one-libev
%define _skipFdupes 1
%endif

##############################################################################
#
#  description SECTION
#
##############################################################################

%description
ArangoDB is a durable, reliable, transactional multi-model database. It's key-features are: Schema-free schemata, an integrated application server, flexible data modelling, free index choice, and configurable durability.

The ArangoDB consists of a server, a separate shell, which allows you to administrate the server, and a set of client API for various languages.

It is written in C/C++.


%prep
%setup -q

##############################################################################
#
#  build SECTION
#
##############################################################################

%build
%if 0%{?centos_version} < 600 || 0%{?rhel_version} < 600
export READLINE_LDFLAGS="-lncurses"
%endif

%configure \
        %{_maintainer_mode} \
        %{_builtinEV} \
        %{_builtinV8} \
        %{_builtinICU} \
        %{_builtMRuby}

make %{?jobs:-j%jobs}

##############################################################################
#
#  install SECTION
#
##############################################################################

%install
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p %{buildroot}%{_databasedir}
mkdir -p %{buildroot}%{_logdir}
mkdir -p %{buildroot}%{_piddir}

%if 0%{?suse_version}

%{__install} -D -m 0755 Installation/Linux/rc.arangod.OpenSuSE %{buildroot}%{_sysconfdir}/init.d/arangodb
ln -s %{_sysconfdir}/init.d/arangodb %{buildroot}%{_sbindir}/rcarangodb

%if 0%{?suse_version} >= 1210
%{__install} -D -m 0644 etc/systemd/arangodb.service %{buildroot}%{_unitdir}/arangodb.service
%endif

%else
%{__install} -D -m 0755 Installation/Linux/rc.arangod.Centos %{buildroot}%{_sysconfdir}/init.d/arangodb
%endif

%if %{_skipFdupes} == 0
%fdupes %{buildroot}%{_datadir}/arangodb
%endif



%check
%if %{_with_unittests} != 0
make unittests
make unittests-shell-server
%endif

%post
%if 0%{?suse_version}

%{fillup_and_insserv -f -y arangodb}
%restart_on_update arangodb

%if 0%{?suse_version} >= 1210
%service_add_post arangodb.service
%endif

%else
chkconfig --level 2345 arangodb on
%endif

echo "
ArangoDB (http://www.arangodb.org)
  A universal open-source database with a flexible data model for documents,
  graphs, and key-values.

First Steps with ArangoDB:
  http:/www.arangodb.org/quickstart

Upgrading ArangoDB:
  http://www.arangodb.org/manuals/current/Upgrading.html

Upgrading ArangoDB database files:
  > /etc/init.d/arangodb upgrade

Configuration file:
  /etc/arangodb/arangod.conf

Start ArangoDB shell client:
  > ${bindir}/arangosh
"

%if 0%{?suse_version} >= 1210
echo "Start ArangoDB service:
  > systemctl start arangodb.service

Enable ArangoDB service:
  > systemctl enable arangodb.service
"
%else
echo "Start ArangoDB service:
  > /etc/init.d/arangodb start
"
%endif

exit 0






%postun
%if 0%{?suse_version}

%restart_on_update arangodb
%insserv_cleanup

%if 0%{?suse_version} >= 1210
%service_del_postun arangodb.service
%endif

%else
exit 0
%endif






%pre
# create arangodb group only if it doesn't already exist
if ! getent group arangodb >/dev/null 2>&1; then
        /usr/sbin/groupadd -r arangodb
fi

# create arangodb user only if it doesn't already exist
if ! getent passwd arangodb >/dev/null 2>&1; then
        /usr/sbin/useradd -r -g arangodb --home %{_localstatedir}/arangodb arangodb
        /usr/sbin/usermod -c "Arango Server" arangodb
fi
%if 0%{?suse_version} >= 1210
%service_add_pre arangodb.service
%endif







%preun
%if 0%{?suse_version}
%stop_on_removal arangodb

%if 0%{?suse_version} >= 1210
%service_del_preun arangodb.service
%endif

%else
%{_sysconfdir}/init.d/arangodb stop > /dev/null 2>&1 || true
chkconfig --del arangodb
exit 0
%endif






%files
%defattr(-,root,root,0755)
%doc README
%doc README.md
%doc Doxygen/doc
%attr(0755,arangodb,arangodb) %{_databasedir}
%attr(0755,arangodb,arangodb) %{_logdir}
%ghost %attr(0755,arangodb,arangodb) %{_piddir}
%config(noreplace) %attr(-,arangodb,arangodb) %{_cfgdir}
%{_bindir}/*
%{_sbindir}/*
%{_mandir}/*/*
%{_datadir}/arangodb
%{_sysconfdir}/init.d/arangodb

%if 0%{?suse_version} >= 1210
%{_unitdir}/arangodb.service
%endif




%changelog

Shekar Tippur

unread,
May 15, 2013, 2:49:57 PM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
Frank -

sudo ./configure --enable-all-in-one-libev --enable-all-in-one-icu --enable-all-in-one-v8

Ran that to compile ...

checking readline/readline.h presence... yes
checking for readline/readline.h... yes
checking for readline in -lreadline... no
configure: error: Please install readline support

Trying to dig in further. Any quick tip?

ends with this error.

Interesting ...

$ rpm -qa|grep readline
readline-devel-5.1-1.1
readline-5.1-1.1
readline-5.1-1.1
readline-devel-5.1-1.1

I see readline rpm already installed. Wondering what could be the issue.

- Shekar

Frank Celler

unread,
May 15, 2013, 4:56:04 PM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
Strange. Can you append the config.log?

Frank Celler

unread,
May 15, 2013, 5:16:11 PM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
I did some googling. Can you try:

./configure --enable-all-in-one-v8 --enable-all-in-one-icu --enable-all-in-one-libev LDFLAGS=-lncurses

Shekar Tippur

unread,
May 15, 2013, 5:37:17 PM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
Let me try this...

- Shekar

Shekar Tippur

unread,
May 15, 2013, 5:51:27 PM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
Awesome .. Thanks a lot. I am able to compile it.

- Shekar

Shekar Tippur

unread,
May 15, 2013, 5:59:57 PM5/15/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
I was able to compile but I get a error during make

cd ./3rdParty/V8 && CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" make library=static strictaliasing=off snapshot=off werror=no x64.release
make[1]: Entering directory `/home/shekart/git/ArangoDB/3rdParty/V8'
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
             -Ibuild/standalone.gypi --depth=. \
             -Dv8_target_arch=x64 \
             -S.x64  -Dv8_enable_backtrace=1 -Dv8_use_snapshot='false' -Dv8_can_use_vfp2_instructions=true -Darm_fpu=vfpv2 -Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3 -Dwerror='' -Dv8_no_strict_aliasing=1
Traceback (most recent call last):
  File "build/gyp/gyp", line 15, in ?
    import gyp
  File "build/gyp/pylib/gyp/__init__.py", line 8, in ?
    import gyp.input
  File "build/gyp/pylib/gyp/input.py", line 14, in ?
    import gyp.common
  File "build/gyp/pylib/gyp/common.py", line 395
    with open(source_path) as source_file:
            ^
SyntaxError: invalid syntax
make[1]: *** [out/Makefile.x64] Error 1
make[1]: Leaving directory `/home/shekart/git/ArangoDB/3rdParty/V8'

- Shekar

On Wednesday, 15 May 2013 14:16:11 UTC-7, Frank Celler wrote:

Shekar Tippur

unread,
May 16, 2013, 1:07:26 AM5/16/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
Looks like the python (2.4.2) version would not take 
 with open(source_path) as source_file: format.

Looked up the recommended version on python site http://www.python.org/download/releases/2.7.4/

and installed the latest.

I am able to get to the arangodb shell now.

A big thanks to Jan and Frank for guiding me through.

So for anyone's benefit, to get arangodb running on RHEL 5.X 64 bit platform,

1. Install GIT
3. Get latest python version http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tar.bz2 (or whatever is the latest)
    bzip2 -d Python-2.7.4.tar.bz2 && tar xf Python-2.7.4.tar 
   cd Python-2.7.4
   sudo ./configure
   sudo make
   sudo make install
4. go to ArangoDB folder and 
   sudo ./configure --enable-all-in-one-v8 --enable-all-in-one-icu --enable-all-in-one-libev LDFLAGS=-lncurses
   sudo make
   sudo make install

This should do the trick.

Frank Celler

unread,
May 16, 2013, 2:54:43 AM5/16/13
to aran...@googlegroups.com, Shekar Tippur, j.ste...@triagens.de
Cool, I put the instruction into the manual.
Reply all
Reply to author
Forward
0 new messages