The code in Figure 1 can be compiled and run.
Assuming that the program is stored in a file hello.vhdl, compiling can be done as
ghdl -a hello.vhdl
The above command generates the file hello.o, which can be elaborated, using the command
ghdl -e hello_world
where the string hello_world refers to the name of the entity in Figure 1.
The code can now be run, by doing
ghdl -r hello_world
which results in the printout