Trouble with custom SideFXLabs deployment

   1336   4   1
User Avatar
Member
59 posts
Joined: 4月 2006
Offline
I'm trying to follow the scant documentation on custom deployment of the SideFXLabs package and having no success getting all the tools to be visible in a Houdini session.

For the sake of this example, let's say I have unzipped the SideFXLabs-1.205.zip file into a directory called:

C:/custom/packages

Now, the contents of the zip archive is a folder called SideFXLabs-1.205, which means when I am done unzipping, I have:

C:/custom/packages/SideFXLabs-1.205

inside of which are all the SideFXLabs subfolders and, crucially, the SideFXLabs.json package file.

I add this directory to HOUDINI_PACKAGE_DIR:

HOUDINI_PACKAGE_DIR="C:/custom/packages/SideFXLabs-1.205"

so that Houdini will find the SideFXLabs.json file. Then, inside SideFXLabs.json, I set the “SIDEFXLABS” env dictionary key to the value of:

"SIDEFXLABS": "C:/custom/packages"

which is the folder I chose for unzipping into. This is, as far as I can tell, precisely what the docs say to do, but while I do see a SideFXLabs shelf (with only one button for updating itself), I do not get any other shelf buttons nor do I get any Labs nodes.

What am I doing wrong?
Edited by jrcooper - 2020年9月14日 18:33:37
User Avatar
Member
9 posts
Joined: 2月 2017
Offline
Hey, have you found a solution to this? I'm having the same problem except, that if I use local paths it works but not with network paths. I'm on windows.
User Avatar
Member
59 posts
Joined: 4月 2006
Offline
I believe the way we got this working was by modifying the SideFXLabs.json file to look like this:

{
    "env": [
        {
            "sidefxlabs_current_version": "1.205"
        }, 
        {
            "SIDEFXLABS": "N:/global/houdini/packages/18.0/SideFXLabs/${sidefxlabs_current_version}"
        }, 
        {
            "PATH": {
                "method": "prepend", 
                "value": [
                    "$SIDEFXLABS/bin"
                ]
            }
        }
    ], 
    "path": "$SIDEFXLABS"
}

Where N:/global/houdini/packages/18.0/SideFXLabs/1.205was the network path where the package contents were extracted.
User Avatar
Member
9 posts
Joined: 2月 2017
Offline
jrcooper
I believe the way we got this working was by modifying the SideFXLabs.json file to look like this:

{
    "env": [
        {
            "sidefxlabs_current_version": "1.205"
        }, 
        {
            "SIDEFXLABS": "N:/global/houdini/packages/18.0/SideFXLabs/${sidefxlabs_current_version}"
        }, 
        {
            "PATH": {
                "method": "prepend", 
                "value": [
                    "$SIDEFXLABS/bin"
                ]
            }
        }
    ], 
    "path": "$SIDEFXLABS"
}

Where N:/global/houdini/packages/18.0/SideFXLabs/1.205was the network path where the package contents were extracted.


Have you tried it with paths like //server/path, or just with mounted paths like C:/path?
User Avatar
Member
59 posts
Joined: 4月 2006
Offline
Yes, this works for us with full UNC network paths. In fact, our SIDEFXLABS entry actually looks more like this:

"SIDEFXLABS": "${DEPLOY_ROOT}/houdini/packages/18.0/SideFXLabs/${sidefxlabs_current_version}"

Where $DEPLOY_ROOT is a custom environment variable set by our application launcher to a Windows-style path (e.g., "N:/global") when the host machine is a Windows machine, and to a Linux-style path (e.g., "//netfsmnt/global") when the host machine is a Linux machine.
  • Quick Links