Problem compiling NekoVM from source

181 views
Skip to first unread message

Luis P. Mendes

unread,
Jul 7, 2013, 6:48:57 PM7/7/13
to haxe...@googlegroups.com
Hi all,


I wrote to the Neko mailing list, but it seems that it's dead, so I come here looking for some help, as Haxe and Neko are very close to one another.

I'm interested in trying Haxe with Neko.  Tried to install Neko from source
for my Slackware box.
The compilation breaks with this message:

Compiling mod_neko...
gcc -O3 -fPIC -pthread  -c -I../../vm -I/usr/include/httpd ../../vm/stats.c
gcc -O3 -fPIC -pthread  -c -I../../vm -I/usr/include/httpd mod_neko.c
In file included from /usr/include/httpd/ap_config.h:25:0,
                 from /usr/include/httpd/httpd.h:44,
                 from mod_neko.h:25,
                 from mod_neko.c:22:
/usr/include/httpd/ap_hooks.h:39:17: fatal error: apr.h: No such file or
directory
compilation terminated.
Called from tools/install.neko line 414
Called from tools/install.neko line 375
Uncaught exception - Error 1 : aborted
make: *** [libs] Error 1



$ find /usr -name 'apr.h'
/usr/include/apr-1/apr.h

In Neko source directory downloaded:
$ find . -iname apr.h
./libs/include/apache2/apr.h


So, I already have a apr.h file in /usr, but Neko provides another one.
Despite this, the compiling process doesn't seem to find any of these.


What should I do?  Set ld library path? how?


Luis

Nicolas Cannasse

unread,
Jul 8, 2013, 3:34:40 AM7/8/13
to haxe...@googlegroups.com
Le 08/07/2013 00:48, Luis P. Mendes a �crit :
Uhm that's strange.

Look at neko/src/tools/install.neko, line ~165. It should lookup for
"httpd.h"but should exclude /libs/include/apache2 when compiling
mod_neko since it's looking for Apache 1.3

Best,
Nicolas

Luis P. Mendes

unread,
Jul 8, 2013, 6:52:10 AM7/8/13
to haxe...@googlegroups.com
Hello Nicolas,

Thanks for your support, but I think I didn't understand exactly what to search or modify.

My system has httpd version 2.4.4 and it's a 64 bits system.
Slackware 64 bits uses /lib64.
I have /usr/lib64/httpd          <-- note here that Slackware uses /usr/lib64

There's also a /lib64 directory

in /usr # find . -name httpd.h                                                                                  
./include/isc/httpd.h
./include/httpd/httpd.h


So, what is exactly the logic?  Why look for apache 1.3?
Is there any debug I can do to try to fix this issue?


Luis


2013/7/8 Nicolas Cannasse <ncan...@gmail.com>


--
To post to this group haxe...@googlegroups.com
http://groups.google.com/group/haxelang?hl=en
--- You received this message because you are subscribed to a topic in the Google Groups "Haxe" group.
For more options, visit https://groups.google.com/groups/opt_out.



Left Right

unread,
Jul 8, 2013, 2:50:41 PM7/8/13
to haxe...@googlegroups.com
Hey,

I've had this problem before, and I solved it by including the headers
that come with Neko sources before the global include directories were
looked up.
Perhaps this will provide more insight into the problem:

apr.h is a very important header in Apache httpd project (many
projects that rely on httpd must include it). And it was moved from a
directory under httpd sources up to its own directory. Since that
happened, many other projects, which depend on httpd were broken
because of the way those projects included this header.

I've got stuck later because of ppcre - and that something I couldn't
solve / gave it up after couple of efforts, especially so I figured
that if I compile mode_neko for use with httpd 1.3 I won't be using it
anyway because that's just too old / I'd need to do a lot of flips in
the air to get it to work alongside httpd 2.2.

I really don't know how others are using it / what kind of setup is
required / is it possible to run it with newer versions of httpd. So,
I'd be also interested to figure that out.

Best.

Oleg
> You received this message because you are subscribed to the Google Groups
Reply all
Reply to author
Forward
0 new messages