Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HHVM 3.2 on Centos 6.5 #3360

Closed
Firebrand opened this issue Aug 5, 2014 · 28 comments
Closed

HHVM 3.2 on Centos 6.5 #3360

Firebrand opened this issue Aug 5, 2014 · 28 comments
Labels

Comments

@Firebrand
Copy link

@Firebrand Firebrand commented Aug 5, 2014

Hello. From what I've seen online there's a lot of people who wish there was an easy pre-built way to install HHVM 3.2 on Centos 6.5. Thanks

@ck-on
Copy link

@ck-on ck-on commented Aug 5, 2014

The problem is HHVM requires a very large number of dependencies and CentOS 6.5 libraries in base and epel repos are far too old.

Anyone who builds a HHVM package for CentOS 6.x has to build all those dependencies and maintain them.

There are two 3rd party attempts I am aware of to put HHVM on CentOS 6.x and both are far behind the main release (HHVM updates around every 2 weeks). It is important to keep up with HHVM releases - they seem to refuse to use the "beta" label but IMHO it is very beta.

Then there is the factor where you have to trust binaries from an unknown 3rd party source.

However it is far more straightforward on CentOS 7.0 for what that is worth.
The CentOS folks are beta testing an upgrade tool for 6.x->7.0 if that is of any interest to you.

@Firebrand
Copy link
Author

@Firebrand Firebrand commented Aug 5, 2014

Hi,

Thank you for you great, in-depth reply. So now I'm considering asking my host to change up the OS on my dedicated server machine. What are some IDEAL Linux distros on which to easily install the latest version of HHVM?

@ck-on
Copy link

@ck-on ck-on commented Aug 5, 2014

Linux flavor tends to be a personal choice of the sysadmin. If you are not managing your own server you'll have to discuss it with them. If you want to use prebuilt HHVM, looking at this list your choices would probably be down to Ubuntu and Debian:

https://github.com/facebook/hhvm/wiki/Prebuilt%20Packages%20for%20HHVM
(the others on that list are not suitable for hosting)

However if you are using CentOS 6.5 now you may be using that for other reasons like maybe a control panel, which may not be available on the other flavors.

I am not sure if I would recommend using HHVM on a server you are not managing yourself IMHO, it all comes down to how good and knowledgeable (and willing) your support is.

@sandeepone
Copy link

@sandeepone sandeepone commented Aug 5, 2014

Yes Centos 6.x requires many libraries and various latest versions. Main issue with GCC 4.8. So we handled these issues differently we built gcc48 and related rpms , boost 1.54 rpm and hhvm rpm. Other dependencies like imagick, pcre, curl, libevent are built in the repo itself. If you need I can help you the process of installing the order of rpms from our repo. We've been using them for more than an year without any conflict in production environment.

http://yum.gleez.com/6/x86_64/repoview/index.html

@ck-on
Copy link

@ck-on ck-on commented Aug 5, 2014

@sandeepone there is no need to build gcc 4.8 on CentOS 6.x

CERN is a trusted repo and scientific linux 6 is binary compatible with CentOS, so you can just install devtoolset http://linux.web.cern.ch/linux/devtoolset/#dts21

rpm --import http://www.scientificlinux.org/documentation/gpg/RPM-GPG-KEY-cern
wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
yum install devtoolset-2-binutils devtoolset-2-gcc devtoolset-2-gcc-c++

then to enable gcc 4.8 instead of the built in gcc, use scl enable devtoolset-2 bash

Saves a few hours of compiling.

@ck-on
Copy link

@ck-on ck-on commented Aug 5, 2014

I added gleez repo to the wiki to help others with CentOS 6.x
https://github.com/facebook/hhvm/wiki/Prebuilt-Packages-on-Centos-6.x

@Firebrand
Copy link
Author

@Firebrand Firebrand commented Aug 5, 2014

Thanks ck-on. Awesome info. However, I tried to get the gleez repo and it gave me a "curl: (22) The requested URL returned error: 403 You are banned from this site. Please contact via a different client configuration if you believe that this is a mistake."

Is it accessible to everyone?

@ck-on
Copy link

@ck-on ck-on commented Aug 5, 2014

@Firebrand I am able to download the rpm

Your host ip range may be blocked, perhaps another server at your host was abusive to their bandwidth

You may be able to contact sandeepone https://github.com/sandeepone and ask them to unblock your ip.

@sandeepone
Copy link

@sandeepone sandeepone commented Aug 6, 2014

@ck-on at the time of compiling we don't find the gcc 4.8, so we rolled our own. The difference is its parallel package default is gcc and gcc48. Since we use it for other compiling as well.

@Firebrand I'll check the 403 error, we've some basic varnish ACL's blocking i think wget and other crawlers, that might be the issue. Will look into it.

@sandeepone
Copy link

@sandeepone sandeepone commented Aug 6, 2014

For pre-compiled HHVM binaries you don't need GCC 48, however, we need libgcc and libstdc, even we tried to build with -DSTATIC_CXX_LIB=On still no luck, its built but when i run ldd it still uses the shared library.

@sandeepone
Copy link

@sandeepone sandeepone commented Aug 6, 2014

Instructions on installing HHVM from Gleez repo:

Install the required dependencies from gleez and epel

yum install libstdc++48 libgcc48 libgomp48 libatomic48 libasan48 --enablerepo=gleez
yum install inotify-tools libdwarf --enablerepo=epel
yum install boost libbson --enablerepo=gleez

Install this from remi repo

yum install libwebp --enablerepo=remi

Remove uneeded devels in production systems

yum remove boost-devel libstdc++48-devel --enablerepo=gleez

Install the latest hhvm

yum install hhvm --enablerepo=gleez

