You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by David Zolli <kr...@kroc.tk> on 2007/12/04 17:24:08 UTC

Apache 2

Hi guys,

What's the current status of rivet port to apache 2?

Is it usable or pre-alpha / alpha / beta?

And is there any time table available online (to see work in progress)?

Regards,

-- 
David Zolli
kroc@kroc.tk
http://www.kroc.tk



---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by Massimo Manghi <ma...@unipr.it>.
Before we overhaul the webpages you may go ahead
and try to compile the version in trunk (we are
basically concentrating our efforts on this
branch in svn now)

svn co http://svn.apache.org/repos/asf/tcl/rivet/trunk rivet

./configure --help

lists among the basic 'configure' options also 
the rivet specific ones. Specifically

--with-apache-version=[1|2] 

sets up the build specific for the apache version
you want to compile for. 

 -- Massimo

On 12 Dec 2007 22:18:11 +0000, Pat Thoyts wrote
>
> If rivet for apache2 is working then put some real explicit
> instructions about which branch we check out and how to build it for
> Linux and any other platforms you know work and then I'll see if I 
> can build it on Windows. At the moment its not very clear what I should
> get for rivet 1 or 2 from svn.
> 
> I did the Windows installer for rivet 0.5-0.7 btw. Last time I looked
> into it we had trouble using threads-enabled tcl 8.4 with rivet +
> apache 1. Hopefully rivet2+tcl8.5+threads will be ok.
> 


--
Universita' degli Studi di Parma (http://www.unipr.it)


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by Pat Thoyts <pa...@users.sourceforge.net>.
Massimo Manghi <ma...@unipr.it> writes:

>Valery Masiutsin wrote:
>> Hello, David !
>>
>> I think we are making good progress, feel free to check
>> out rivet from svn, it should build and run (assuming you are doing it
>> on unix).
>>
>we definitively need someone for the windows port. How was
>the windows support for 1_0? I can remember some threads
>discussing problems concerning Rivet on Windows, but
>didn't pay much attention to the overall progress on
>that platform.
>
>David, the version is trunk compiles and runs on Linux.  I've
>been testing it before I got sucked by deadlines and other
>things. It worked quite nicely. If you mean to test yourself
>this version and share your opinion and experience you're
>very much welcome.

If rivet for apache2 is working then put some real explicit
instructions about which branch we check out and how to build it for
Linux and any other platforms you know work and then I'll see if I can
build it on Windows. At the moment its not very clear what I should
get for rivet 1 or 2 from svn.

I did the Windows installer for rivet 0.5-0.7 btw. Last time I looked
into it we had trouble using threads-enabled tcl 8.4 with rivet +
apache 1. Hopefully rivet2+tcl8.5+threads will be ok.

-- 
Pat Thoyts                            http://www.patthoyts.tk/
PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by Massimo Manghi <ma...@unipr.it>.
Valery Masiutsin wrote:
> Hello, David !
>
> I think we are making good progress, feel free to check
> out rivet from svn, it should build and run (assuming you are doing it
> on unix).
>   
we definitively need someone for the windows port. How was
the windows support for 1_0? I can remember some threads
discussing problems concerning Rivet on Windows, but
didn't pay much attention to the overall progress on
that platform.

David, the version is trunk compiles and runs on Linux.  I've
been testing it before I got sucked by deadlines and other
things. It worked quite nicely. If you mean to test yourself
this version and share your opinion and experience you're
very much welcome.

 -- Massimo


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by David Zolli <kr...@kroc.tk>.
Le 30 déc. 07 à 16:12, Massimo Manghi a écrit :

> Hi David,

Hi Massimo,

> what server model implements your Apache instance? Rivet
> for Apache2 works only on Apache using prefork as mpm,
> this is important. I recently installed an apache-worker
> instance and had several severe errors occurring at runtime.
>
> -- Massimo

KrocBook:~ dzolli$ apachectl -l
Compiled in modules:
   core.c
   prefork.c
   http_core.c
   mod_so.c

Wich is stock 10.5 apache.

And happy new year to the list !

-- 
David Zolli
kroc@kroc.tk
http://www.kroc.tk



---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by Massimo Manghi <ma...@unipr.it>.
Hi David, 

what server model implements your Apache instance? Rivet
for Apache2 works only on Apache using prefork as mpm, 
this is important. I recently installed an apache-worker
instance and had several severe errors occurring at runtime.

 -- Massimo

P.S. I know: we got to rewrite those installation pages....

On Mon, 10 Dec 2007 13:37:01 +0100, David Zolli wrote
> I was able to go a bit further.
> 
> First of all, I uncomment line 58 in src/apache-2/mod_rivet.c and  
> comment line 57 in src/apache-2/mod_rivet.h and then the duplicate  
> symbol error disapears.
> 
> After that, I discovered my apache requires x86_64 libraries, so I  
> rebuild all like that:
> 
> export LDFLAGS="-arch x86_64"
> export CFLAGS="-arch x86_64"
> make clean
> ./configure --with-apache-version=2 --prefix=/usr --enable-symbols --
>  with-apache=/usr make make install
> 
> This time apache2 can load rivet but Tcl can't because tclsh is i386  
> (don't ask me why apple do that):
> 
> bash-3.2# file /usr/sbin/httpd
> /usr/sbin/httpd: Mach-O universal binary with 4 architectures
> /usr/sbin/httpd (for architecture ppc7400):	Mach-O executable ppc
> /usr/sbin/httpd (for architecture ppc64):	Mach-O 64-bit executable ppc64
> /usr/sbin/httpd (for architecture i386):	Mach-O executable i386
> /usr/sbin/httpd (for architecture x86_64):	Mach-O 64-bit executable  
> x86_64
> bash-3.2# file /usr/bin/tclsh8.4
> /usr/bin/tclsh8.4: Mach-O universal binary with 2 architectures
> /usr/bin/tclsh8.4 (for architecture ppc7400):	Mach-O executable ppc
> /usr/bin/tclsh8.4 (for architecture i386):	Mach-O executable i386
> 
> The side effect is all libraries loaded by rivet must be universal  
> binary with at least i386 and x86_64. So, I first tried to rebuild 
> all  for multiple arch:
> 
> export LDFLAGS="-arch x86_64 -arch i386"
> export CFLAGS="-arch x86_64 -arch i386"
> make clean
> ./configure --with-apache-version=2 --prefix=/usr --enable-symbols --
>  with-apache=/usr make
> 
> But i fails with this error:
> gcc-4.0: -E, -S, -save-temps and -M options are not allowed with  
> multiple -arch flags
> 
> So, I copy all x86_64 library to /tmp and I rebuild all for i386:
> 
> export LDFLAGS="-arch i386"
> export CFLAGS="-arch I386"
> make clean
> ./configure --with-apache-version=2 --prefix=/usr --enable-symbols --
>  with-apache=/usr make make install
> 
> Then I add x86_64 using lipo:
> lipo -create /usr/libexec/apache2/mod_rivet.so     /tmp/ 
> mod_rivet.so      -output /usr/libexec/apache2/mod_rivet.so
> lipo -create /usr/lib/rivet0.8.0/librivet.so       /tmp/ 
> librivet.so       -output /usr/lib/rivet0.8.0/librivet.so
> lipo -create /usr/lib/rivet0.8.0/librivetparser.so /tmp/ 
> librivetparser.so -output /usr/lib/rivet0.8.0/librivetparser.so
> 
> Last thing, I have to edit /usr/lib/rivet0.8.0/packages/tclrivet/ 
> tclrivet.tcl to change:
> 
> load [file join [file dirname [info script]] .. .. .. src \
>            librivetparser[info sharedlibextension]]
> to:
> 
> load [file join [file dirname [info script]] .. .. \
>            librivetparser[info sharedlibextension]]
> 
> This time rivet could be loaded by apache2 and tclsh. Alas, when I 
> try  to load a .rvt file I get this in error_log:
> 
> [Mon Dec 10 12:52:38 2007] [notice] child pid 63165 exit signal  
> Segmentation fault (11)
> 
> I guess this mean rivet crashed, but I haven't time to instrospect  
> where and why right now (I have payjob to finnish before).
> 
> Anyway, I hope this will help you.
> 
> Regards,
> 
> -- 
> David Zolli
> kroc@kroc.tk
> http://www.kroc.tk
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by David Zolli <kr...@kroc.tk>.
I was able to go a bit further.

First of all, I uncomment line 58 in src/apache-2/mod_rivet.c and  
comment line 57 in src/apache-2/mod_rivet.h and then the duplicate  
symbol error disapears.

After that, I discovered my apache requires x86_64 libraries, so I  
rebuild all like that:

export LDFLAGS="-arch x86_64"
export CFLAGS="-arch x86_64"
make clean
./configure --with-apache-version=2 --prefix=/usr --enable-symbols -- 
with-apache=/usr
make
make install

This time apache2 can load rivet but Tcl can't because tclsh is i386  
(don't ask me why apple do that):

bash-3.2# file /usr/sbin/httpd
/usr/sbin/httpd: Mach-O universal binary with 4 architectures
/usr/sbin/httpd (for architecture ppc7400):	Mach-O executable ppc
/usr/sbin/httpd (for architecture ppc64):	Mach-O 64-bit executable ppc64
/usr/sbin/httpd (for architecture i386):	Mach-O executable i386
/usr/sbin/httpd (for architecture x86_64):	Mach-O 64-bit executable  
x86_64
bash-3.2# file /usr/bin/tclsh8.4
/usr/bin/tclsh8.4: Mach-O universal binary with 2 architectures
/usr/bin/tclsh8.4 (for architecture ppc7400):	Mach-O executable ppc
/usr/bin/tclsh8.4 (for architecture i386):	Mach-O executable i386

The side effect is all libraries loaded by rivet must be universal  
binary with at least i386 and x86_64. So, I first tried to rebuild all  
for multiple arch:

export LDFLAGS="-arch x86_64 -arch i386"
export CFLAGS="-arch x86_64 -arch i386"
make clean
./configure --with-apache-version=2 --prefix=/usr --enable-symbols -- 
with-apache=/usr
make

But i fails with this error:
gcc-4.0: -E, -S, -save-temps and -M options are not allowed with  
multiple -arch flags

So, I copy all x86_64 library to /tmp and I rebuild all for i386:

export LDFLAGS="-arch i386"
export CFLAGS="-arch I386"
make clean
./configure --with-apache-version=2 --prefix=/usr --enable-symbols -- 
with-apache=/usr
make
make install

Then I add x86_64 using lipo:
lipo -create /usr/libexec/apache2/mod_rivet.so     /tmp/ 
mod_rivet.so      -output /usr/libexec/apache2/mod_rivet.so
lipo -create /usr/lib/rivet0.8.0/librivet.so       /tmp/ 
librivet.so       -output /usr/lib/rivet0.8.0/librivet.so
lipo -create /usr/lib/rivet0.8.0/librivetparser.so /tmp/ 
librivetparser.so -output /usr/lib/rivet0.8.0/librivetparser.so

Last thing, I have to edit /usr/lib/rivet0.8.0/packages/tclrivet/ 
tclrivet.tcl to change:

load [file join [file dirname [info script]] .. .. .. src \
           librivetparser[info sharedlibextension]]
to:

load [file join [file dirname [info script]] .. .. \
           librivetparser[info sharedlibextension]]

This time rivet could be loaded by apache2 and tclsh. Alas, when I try  
to load a .rvt file I get this in error_log:

[Mon Dec 10 12:52:38 2007] [notice] child pid 63165 exit signal  
Segmentation fault (11)

I guess this mean rivet crashed, but I haven't time to instrospect  
where and why right now (I have payjob to finnish before).

Anyway, I hope this will help you.

Regards,

-- 
David Zolli
kroc@kroc.tk
http://www.kroc.tk



---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by David Zolli <kr...@kroc.tk>.
Le 7 déc. 07 à 10:07, Valery Masiutsin a écrit :

> Hello, David !

Hi Valery,

> What platform are running your Leopard on ? Is it powerpc or i386 -  
> dont
> think its related but...

It's a black MacBook, so i386. BTW, as it's Intel Core 2 Duo  
processor, it's 64-bit architecture, if it changes something.


> I'll try to get my hands on MacOS X installation - and will check, why
> it happends, stay tuned.

ACK.

-- 
David Zolli
kroc@kroc.tk
http://www.kroc.tk



---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by Valery Masiutsin <va...@gmail.com>.
Hello, David !

What platform are running your Leopard on ? Is it powerpc or i386 - dont
think its related but...
I'll try to get my hands on MacOS X installation - and will check, why
it happends, stay tuned.

Regards, Valery.

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by David Zolli <kr...@kroc.tk>.
Le 6 déc. 07 à 20:49, Valery Masiutsin a écrit :

> Hello, David !
>
> I dont have access to Mac OS X, myself - neither tested stuff on it -
> what you need is to make sure that you have automake tools installed.

I installed only a subset called "UNIX Development Support" of  
XcodeTools.mpkg (from Leopard DVD). The doc says I need nothing else  
to build stuff from command line.

> After that you have to generate configure scripts, just run
> ./genconf.sh - it should do it,

It works for me, but I have to change libtoolize to glibtoolize. The  
result was:

Macintosh:rivet dzolli$ ./genconf.sh
You should update your `aclocal.m4' by running aclocal.
Putting files in AC_CONFIG_AUX_DIR, `tclconfig'.

> after that run ./configure
> ./configure \
> --with-tcl=/usr/local/lib/tcl8.4 \
> --with-tclinclude=/usr/local/include/tcl8.4 \
> --with-apache-version=2 \
> --with-apache=/usr/local/apache  \
> --with-apxs=/usr/local/apache/bin/apxs \
> --with-apr-config=/usr/local/bin/apr-1-config  \
> --enable-shared \
> --enable-symbols
> Thats how it looks for me, try to compile and run - email me you
> problems - i'll fix them.

I'm a lazy guy, so I just do:

Macintosh:rivet dzolli$ ./configure --with-apache-version=2 --enable- 
shared --enable-symbols

wich ends by:

configure: creating ./config.status
config.status: creating src/apache-2/Makefile
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating config.h
config.status: executing depfiles commands

All seems to be ok, so I launch the make process, but it fails:

make
make  all-recursive
Making all in src
Making all in apache-2
...
ld: duplicate symbol _rivet_module in .libs/mod_rivet_la-rivetCore.o  
and .libs/mod_rivet_la-rivetChannel.o

collect2: ld returned 1 exit status
make[3]: *** [mod_rivet.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

-- 
David Zolli
kroc@kroc.tk
http://www.kroc.tk
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by David Zolli <kr...@kroc.tk>.
Le 4 déc. 07 à 19:24, Valery Masiutsin a écrit :

> Hello, David !

Salut Valery,

> I think we are making good progress, feel free to check
> out rivet from svn, it should build and run (assuming you are doing it
> on unix).

As far as you consider Mac OS X Leopard is (a kind of) unix, I'm ready  
to try.

Is this trunk branch the one I should grab?

svn co http://svn.apache.org/repos/asf/tcl/rivet/trunk rivet

> If its not for any reason, or you will spot the bug, feel free to
> commit the bug report, and i'll try to fix the issue ASAP.

Ok. Nothing special to say before I start? (./configure special magic  
for OS X, etc..)

> Status.... I need to sum up things that  already done and needs to be
> worked on, after that i will post status update to the list.

A webpage somewhere on http://tcl.apache.org/rivet/ would be welcome  
too.

Regards,

-- 
David Zolli
kroc@kroc.tk
http://www.kroc.tk



---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Apache 2

Posted by Valery Masiutsin <va...@gmail.com>.
Hello, David !

I think we are making good progress, feel free to check
out rivet from svn, it should build and run (assuming you are doing it
on unix).
If its not for any reason, or you will spot the bug, feel free to
commit the bug report, and i'll try to fix the issue ASAP.
Status.... I need to sum up things that  already done and needs to be
worked on, after that i will post status update to the list.

Regards Valery.

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org