After an OS upgrade we started getting “unsupported filesystem layout” errors when invoking certain executables – this was causing fatal problems. Here is what the error meant in our case, and how this was fixed.
After an OS upgrade we started getting “unsupported filesystem layout” errors when invoking certain executables – this was causing fatal problems. While we are still investigating the cause of this, clearly a quick fix was needed. The files generating this error message all lived in /usr/local/lib/compat/pkg, and from a Google search it was discovered that this error message is generated with the presence of 32 bit software on a 64 bit OS (and likely vice versa). It can be determined for what architecture a file was designed for with the “file” command (file /path/to/file). Several of these files were indeed being reported as i386, so replacing these with 64 bit versions found in /usr/local/lib/compat was an effective fix to this problem. Perhaps there was some path change that was implemented and updating all installed packages would have solved this (although this doesn’t explain why 32 bit versions were ever installed). Unfortunately, there were some packages that were not upgraded prior to the OS upgrade.
At this time it is still being investigated whether this is a sufficient long term fix, as well as what installed these 32 bit files and how this can be prevented from happening again, but if you are getting this error, hopefully this blog post gives you an idea as to what you can do to restore the functionality of your machine!