LinuxQuestions.org
Did you know LQ has a Linux Hardware Compatibility List?
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 07-12-2012, 08:50 AM   #16
eantoranz
Senior Member
 
Registered: Apr 2003
Location: Colombia
Distribution: Kubuntu, Debian, Knoppix
Posts: 1,982
Blog Entries: 1

Original Poster
Rep: Reputation: 83

Which, by the way, doesn't make much sense because they were building it on centos and fedora (according to wikipedia). Anyway.... I'll keep on trying to find a way to build it and will post the method/hack once I find it.
 
Old 07-12-2012, 09:28 AM   #17
eantoranz
Senior Member
 
Registered: Apr 2003
Location: Colombia
Distribution: Kubuntu, Debian, Knoppix
Posts: 1,982
Blog Entries: 1

Original Poster
Rep: Reputation: 83
The way I was able to move forward is check the corresponding cmake.flags were the build process is breaking and add this flag to C_FLAGS and CXX_FLAGS:

Code:
-I/usr/local/libevent/include
I'm already at 26% in the building process.
 
Old 07-12-2012, 10:12 AM   #18
eantoranz
Senior Member
 
Registered: Apr 2003
Location: Colombia
Distribution: Kubuntu, Debian, Knoppix
Posts: 1,982
Blog Entries: 1

Original Poster
Rep: Reputation: 83
I think the name of the files is flags.make. I'll tell you when I finish.
 
Old 07-12-2012, 10:40 AM   #19
eantoranz
Senior Member
 
Registered: Apr 2003
Location: Colombia
Distribution: Kubuntu, Debian, Knoppix
Posts: 1,982
Blog Entries: 1

Original Poster
Rep: Reputation: 83
Well.... it finished compiling (great!) and I don't know what I did that was like doing a clean (damn!) so I'm building again.

Build libevent/curl with hiphop's patches (I placed them in /usr/local/libevent and /usr/local/curl).

This is the list of things you have to install with yum:
Code:
boost-devel
mysql-devel
libmemcached-devel
pcre-devel
gd-devel
libxml2-devel
expat-devel
libicu-devel
bzip2-devel
oniguruma-devel
openldap-devel
readline-devel
libc-client-devel
libcap-devel
binutils-devel
pam-devel
Then, you have to get libmcrypt's current rpms. Use rpm directly agains the files in one of the mirrors... like:
http://www.nic.funet.fi/pub/mirrors/...epel/6/x86_64/

