Self-hosted Speckle IFC Importer Requires Ubuntu 24.04+

Hello everyone,

I need some help with the self-hosted Speckle.

After updating all services to version 2.23.16, the IFC import feature stopped working. Below is an image of the error.

It’s worth mentioning that I hadn’t updated the Docker Compose version in a while, so this issue might not necessarily be tied to version 2.23.16 . In fact, I rolled back to version 2.23.15 , and the same error persisted.

Looking into the issue, it seems the logic has changed. When I try to upload the same file but add .legacyimporter.ifc to the end of the file name, it works fine.

My question is: did I misunderstand something? Is this import service no longer available for self-hosted setups?

Attached are the IFC file used in the example and the logs from the file-import-service for reference.

small-modified.ifc (679.0 KB)

{
  "l": "Error",
  "component": "fileimport-service",
  "taskId": "647bb37441",
  "fileId": "647bb37441",
  "fileType": "ifc",
  "fileName": "small-modified.ifc",
  "fileSize": 695313,
  "userId": "b032e0fa83",
  "projectId": "b822c885ef",
  "modelName": "arch",
  "modelId": "309bcf113d",
  "err": {
    "type": "Error",
    "message": "Operation is not supported on this platform.",
    "stack": "Error: Operation is not supported on this platform.
      at doTask (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:194:19)
      at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
      at async doStuff (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:347:13)
      at async main (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:364:5)"
  },
  "t": "2025-04-10T19:55:28.425Z",
  "x": "Error: Operation is not supported on this platform.
    at doTask (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:194:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async doStuff (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:347:13)
    at async main (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:364:5)",
  "mt": "Error processing task"
}```
2 Likes

Hi @RafaelMayer

It would be good to know if you’re on any sort of arm system (e.g. snapdragon or apple silicon)
The .NET IFC parser is built to run on the x64 (aka amd64) Ubuntu 24. Anything else may have issues.


I also suggest trying a different IFC file (e.g. sample files)
I was also unsuccessful uploading your IFC file to app.speckle.systems, and received an error.

Digging into it a bit more, I suspect that there are some invalid elements inside this IFC file.
This IfcPropertySet (#244) is causing the failure because it references element #243,
however there is no element #243 anywhere in this file.

1 Like

Thank you for your response!

The system where the service is running is a Linux Ubuntu x64. Below is the output of the uname -a command:

Linux optype 5.15.0-134-generic #145-Ubuntu SMP Wed Feb 12 20:08:39 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Regarding the IFC import, what I find strange is that it works fine with the older version (which makes me think this could be related to the new version of the importer, correct?).

I’m attaching another IFC file , which comes from the repository you mentioned in your response. This file successfully uploads to your site app.speckle.systems, but it doesn’t work on my self-hosted setup.

Let me know if you need any additional information or logs to help troubleshoot this issue.

Building-Hvac.ifc (175.5 KB)

Thanks for helping trouble shoot this.

A quick google search suggests that Linux optype 5.15.0-134-generic is maybe correlating to Ubuntu 20.04 LTS or 22.04 LTS, either of which is too old for some of the IFC parser’s dependencies. Ubuntu 24.x or newer are the only versions that I know to work.

I’ll do some more investigation tomorrow and have a chat with the team…


The new IFC importer is very different from the old one, so may be a bit more picky about things.

In the mean time, you can either downgrade your file import service image, or use the .legacyimporter.ifc naming to trigger the old web based importer.

1 Like

Thank you so much for all the support and patience.

Indeed, my VM was running Ubuntu 22.04, and I apologize for the confusion—I hadn’t paid close attention to that detail the first time you mentioned it. However, I’ve now upgraded my VM to Ubuntu 24.04 using the command sudo do-release-upgrade. Below is the output of the lsb_release -a command:

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.2 LTS
Release:	24.04
Codename:	noble

And the output of the uname -a

Linux optype 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Unfortunately, even after upgrading, I’m still encountering the same error.

I’ve rolled back to version 2.23.11, which seems to be the last version before the new IFC importer was introduced. Now everything is working again (since version 2.23.12 was released 13 days ago, the same timeframe as the post was published).

Once again, thank you for the support, and I’m happy to assist with any logs or additional context you might need. If you’d like to reach out to me privately, feel free to send me a direct message here on the forum.

Thank you, and congratulations on the product—it’s excellent!

1 Like

Hi everyone, any updates on this issue? I tried updating to the latest version and I’m still getting the same error. I think it might be some misconfiguration on my part.

I’m concerned because I saw the notice about the new connectors and they won’t be compatible with the old server logic, which is exactly what we’re stuck with.

Just to clarify, you have the File Import Service running on Ubuntu 24 LTS, and you’re still seeing Operation is not supported on this platform. error on file imports?

Exactly. Just to give you more context:

If I use the command
docker inspect --format='{{.Config.Image}}' optype-fileimport-service-1

the return is
speckle/speckle-fileimport-service:2

This shows that I’m on the latest version of the “fileimport-service”.

When I try to get the Ubuntu version with the command
lsb_release -a
the output is

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.2 LTS
Release: 24.04
Codename: noble

And when I try to upload an IFC, this error occurs

The logs for the fileimport-service, using the command
docker compose logs fileimport-service
are

{"@l":"Error","component":"fileimport-service","taskId":"46fba7a696","fileId":"46fba7a696","fileType":"ifc","fileName":"small-modified.ifc","fileSize":695313,"userId":"b032e0fa83","projectId":"88d179a4e5","modelName":"arch","modelId":"4476fb83b5","err":{"type":"Error","message":"Operation is not supported on this platform.","stack":"Error: Operation is not supported on this platform.\n at doTask (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:195:19)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async doStuff (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:348:13)\n at async main (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:365:5)"},"@t":"2025-05-19T13:13:29.572Z","@x":"Error: Operation is not supported on this platform.\n at doTask (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:195:19)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async doStuff (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:348:13)\n at async main (file:///speckle-server/packages/fileimport-service/dist/src/controller/daemon.js:365:5)","@mt":"Error processing task"}