Hi Aldo,


A colleague ran into a bug related to locale detection during installation.

I fwd the conversation and proposed solution by Leonardo Soto:


PS: I already installed virtuoso on my machine. Haven't had the
opportunity to play with it, as all my spare time was spent debugging an installation problem. I discovered that it was caused by my locale,
which was set to es_ES. "LC_ALL=C" made it work.

[I ask for more details...]

Sure. After all the problem is quite simple: Installation scripts use
netstat + grep to find out if the virtuoso server is up and listening
on a port. Problem being that the output of netstat is being grepped
as the following:

stat=`netstat -an | grep "[\.\:]$PORT " | grep LISTEN`

Which doesn't play well with my environment (Ubuntu 8.10, spanish
locale), where netstat is i18n'ed. Look yourself:

lsoto@spirit:~/src/virtuoso-opensource-5.0.9$ netstat -an  | grep :80
tcp 0 0 192.168.0.109:53542 64.161.254.20:8001 ESTABLECIDO tcp6 0 0 :::80 :::* ESCUCHAR

Thus, the grep don't match anything and the script think that the
server isn't up.

The obvious solution would be to change the grep line to:

stat=`LC_ALL=C netstat -an | grep "[\.\:]$PORT " | grep LISTEN`


Thank you for bringing this to our attention.

I will add this to the current scripts for the next release and check other parts of the script to see if more commands need to run under LC_ALL=C.

If need be we can just run the whole script with this setting since there is no benefit of partial locale in these scripts.


Patrick

Reply via email to