Code:
rpm -Uvh http://www.nic.funet.fi/pub/mirrors/fedora.redhat.com/pub/epel/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm  http://www.nic.funet.fi/pub/mirrors/fedora.redhat.com/pub/epel/6/x86_64/libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
Use the flags for ./configure, hack the flags.make files to add the libevent include (I'm sure there's one way to do that from ./configure but I don't want to spend more time on it) and you are done (or veeeeeeeeeeeeeeery close). Hope it does it for you.

I'll tell you what happens when I finish rebuilding.
 
Old 07-12-2012, 11:37 AM   #20
eantoranz
Senior Member
 
Registered: Apr 2003
Location: Colombia
Distribution: Kubuntu, Debian, Knoppix
Posts: 1,982
Blog Entries: 1

Original Poster
Rep: Reputation: 83
Oh, forgot to mention. tbb has to be built from src (not installed). Locations for tbb files are passed with configure variables as documented earlier in the thread.

Code:
$ src/hphp/hphp --help
HipHop Compiler for PHP Usage:

        hphp <options> <inputs>

Options:
  --help                         display this message
  --version                      display version number
  -t [ --target ] arg (=run)     lint | analyze | php | cpp | sep-ext-cpp | 
                                 filecache | run (default)
  -f [ --format ] arg            lint: (none); 
                                 analyze: (none); 
                                 php: trimmed (default) | inlined | pickled | 
                                 typeinfo | <any combination of them by any 
                                 separator>; 
                                 cpp: cluster (default) | file | sys | exe | 
                                 lib; 
                                 run: cluster (default) | file
  --cluster-count arg (=0)       Cluster by file sizes and output roughly these
                                 many number of files. Use 0 for no clustering.
  --input-dir arg                input directory
  --program arg (=program)       final program name to use
  --args arg                     program arguments
  -i [ --inputs ] arg            input file names
  --input-list arg               file containing list of file names, one per 
                                 line
  --include-path arg             a list of full paths to search for files being
                                 included in includes or requires but cannot be
                                 found assuming relative paths
  --module arg                   directories containing all input files
  --exclude-dir arg              directories to exclude from the input
  --fmodule arg                  same with module, except no exclusion checking
                                 is performed, so these modules are forced to 
                                 be included
  --ffile arg                    extra PHP files forced to include without 
                                 exclusion checking
  --exclude-file arg             files to exclude from the input, even if 
                                 parse-on-demand finds it
  --exclude-pattern arg          regex (in 'find' command's regex command line 
                                 option format) of files or directories to 
                                 exclude from the input, even if parse-on-deman
                                 d finds it
  --exclude-static-pattern arg   regex (in 'find' command's regex command line 
                                 option format) of files or directories to 
                                 exclude from static content cache
  --exclude-static-dir arg       directories to exclude from static content 
                                 cache
  --exclude-static-file arg      files to exclude from static content cache
  --cfile arg                    extra static files forced to include without 
                                 exclusion checking
  --cmodule arg                  extra directories for static files without 
                                 exclusion checking
  --parse-on-demand arg (=1)     whether to parse files that are not specified 
                                 from command line
  --branch arg                   SVN branch
  --revision arg                 SVN revision
  -o [ --output-dir ] arg        output directory
  --output-file arg              output file
  --sync-dir arg                 Files will be created in this directory first,
                                 then sync with output directory without overwr
                                 iting identical files. Great for incremental 
                                 compilation and build.
  --optimize-level arg (=1)      optimization level
  --gen-stats arg (=0)           whether to generate code errors
  -k [ --keep-tempdir ] arg (=0) whether to keep the temporary directory
  --db-stats arg                 database connection string to save code errors
                                 : <username>:<password>@<host>:<port>/<db>
  --no-type-inference arg (=0)   turn off type inference for C++ code generatio
                                 n
  --no-min-include arg (=0)      turn off minimium include analysis when target
                                 is "analyze"
  --no-meta-info arg (=0)        do not generate class map, function jump table
                                 and macros when generating code; good for demo
                                 purposes
  -c [ --config ] arg            config file name
  --config-dir arg               root directory configuration is based on (for 
                                 example, excluded directories may be relative 
                                 path in configuration.
  -v [ --config-value ] arg      individual configuration string in a format of
                                 name=value, where name can be any valid config
                                 uration for a config file
  -l [ --log ] arg (=-1)         -1: (default); 0: no logging; 1: errors only; 
                                 2: warnings and errors; 3: informational as 
                                 well; 4: really verbose.
  --force arg (=1)               force to ignore code generation errors and 
                                 continue compilations
  --file-cache arg               if specified, generate a static file cache 
                                 with this file name
  --rtti-directory arg           the directory of rtti profiling data
  --java-root arg (=php)         the root package of generated Java FFI classes
  --generate-ffi arg (=0)        generate ffi stubs
  --dump arg (=0)                dump the program graph
  --docjson arg                  Filename to generate a JSON file for PHP docs
  --coredump arg (=0)            turn on coredump
  --nofork arg (=0)              forking is needed for large compilation to 
                                 release memory before g++compilation. turning 
                                 off forking can help gdb debugging.
  --fl-annotate arg (=0)         Annote emitted source with compiler file-line 
                                 info
  --opts arg (=none)             Set optimizations to enable/disable
  --ppp arg                      Preprocessed partition configuration. To speed
                                 up distcc compilation, bin/ppp.php can pre-com
                                 pute better partition between different .cpp 
                                 files according to preprocessed file sizes, 
                                 instead of original file sizes (default). Run 
                                 bin/ppp.php to generate an HDF configuration 
                                 file to specify here.
  --compiler-id                  display the git hash for the compiler id
  --taint-status                 check if the compiler was built with taint 
                                 enabled
I think this is a "solved" thread. Hope it is helpful for other people.
 
Old 07-12-2012, 12:24 PM   #21
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen, DK
Distribution: pclos2014, Slack14.1 DebWheezy, +50+ other Linux OS, for test only.
Posts: 13,522

Rep: Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503
Comments : 1)
libmemcached-devel/libmemcached, a modified version 0.43 : The hiphop repo.
rpm -ivh http://pkg.tag1consulting.com/hphp/x...el5.noarch.rpm
Ref. https://github.com/facebook/hiphop-p...PM-on-CentOS-5
# yum install libmemcached-devel.x86_64 oniguruma-devel.x86_64
( Don't know if the packages are too old ? )


2) # yum install tbb-devel.x86_64
The tbb packages are in the EPEL.repo
https://fedoraproject.org/wiki/EPEL


Links https://github.com/facebook/hiphop-php/wiki/_pages

.

Last edited by knudfl; 07-12-2012 at 01:07 PM.
 
1 members found this post helpful.
Old 07-24-2012, 12:05 PM   #22
eantoranz
Senior Member
 
Registered: Apr 2003
Location: Colombia
Distribution: Kubuntu, Debian, Knoppix
Posts: 1,982
Blog Entries: 1

Original Poster
Rep: Reputation: 83
Ok, guys.... I've had a lot of fun with hiphop. Given a certain requirement in our project I was adviced to give hhvm a look so now I'm trying to compile the vm branch of hiphop (https://github.com/facebook/hiphop-php/tree/vm).

When configuring I had problems because libdwarf is not found. As far as I can tell, it should be included in elfutils-devel, right? this package is already installed but configure fails to see it.

What I did was create a symlink to /usr/lib64/libdw-0.152.so (which contains a lot of dwarf symbols) named /usr/lib/libdwarf.so and then configure was able to move on and finish, however when I try to build I get this:

Code:
In file included from /home/antoranz/hiphop-vm/src/runtime/vm/instance.h:26,
                 from /home/antoranz/hiphop-vm/src/runtime/base/resource_data.h:22,
                 from /home/antoranz/hiphop-vm/src/runtime/base/execution_context.h:23,
                 from /home/antoranz/hiphop-vm/src/runtime/base/builtin_functions.h:20,
                 from /home/antoranz/hiphop-vm/src/runtime/base/program_functions.cpp:20:
/home/antoranz/hiphop-vm/src/runtime/vm/unit.h:20:42: error: tbb/concurrent_unordered_map.h: No such file or directory
In file included from /home/antoranz/hiphop-vm/src/runtime/base/program_functions.cpp:25:
/home/antoranz/hiphop-vm/src/runtime/base/compiler_id.h:1:1: warning: "COMPILER_ID" redefined
<command-line>: warning: this is the location of the previous definition
In file included from /home/antoranz/hiphop-vm/src/runtime/vm/debug/debug.h:22,
                 from /home/antoranz/hiphop-vm/src/runtime/vm/translator/translator-x64.h:29,
                 from /home/antoranz/hiphop-vm/src/runtime/base/program_functions.cpp:58:
/home/antoranz/hiphop-vm/src/runtime/vm/debug/dwarf.h:23:22: error: libdwarf.h: No such file or directory
In file included from /home/antoranz/hiphop-vm/src/runtime/vm/instance.h:26,
                 from /home/antoranz/hiphop-vm/src/runtime/base/resource_data.h:22,
                 from /home/antoranz/hiphop-vm/src/runtime/base/execution_context.h:23,
                 from /home/antoranz/hiphop-vm/src/runtime/base/builtin_functions.h:20,
                 from /home/antoranz/hiphop-vm/src/runtime/base/program_functions.cpp:20:
/home/antoranz/hiphop-vm/src/runtime/vm/unit.h:60: error: expected initializer before '<' token
/home/antoranz/hiphop-vm/src/runtime/vm/unit.h:880: error: 'NamedEntityMap' has not been declared
/home/antoranz/hiphop-vm/src/runtime/vm/unit.h:880: error: ISO C++ forbids declaration of 'iterator' with no type
/home/antoranz/hiphop-vm/src/runtime/vm/unit.h:880: error: expected ';' before 'm_next'
In file included from /home/antoranz/hiphop-vm/src/runtime/vm/debug/debug.h:22,
                 from /home/antoranz/hiphop-vm/src/runtime/vm/translator/translator-x64.h:29,
                 from /home/antoranz/hiphop-vm/src/runtime/base/program_functions.cpp:58:
/home/antoranz/hiphop-vm/src/runtime/vm/debug/dwarf.h:57: error: 'Dwarf_Unsigned' has not been declared
/home/antoranz/hiphop-vm/src/runtime/vm/debug/dwarf.h:58: error: 'Dwarf_Unsigned' has not been declared
/home/antoranz/hiphop-vm/src/runtime/vm/debug/dwarf.h:58: error: 'Dwarf_Unsigned' has not been declared
/home/antoranz/hiphop-vm/src/runtime/vm/debug/dwarf.h:58: error: 'Dwarf_Unsigned' has not been declared
/home/antoranz/hiphop-vm/src/runtime/vm/debug/dwarf.h:59: error: 'Dwarf_Unsigned' has not been declared
/home/antoranz/hiphop-vm/src/runtime/vm/debug/dwarf.h:59: error: 'Dwarf_Ptr' has not been declared
make[2]: *** [src/CMakeFiles/hphp_runtime_static.dir/runtime/base/program_functions.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/hphp_runtime_static.dir/all] Error 2
make: *** [all] Error 2
Any suggestions here?
 
Old 07-24-2012, 03:27 PM   #23
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen, DK
Distribution: pclos2014, Slack14.1 DebWheezy, +50+ other Linux OS, for test only.
Posts: 13,522

Rep: Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503
libdwarf.so , Debian, Ubuntu : package name = libdwarf-dev
( Source code package = dwarfutils
http://packages.ubuntu.com/precise/libdwarf-dev ).

Fedora etc. : package name = libdwarf-devel
( Source code package = libdwarf-<version>.src.rpm ).


.

Last edited by knudfl; 07-24-2012 at 03:30 PM.
 
  


Reply

Tags
centos, configure, hiphop, hphp, installation


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
hiphop - core dump right off the bat (32-bit box) eantoranz Programming 2 05-29-2012 10:00 AM
Building a locked environment on a Centos machine takayama Linux - Security 3 12-13-2011 04:44 PM
LXer: Facebook's HipHop Can Now Build Grimstad LXer Syndicated Linux News 0 05-08-2011 12:00 PM
building usbip on CentOS ratcateme Linux - Newbie 1 04-26-2010 08:13 AM
LXer: HipHop for PHP: Move Fast LXer Syndicated Linux News 0 02-03-2010 02:40 AM


All times are GMT -5. The time now is 08:05 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration