Forum OpenACS Q&A: aolserver4

Collapse
Posted by xx xx on
Are aolserver_v40_r2 and aolserver_v40_r3 stable ? The former is advised in the docs.

I'm planning to install aolserver4 today (and postgresql 7.4.2 on RH8) on a development system, but I'm just checking if I'm not running into unnecessary day-to-day fluctuations with those branches?

Collapse
2: Re: aolserver4 (response to 1)
Posted by xx xx on
If I follow standard installation instructions do I compile with "--prefix=/usr/local/aolserver40r2" or without. That is not quite clear to me.
cd /usr/local/src/aolserver40r2/aolserver
./configure --with-tcl=/usr/local/lib/
make install
ln -s /usr/local/aolserver40r2 /usr/local/aolserver
Collapse
3: Re: aolserver4 (response to 2)
Posted by Claudio Pasolini on
If you don't have an aolserver 3.x around, you can install directly in /usr/local/aolserver as usual.
Collapse
4: Re: aolserver4 (response to 2)
Posted by Tom Jackson on

The latest available version of AOLserver is 4.0.1, unless you use cvs to grab a copy. There have been some important fixes in recent versions, so go with the newest you can get.

http://sourceforge.net/project/showfiles.php?group_id=3152&package_id=3064&release_id=214653

Notes on important fixes

Collapse
5: Re: aolserver4 (response to 1)
Posted by xx xx on
Okay, I have chosen to go with CVS "-r aolserver_v40_r2" as described in the docs. I used no "--prefix" when doing "./configure --with-tcl=/usr/local/lib/". But I see many of the next warnings after "make install":
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning:   as it has already been specified as a non-system directory
tclcache.c:47: warning: `RCSID' defined but not used
and twice
make[1]: Entering directory `/usr/local/src/aolserver40r2/aolserver/nsssl'
**
** BSAFE variable not set.
** nsssl will not be built.
**
make[1]: Leaving directory `/usr/local/src/aolserver40r2/aolserver/nsssl'
No other error messages. I also see the (first) warnings above if I "make install" from nscache-directory.

Then if I do "make install" from nsoracle-directory it blows up.

[root@localhost nsoracle]# make install
grep: /rdbms/demo/oci.h: No such file or directory
gcc ...
...
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning:   as it has already been specified as a non-system directory
In file included from nsoracle.c:16:
nsoracle.h:18:17: oci.h: No such file or directory
In file included from nsoracle.c:16:
nsoracle.h:41: parse error before "null_ind"
nsoracle.h:41: warning: data definition has no type or storage class
nsoracle.h:42: parse error before "rc"
...
...
nsoracle.c:5439: dereferencing pointer to incomplete type
nsoracle.c:5440: `OCI_FETCH_NEXT' undeclared (first use in this function)
nsoracle.c:5441: `OCI_NO_DATA' undeclared (first use in this function)
make: *** [nsoracle.o] Error 1

[root@localhost nsoracle]# cd ../nspostgres
[root@localhost nspostgres]# make install POSTGRES=LSB ACS=1 INST=/usr/local/aolserver40r2

Makefile:104: /usr/local/aolserver40r2/include/Makefile.module: No such file or directory
make: *** No rule to make target `/usr/local/aolserver40r2/include/Makefile.module'.  Stop.
[root@localhost nspostgres]
I'm using postgresql 7.4.2 only. Should I be fine if I just don't run "make install" from nsoracle-directory? Or has the disappearance of the Makefile (at the end) nothing to do with this? Instead of just retrying, I also post this in case others run into this. Thanks in advance.
Collapse
6: Re: aolserver4 (response to 1)
Posted by xx xx on
Nope, still an error with nspostgres after a new installation. Leaving out the nsoracle "make install" didn't make a difference.

I see some other warnings that I saw before, in case this is helpful:

