On Wed, 30 Jan 2013, Ryan Dagey wrote: > Thanks for the reply. We are simply running gretlcli from > within php which should execute as apache user. Now this > user has no home directory, so if that causes gretlcli to > default to root directory [...]
It doesn't: libgretl uses $HOME. If "/root" is coming into the picture, that must be because $HOME=/root in the environment in which gretlcli is running. > Why is gretlcli requiring any user directories at all? I > don't understand what is derived from these directories. In the normal use-case for gretlcli we need to know the user directories for writing various files, mostly pertaining to auxiliary programs such as gnuplot, X-12-ARIMA, the programs supported by the "foreign" comand and so on. > It would be good if this is the case to review some > documentation on the required directories, I did a lot of > googling looking for them. In the normal use-case these are supposed to "just work", you don't need to know about them. Obviously your case is different, and I'll have to think aout it. > Am I understanding that all of those environment variables > have to be set every time in PHP to some temporary directory > just to get gretlcli to run in PHP under the apache user? > There is no way to tell gretlcli to use some set of > defaults? Environment variables are just one way to get gretlcli to use a set of defaults that work for your usage of the program via PHP (since the built-in defaults are problematic in this case). However, it may be that we can come up with an option that says to gretlcli something like, "There's nobody here, don't read any user config." But you'd still need a user directory (however defined and wherever located) if you want gretlcli to be able to interact with third-party programs (gnuplot, etc.). Allin Cottrell
