Setting up honeybee-radiance on a Linux server

Hi All,
I’m having issues setting up a daylight-factor test on a linux server.
I have to say that when i test it on my machine (windows) before deployment everything works perfectly.

I have tested various things digging deeper into ladybug and extracting singular functions, and they all work on my windows machine but not on the Server:

When testing the singular cli command (ie. honeybee-radiance translate model-to-rad-folder etc etc) on the server I got a small cryptic error saying honeybee-radiance not found
I figured that on windows this CMD call lives under:

C:\Users<>\AppData\Roaming\Python\Python37\Scripts\honeybee-radiance.exe

How does HB and its cli installs itself onto Linux to make this commands?

My function server is built with pip installs and the radiance folder is uploaded on deployment to the correct location. I also don’t want to use a Docker solution for now.

EDIT 1

  • Ive decided to continue these tests on a Docker container. I am uzing Azures Functions to test this and the container for this is Debian 10.
  • Managed to run the cli commands using subprocess.Popen(cmd)

Unfortunately, now I run into a problem where GLIBC_2.29 not found (required by gensky), when building the octree, upon investigation i discovered Debian 10 does not have glibc 2.29

The first problem sounds like a path issue. Specifically the shell you’re using doesn’t know where to find the honeybee programs. If that’s the case, you can fix this by setting the path to the cli path explicitly:

export PATH=$PATH:/directory/with/honeybee-radiance.exe

If that works you can then set the path permanently in your shell configuration file.

I’m not familiar with GLIBC_2.29, but sounds like you’ll just have to download it yourself, (which should be relatively easy to do in Linux) or move to a more compatible Linux distro.

Hi @dvalent ,

If you are ok using a Docker-based solution, then we have an image available that includes Python, honeybee-radiance, Radiance, and all of the dependencies needed to run it (including the correct version of GLIBC).

This is the image that we use for Radiance simulations on our Pollination Cloud service that runs on Linux servers. The Dockerfile that we use to set up the Linux environment is all publicly available as you see here so you can see how you can do it yourself or make modifications if you want.

Just bear in mind that the LBT core libraries are under an AGPL license. So it’s totally permissible to set up Linux servers like this for your own purposes or for research but, if you are doing it with the intention of giving others access to the server (as you would for most commercial purposes) this would mean that the whole service should be freely available with full access to the source code for anyone who wants it.

1 Like

Hey @chris - is there any documentation on how to get started with using these images that are available? I had a look and couldn’t seem to find it…

Not really since the Dockerfile is pretty self-explanatory if you know how to read it and all of the docs on how to use the LBT core SDK libraries in the image are here. Is there something specific that you’re trying to do with the image that you would want docs for?

We are wanting to be running DA and DF recipes within a series of post-processing functions as well. We had issues with sending concurrent jobs locally, so we are going to give the docker/container/vm solution a go.

Are the above recipes (see tagged post) the ones to run within the docker image?