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

Comments

Projects
None yet
10 participants
@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

This comment has been minimized.

Show comment
Hide comment
@ck-on

ck-on 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.

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

This comment has been minimized.

Show comment
Hide comment
@Firebrand

Firebrand 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?

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

This comment has been minimized.

Show comment
Hide comment
@ck-on

ck-on 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.

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

This comment has been minimized.

Show comment
Hide comment
@sandeepone

sandeepone 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

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

This comment has been minimized.

Show comment
Hide comment
@ck-on

ck-on 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 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

This comment has been minimized.

Show comment
Hide comment
@ck-on

ck-on 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

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

This comment has been minimized.

Show comment
Hide comment
@Firebrand

Firebrand 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?

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

This comment has been minimized.

Show comment
Hide comment
@ck-on

ck-on 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.

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

This comment has been minimized.

Show comment
Hide comment
@sandeepone

sandeepone 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 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

This comment has been minimized.

Show comment
Hide comment
@sandeepone

sandeepone 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 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

This comment has been minimized.

Show comment
Hide comment
@sandeepone

sandeepone 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

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

This comment has been minimized.

Show comment
Hide comment
@fredemmott

fredemmott Aug 11, 2014

Contributor

Seems like you got enough information?

Contributor

fredemmott commented Aug 11, 2014

Seems like you got enough information?

@fredemmott fredemmott closed this Aug 11, 2014

@hybmg57

This comment has been minimized.

Show comment
Hide comment
@hybmg57

hybmg57 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?

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

This comment has been minimized.

Show comment
Hide comment
@sandeepone

sandeepone commented Aug 16, 2014

@hybmg57

This comment has been minimized.

Show comment
Hide comment
@hybmg57

hybmg57 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 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

This comment has been minimized.

Show comment
Hide comment
@hybmg57

hybmg57 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 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

This comment has been minimized.

Show comment
Hide comment
@hybmg57

hybmg57 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/

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

This comment has been minimized.

Show comment
Hide comment
@fredemmott

fredemmott Aug 18, 2014

Contributor

@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.

Contributor

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

This comment has been minimized.

Show comment
Hide comment
@Firebrand

Firebrand 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.

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

This comment has been minimized.

Show comment
Hide comment
@centminmod

centminmod 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

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

This comment has been minimized.

Show comment
Hide comment
@sandeepone

sandeepone 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 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

This comment has been minimized.

Show comment
Hide comment
@sandeepone

sandeepone 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.

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

This comment has been minimized.

Show comment
Hide comment
@Eimazas

Eimazas 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

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

This comment has been minimized.

Show comment
Hide comment
@mzupan

mzupan Nov 14, 2014

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

mzupan commented Nov 14, 2014

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

@dumpingground12222

This comment has been minimized.

Show comment
Hide comment
@dumpingground12222

dumpingground12222 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

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

This comment has been minimized.

Show comment
Hide comment
@sandeepone

sandeepone May 5, 2015

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

sandeepone commented May 5, 2015

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

@southerncomputer

This comment has been minimized.

Show comment
Hide comment
@southerncomputer

southerncomputer Sep 1, 2017

where did yum.gleez.com go?

southerncomputer commented Sep 1, 2017

where did yum.gleez.com go?

@sandeepone

This comment has been minimized.

Show comment
Hide comment
@sandeepone

sandeepone Sep 1, 2017

sandeepone commented Sep 1, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment