2
Help with understanding why this simple Guile program isn't working as expected - Lemmy
lemmy.mlI’m trying out this simple C program
[https://www.gnu.org/software/guile/manual/guile.html#Linking-Guile-into-Programs]
that uses libguile. The hostname on my distro is called “guix”, but for some
reason, it shows #f, which I’m assuming is the boolean value “false”, when I
build and run the program normally: console $ ./simple-guile >(my-hostname) $1 =
#f But when I create the environmental variables on the go, it works just fine?
console $ HOSTNAME="hostname" ./simple-guile >(my-hostname) $1 = "hostname" I’ve
confirmed the environmental variables by using echo, which works just fine:
console $ echo $HOSTNAME guix Why am I seeing this peculiar behavior?
Permanently Deleted
It appears that this is actually a Bash thing rather than a Guile thing:
https://superuser.com/questions/132489/hostname-environment-variable-on-linux
For more information about why, see the comment in this other answer which mentions that
HOSTNAME
is not required for POSIX compliance:https://superuser.com/questions/132489/hostname-environment-variable-on-linux/132500#132500
https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html
Curiously, I can reproduce this on my Guix System, but actually not on my Fedora system (where it is exported automatically), so I guess some distros choose to explicitly export the
HOSTNAME
variable?