nsmain.c: In function `Ns_Main':
nsmain.c:355: warning: passing arg 1 of `setgid' as unsigned due to prototype
nsmain.c:358: warning: passing arg 1 of `setuid' as unsigned due to prototype
nsmain.c:623: warning: implicit declaration of function `NsWaitDriversShutdown'
/usr/include/stdlib.h: At top level:
nsmain.c:36: warning: `RCSID' defined but not used
return.c: In function `Ns_ConnConstructHeaders':
return.c:262: warning: suggest parentheses around && within ||
/usr/include/stdlib.h: At top level:
return.c:37: warning: `RCSID' defined but not used
sock.c: In function `Ns_SockRecv':
sock.c:74: warning: passing arg 3 of `recv' as unsigned due to prototype
sock.c:78: warning: passing arg 3 of `recv' as unsigned due to prototype
sock.c: In function `Ns_SockSend':
sock.c:106: warning: passing arg 3 of `send' as unsigned due to prototype
sock.c:110: warning: passing arg 3 of `send' as unsigned due to prototype
/usr/include/stdlib.h: At top level:
sock.c:37: warning: `RCSID' defined but not used
tclinit.c: In function `NsTclICtlObjCmd':
tclinit.c:895: warning: `objPtr' might be used uninitialized in this function
/usr/include/stdlib.h: At top level:
tclinit.c:36: warning: `RCSID' defined but not used
...
tcljob.c: In function `NsTclJobObjCmd':
tcljob.c:989: warning: unsigned int format, long unsigned int arg (arg 4)
tcljob.c:989: warning: unsigned int format, time_t arg (arg 5)
tcljob.c:989: warning: unsigned int format, long unsigned int arg (arg 4)
tcljob.c:989: warning: unsigned int format, time_t arg (arg 5)
/usr/include/stdlib.h: At top level:
tcljob.c:83: warning: `RCSID' defined but not used
...
...
tclset.c: In function `NsTclSetObjCmd':
tclset.c:333: warning: passing arg 2 of `Ns_SetSplit' with different width due to prototype
/usr/include/stdlib.h: At top level:
tclset.c:36: warning: `RCSID' defined but not used
tclset.c:801: warning: `BadArgs' defined but not used
urlopen.c: In function `Ns_FetchURL':
urlopen.c:164: warning: passing arg 3 of `send' as unsigned due to prototype
/usr/include/stdlib.h: At top level:
urlopen.c:36: warning: `RCSID' defined but not used

Collapse
7: Re: aolserver4 (response to 1)
Posted by Jade Rubick on
Aldert, I got a lot of warnings when I installed Aolserver, but it still seemed to work. Do you get the executables and libraries compiled?
Collapse
8: Re: aolserver4 (response to 1)
Posted by xx xx on
I've just turned the system off. Need to go to bed. So all those warnings maybe "normal"...? Compiling seemed to end normal, except for the nspostgres module (that Makefile issue is blocking).  PG7.4.2. and Aol4 should work well together or not?
Collapse
9: Re: aolserver4 (response to 1)
Posted by Don Baccus on
Ignore the warnings ... it would be nice if someone cleaned up the C sources so they compiled without them but they don't hurt anything.  It's not a big priority for anyone in the AOLserver community, apparently.

PG 7.4 works fine with AOLserver 4.  I'm not sure why you're getting the makefile error when trying to compile the driver, I've never seen that.

Collapse
10: Re: aolserver4 (response to 1)
Posted by xx xx on
Glad to hear that I can ignore these warnings.

No warnings can be confusing to. I followed the docs and installed PG7.4.2 the "Safe" way from source. No errors occured. But to my surprise "psql -V" returned 7.2.2 (installed by the RH8 distribution...) Did I do something wrong or should I just move /usr/local/psql/bin before /usr/bin/ in the PATH (in ~postgres/.bashrc)?

Actually, nspostgres did compile with "make install POSTGRES=/usr/local/pgsql ACS=1 INST=/usr/local/aolserver" instead of "INST=/usr/local/aolserver40r2". I think this should be changed in the docs.
But it didn't solve the following warnings:

[root@localhost nspostgres]# make install POSTGRES=/usr/local/pgsql ACS=1 INST=/usr/local/aolserver     
gcc -pipe -DBIND_EMULATION -I/usr/local/pgsql/include -DFOR_ACS_USE -O -D__NO_STRING_INLINES -D__NO_MATH_INLINES -Wall -Wconversion -Wno-implc
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning:   as it has already been specified as a non-system directory
nspostgres.c: In function `Ns_PgTableList':
nspostgres.c:679: warning: passing arg 3 of `Tcl_DStringAppend' as signed due to prototype
nspostgres.c: In function `encode3':
nspostgres.c:749: warning: passing arg 1 of `enc_one' with different width due to prototype
nspostgres.c:750: warning: passing arg 1 of `enc_one' with different width due to prototype
nspostgres.c:751: warning: passing arg 1 of `enc_one' with different width due to prototype
nspostgres.c:752: warning: passing arg 1 of `enc_one' with different width due to prototype
nspostgres.c: In function `decode3':
nspostgres.c:772: warning: passing arg 1 of `get_one' with different width due to prototype
nspostgres.c:773: warning: passing arg 1 of `get_one' with different width due to prototype
nspostgres.c:774: warning: passing arg 1 of `get_one' with different width due to prototype
nspostgres.c:775: warning: passing arg 1 of `get_one' with different width due to prototype
nspostgres.c: In function `stream_actually_write':
nspostgres.c:864: warning: passing arg 3 of `write' as unsigned due to prototype
nspostgres.c: In function `blob_send_to_stream':
nspostgres.c:980: warning: `fd' might be used uninitialized in this function
nspostgres.c:982: warning: `conn' might be used uninitialized in this function
nspostgres.c: In function `parse_bind_variables':
nspostgres.c:1211: warning: unused variable `first_bind'
nspostgres.c: In function `PgBindCmd':
nspostgres.c:1327: warning: unused variable `value_frag_len'
/bin/rm -f nspostgres.so
gcc -pipe -shared -nostartfiles -L/usr/local/aolserver/lib -o nspostgres.so nspostgres.o -L/usr/local/pgsql/lib -lpq -lnsdb -lnsthread -lnsd b
/usr/local/aolserver/bin/install-sh -c nspostgres.so /usr/local/aolserver/bin/
[root@localhost nspostgres]#
These warnings didn't seem harmless. So I recompiled postgresql7.4.2. with "--srcdir=/usr/local/src/postgresql-7.4.2" and moved away all dirs from 7.2.2. like /usr/lib/pgsql, /usr/share/pgsql and files like /usr/bin/pg_*,psql and /usr/include/pg_* This is probably not the right way but I didn't find good docs how to eliminate a PG installation. Is anybody aware of any?

Anyhow, postmaster seems to start fine from the correct directory but the installation problems with nspostgres don't disappear. There is only one error I saw during 7.4.2. "make all".

In file included from preproc.y:6330:
pgc.c: In function `yylex':
pgc.c:1436: warning: label `find_rule' defined but not used
/usr/include/ctype.h: At top level:
pgc.c:3417: warning: `yy_flex_realloc' defined but not used
Any suggestions why nspostgres would give these errors?
Collapse
11: Re: aolserver4 (response to 1)
Posted by xx xx on
I don't understand. If I create new users they still look for /usr/bin instead of /usr/local/pgsql/bin. I suppose that is why nspostgres is giving errors. AOL4 starts normal. It serves pages.

When I come back in the afternoon I'll probably start from scratch. I'll take the time to dump RH8 in favor of FreeBSD, but... I'll post my env in case anyone sees the obvious.

[service0@localhost service0]$ createdb  service0
/usr/bin/createdb: line 172: /usr/bin/psql: No such file or directory
createdb: database creation failed
[service0@localhost service0]$ env
HOSTNAME=localhost.localdomain
SHELL=/bin/bash
TERM=vt100
HISTSIZE=1000
USER=service0
LD_LIBRARY_PATH=:/usr/local/pgsql/lib
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
MAIL=/var/spool/mail/service0
PATH=/usr/local/bin/:/usr/local/pgsql:/usr/local/pgsql/bin:/usr/local/pgsql/include:/usr/local/pgsql/data:/usr/local/pgsql/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/local/pgsql/bin:/home/service0/bin
INPUTRC=/etc/inputrc
PWD=/home/service0
LANG=en_US.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/home/service0
LOGNAME=service0
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/bin/env
[service0@localhost service0]$ 
Collapse
12: Re: aolserver4 (response to 1)
Posted by xx xx on
A follow-up.

I dumped RedHat and installed FreeBSD 5.2.1
It is very pleasant to work with, BTW.

However the same errors that I posted above appeared. The docs state that there might be something wrong with PG installation directories. I check 100 times, but found nothing wrong

Again Aolserver didn't start. This time I checked the right server log C😊 and found that:
ns_param  nsrewrite          ${bindir}/nsrewrite.so
wasn't commented out in dotLRN 2.0.3 (fixed in 5.1rc1)

So:
- it is a good thing that FreeBSD5.2.1. / PG 7.4.2 /AOL4 combination works.
- some warnings mean nothing but are confusing especially if the docs stress there might be something wrong
- eventhough there are warnings during the process,  installation may succeed or may fail due to unrelated errors (that are evident in the logs only).
- I wonder if we can change the warnings of nspostgres "make install"