Note: I personally prefer enablerepo, since i wont enable any repos defaults to on except the base

@fredemmott
Copy link
Contributor

@fredemmott fredemmott commented Aug 11, 2014

Seems like you got enough information?

@fredemmott fredemmott closed this Aug 11, 2014
@hybmg57
Copy link

@hybmg57 hybmg57 commented Aug 15, 2014

@sandeepone I've installed HHVM 3.2 on CentOS 6.5 from your gleez repo and I'm having performance problems in my production environment. Basically your version seems like a -dev version and also your package is marked as 3.2 but when I installed and typed "hhvm --version" I've got 3.2-dev

Do you have any stable version not dev?

@sandeepone
Copy link

@sandeepone sandeepone commented Aug 16, 2014

@hybmg57
Copy link

@hybmg57 hybmg57 commented Aug 17, 2014

@sandeepone thank you for this. I've tried it again with new stable RPM. Successfully installed but it's now giving me "hhvm: error while loading shared libraries: libzip.so: cannot open shared object file: No such file or directory". Any ideas we can fix this?

@hybmg57
Copy link

@hybmg57 hybmg57 commented Aug 17, 2014

@fredemmott is there any way to get HHVM 3.2 yum package for Centos 6.5 that are officially supported by Facebook? The reason why I'm saying that is that there seem to be a lot of people using Centos 6.5 but there are no easy way of installing this.

@hybmg57
Copy link

@hybmg57 hybmg57 commented Aug 18, 2014

@sandeepone this is a quick temporary hack but the fix included using below command prior to running HHVM
export LD_LIBRARY_PATH=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64/jre/lib/amd64/:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64/jre/lib/amd64/server/

@fredemmott
Copy link
Contributor

@fredemmott fredemmott commented Aug 18, 2014

@hybmg57: sorry, we're very unlikely to work on that; we're hoping that once HHVM is included in Debian, other distributions will follow shortly.

@Firebrand
Copy link
Author

@Firebrand Firebrand commented Sep 10, 2014

Sandeep, thanks for the great work on this. I'm coming back to it now and tried to install hhvm from the gleez repo but am getting the following error:

Error: Package: hhvm-3.3.0-9.el6.x86_64 (gleez)
Requires: libmysqlclient.so.18(libmysqlclient_16)(64bit)

The odd thing is that I tried to manually install the requirement with: rpm -Uvh ftp://ftp.pbone.net/mirror/rpms.famillecollet.com/enterprise/6/remi/x86_64/compat-mysql51-5.1.54-1.el6.remi.x86_64.rpm but it tells me that this package is already installed.

I much appreciate your help.

@centminmod
Copy link

@centminmod centminmod commented Sep 21, 2014

@sandeepone does HHVM 3.3 require a specific version of libvpx ? I tried your repo and on HHVM 3.3 install get the following on CentOS 6.5 64bit

--> Finished Dependency Resolution
Error: Package: hhvm-3.3.0-9.el6.x86_64 (gleez)
           Requires: libvpx.so.0()(64bit)
           Available: libvpx-0.9.0-8.el6_0.x86_64 (base)
               libvpx.so.0()(64bit)
           Installed: libvpx-1.3.0-5.el6_5.x86_64 (@updates)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
@sandeepone
Copy link

@sandeepone sandeepone commented Sep 25, 2014

@centminmod I finally build the latest HHVM after fixing many issues, Please try the HHVM Stable 3.3.0 will work.

@sandeepone
Copy link

@sandeepone sandeepone commented Sep 25, 2014

@Firebrand I'm using the mysql 5.5, so it conflicts with your mysql 5.1. Try updating mysql from Remi repo.

@Eimazas
Copy link

@Eimazas Eimazas commented Oct 15, 2014

I upgraded my centos 6.5 mysql to 5.5 still i get the same error:
--> Finished Dependency Resolution
Error: Package: hhvm-3.4.0-3.el6.x86_64 (gleez)
Requires: libboost_system.so.1.54.0()(64bit)
Error: Package: hhvm-3.4.0-3.el6.x86_64 (gleez)
Requires: libboost_program_options.so.1.54.0()(64bit)
Error: Package: hhvm-3.4.0-3.el6.x86_64 (gleez)
Requires: libboost_filesystem.so.1.54.0()(64bit)
Error: Package: hhvm-3.4.0-3.el6.x86_64 (gleez)
Requires: libboost_thread.so.1.54.0()(64bit)
Error: Package: hhvm-3.4.0-3.el6.x86_64 (gleez)
Requires: libboost_regex.so.1.54.0()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

EDIT: whenever i try to install libstdc++48 or libbson it says that they ar not signed

@mzupan
Copy link

@mzupan mzupan commented Nov 14, 2014

@sandeepone do you have the src.rpms for your builds that you can release?

@dumpingground12222
Copy link

@dumpingground12222 dumpingground12222 commented May 5, 2015

@sandeepone ill be honest, we have given up, its a mess the installation of HHVM on Centos 6.6 (which has WHM/CPanel-Nginx) with no documentation.

So we have set up a AWS EC2 with Ubunu -nginx and HHVM but now hitting a stone wall as no one seems to know how to migrate a site (6gig) and set it up live on the new server (configured and operational) so if you know of anywhere we can hire someone to do this please get in touch

@sandeepone
Copy link

@sandeepone sandeepone commented May 5, 2015

@NotApplicableBeech Please contact me [SANDEEPONE at GMAIL dot COM]

@southerncomputer
Copy link

@southerncomputer southerncomputer commented Sep 1, 2017

where did yum.gleez.com go?

@sandeepone
Copy link

@sandeepone sandeepone commented Sep 1, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
10 participants
You can’t perform that action at this time.