Hi, trying to make STL for printing using official instruction but getting something very weird and unexpected for the flow created to be reproducible:
docker build -t pcbcase .
[+] Building 45.2s (19/19) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 1.21kB 0.0s
=> resolve image config for docker-image://docker.io/docker/dockerfile:1 2.4s
=> docker-image://docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 0.7s
=> => resolve docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 0.0s
=> => sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 14.36MB / 14.36MB 0.4s
=> => extracting sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 0.1s
=> [internal] load metadata for docker.io/library/debian:trixie-slim 1.7s
=> [internal] load metadata for docker.io/openscad/openscad:trixie.2025年09月22日 2.1s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [build 1/6] FROM docker.io/library/debian:trixie-slim@sha256:28de0877c2189802884ccd20f15ee41c203573bd87bb6b883f5f46362d24c5c2 1.6s
=> => resolve docker.io/library/debian:trixie-slim@sha256:28de0877c2189802884ccd20f15ee41c203573bd87bb6b883f5f46362d24c5c2 0.1s
=> => sha256:e95a6c7ea7d49b37920899b023ecd0e32796c976c1748491f76cae53ba86d13a 29.79MB / 29.79MB 0.6s
=> => extracting sha256:e95a6c7ea7d49b37920899b023ecd0e32796c976c1748491f76cae53ba86d13a 0.8s
=> [stage-1 1/5] FROM docker.io/openscad/openscad:trixie.2025年09月22日@sha256:99b04cec29cf9af3d757ed07dd6fec00d5d1c1f5a8e52353d917507ec92be9cb 7.4s
=> => resolve docker.io/openscad/openscad:trixie.2025年09月22日@sha256:99b04cec29cf9af3d757ed07dd6fec00d5d1c1f5a8e52353d917507ec92be9cb 0.1s
=> => sha256:4d9b3e3ed7c6ef18d47ff4b055f98c657a0181d2207de173ba8912f3a7d87bf7 98B / 98B 0.3s
=> => sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 32B / 32B 0.4s
=> => sha256:4aef21a85e596906ed04f73d1e6d1794605f3522ebed78e2bc8f386822e63154 121.73MB / 121.73MB 3.9s
=> => sha256:6ff91345814f107dbd6ba703e03674659add9fc40d8f43f1760cf9de9ed1613a 665.87kB / 665.87kB 0.6s
=> => sha256:537287d1e55d8a98a9b145db673cf4d4833ef6dddf5956ab9737875c74f97034 16.37MB / 16.37MB 0.9s
=> => sha256:d37589556f55f4252721b593934d975f1eff4d58f54e69b51d88b07b52b5f7eb 11.10MB / 11.10MB 1.0s
=> => sha256:ce1261c6d567efa8e3b457673eeeb474a0a8066df6bb95ca9a6a94a31e219dd3 29.77MB / 29.77MB 1.1s
=> => extracting sha256:ce1261c6d567efa8e3b457673eeeb474a0a8066df6bb95ca9a6a94a31e219dd3 0.8s
=> => extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 0.1s
=> => extracting sha256:d37589556f55f4252721b593934d975f1eff4d58f54e69b51d88b07b52b5f7eb 0.3s
=> => extracting sha256:537287d1e55d8a98a9b145db673cf4d4833ef6dddf5956ab9737875c74f97034 0.4s
=> => extracting sha256:6ff91345814f107dbd6ba703e03674659add9fc40d8f43f1760cf9de9ed1613a 0.1s
=> => extracting sha256:4aef21a85e596906ed04f73d1e6d1794605f3522ebed78e2bc8f386822e63154 2.8s
=> => extracting sha256:4d9b3e3ed7c6ef18d47ff4b055f98c657a0181d2207de173ba8912f3a7d87bf7 0.1s
=> [internal] load build context 0.3s
=> => transferring context: 5.10MB 0.1s
=> [build 2/6] RUN apt-get update && apt-get install -y --no-install-recommends build-essential git ca-certificates pkg-config libpopt-dev && rm -rf /var/lib/apt/lists/* 26.0s
=> [stage-1 2/5] RUN apt-get update && apt-get install -y --no-install-recommends libpopt0 && rm -rf /var/lib/apt/lists/* 4.4s
=> [stage-1 3/5] WORKDIR /workbench 0.2s
=> [build 3/6] WORKDIR /src 0.2s
=> [build 4/6] COPY . /src 0.2s
=> [build 5/6] RUN [ -f .gitmodules ] && git submodule update --init --recursive || true 7.8s
=> [build 6/6] RUN make 1.9s
=> [stage-1 4/5] COPY --from=build /src/case /usr/local/bin/case 0.2s
=> [stage-1 5/5] COPY --from=build /src/case-scad /opt/case-scad 0.1s
=> exporting to image 1.3s
=> => exporting layers 0.8s
=> => exporting manifest sha256:14c58b66921aa381e00ecf8e8f967768a52fd44fc9d58766e85680203ec9a9fa 0.0s
=> => exporting config sha256:d18c980ae7b52a1619ecbb337d2f96134734aa11580c3eabfed57f3e5ce8ecf5 0.1s
=> => exporting attestation manifest sha256:6b4860e5b6a745db40cf2448b27b0e4b264c5eaae70625c78431bea676baa89f 0.1s
=> => exporting manifest list sha256:27644f14fa5640d91736510f2c59a061f53ada2128e678faecc255a80737d9f5 0.0s
=> => naming to docker.io/library/pcbcase:latest 0.0s
=> => unpacking to docker.io/library/pcbcase:latest 0.2s
docker run --rm -v "$PWD":/workbench -w /workbench pcbcase case -o PCB/Test/Test.scad PCB/Test/Test.kicad_pcb -M models
docker run --rm -v "$PWD":/workbench -w /workbench pcbcase openscad -o PCB/Test/Test.stl PCB/Test/Test.scad
WARNING: [manifold] Minkowski failed with error, falling back to Nef operation: CGAL ERROR: assertion violation!
Expr: e_below != SHalfedge_handle()
File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 418
ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
WARNING: [manifold] Minkowski failed with error, falling back to Nef operation: CGAL ERROR: assertion violation!
Expr: e_below != SHalfedge_handle()
File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 418
ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
WARNING: [manifold] Minkowski failed with error, falling back to Nef operation: CGAL ERROR: assertion violation!
Expr: e_below != SHalfedge_handle()
File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 418
ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
Geometries in cache: 204
Geometry cache size in bytes: 2196432
CGAL Polyhedrons in cache: 160
CGAL cache size in bytes: 0
Total rendering time: 0:00:04.925
Top level object is a 3D object (manifold):
Status: NoError
Genus: 0
Vertices: 7167
Facets: 14330
# another try - just the same with compose to avoid misunderstanding
docker compose build
[+] Building 11.4s (21/21) FINISHED
=> [internal] load local bake definitions 0.0s
=> => reading from stdin 481B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.21kB 0.0s
=> resolve image config for docker-image://docker.io/docker/dockerfile:1 0.7s
=> CACHED docker-image://docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 0.0s
=> => resolve docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 0.0s
=> [internal] load metadata for docker.io/openscad/openscad:trixie.2025年09月22日 0.7s
=> [internal] load metadata for docker.io/library/debian:trixie-slim 0.7s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [stage-1 1/5] FROM docker.io/openscad/openscad:trixie.2025年09月22日@sha256:99b04cec29cf9af3d757ed07dd6fec00d5d1c1f5a8e52353d917507ec92be9cb 0.1s
=> => resolve docker.io/openscad/openscad:trixie.2025年09月22日@sha256:99b04cec29cf9af3d757ed07dd6fec00d5d1c1f5a8e52353d917507ec92be9cb 0.0s
=> [build 1/6] FROM docker.io/library/debian:trixie-slim@sha256:28de0877c2189802884ccd20f15ee41c203573bd87bb6b883f5f46362d24c5c2 0.1s
=> => resolve docker.io/library/debian:trixie-slim@sha256:28de0877c2189802884ccd20f15ee41c203573bd87bb6b883f5f46362d24c5c2 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 3.70MB 0.0s
=> CACHED [build 2/6] RUN apt-get update && apt-get install -y --no-install-recommends build-essential git ca-certificates pkg-config libpopt-dev && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [build 3/6] WORKDIR /src 0.0s
=> [build 4/6] COPY . /src 0.1s
=> [build 5/6] RUN [ -f .gitmodules ] && git submodule update --init --recursive || true 7.1s
=> [build 6/6] RUN make 1.9s
=> CACHED [stage-1 2/5] RUN apt-get update && apt-get install -y --no-install-recommends libpopt0 && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [stage-1 3/5] WORKDIR /workbench 0.0s
=> CACHED [stage-1 4/5] COPY --from=build /src/case /usr/local/bin/case 0.0s
=> CACHED [stage-1 5/5] COPY --from=build /src/case-scad /opt/case-scad 0.0s
=> exporting to image 0.3s
=> => exporting layers 0.0s
=> => exporting manifest sha256:2911dde56b61b4cbc7e467c6e03f1636a59fce421f10fbcd9b04567fc3db0553 0.0s
=> => exporting config sha256:208e8faf762d2ce8eaa1df2e43ccb084bfc48401a4272673d5ee44d8050676ce 0.0s
=> => exporting attestation manifest sha256:65d94f791f84baa8e1185c14163cea863e7abd7b2175ae1a874dd0bf5dfb5349 0.1s
=> => exporting manifest list sha256:78642c43df256ee30f281f1212fc94ed6dc6e89e931452b3985dc481f565710b 0.0s
=> => naming to docker.io/library/pcbcase:latest 0.0s
=> => unpacking to docker.io/library/pcbcase:latest 0.0s
=> resolving provenance for metadata file 0.0s
[+] build 1/1
✔ Image pcbcase:latest Built
Hi, trying to make STL for printing using official instruction but getting something very weird and unexpected for the flow created to be reproducible:
```shell
docker build -t pcbcase .
[+] Building 45.2s (19/19) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 1.21kB 0.0s
=> resolve image config for docker-image://docker.io/docker/dockerfile:1 2.4s
=> docker-image://docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 0.7s
=> => resolve docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 0.0s
=> => sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 14.36MB / 14.36MB 0.4s
=> => extracting sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 0.1s
=> [internal] load metadata for docker.io/library/debian:trixie-slim 1.7s
=> [internal] load metadata for docker.io/openscad/openscad:trixie.2025年09月22日 2.1s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [build 1/6] FROM docker.io/library/debian:trixie-slim@sha256:28de0877c2189802884ccd20f15ee41c203573bd87bb6b883f5f46362d24c5c2 1.6s
=> => resolve docker.io/library/debian:trixie-slim@sha256:28de0877c2189802884ccd20f15ee41c203573bd87bb6b883f5f46362d24c5c2 0.1s
=> => sha256:e95a6c7ea7d49b37920899b023ecd0e32796c976c1748491f76cae53ba86d13a 29.79MB / 29.79MB 0.6s
=> => extracting sha256:e95a6c7ea7d49b37920899b023ecd0e32796c976c1748491f76cae53ba86d13a 0.8s
=> [stage-1 1/5] FROM docker.io/openscad/openscad:trixie.2025年09月22日@sha256:99b04cec29cf9af3d757ed07dd6fec00d5d1c1f5a8e52353d917507ec92be9cb 7.4s
=> => resolve docker.io/openscad/openscad:trixie.2025年09月22日@sha256:99b04cec29cf9af3d757ed07dd6fec00d5d1c1f5a8e52353d917507ec92be9cb 0.1s
=> => sha256:4d9b3e3ed7c6ef18d47ff4b055f98c657a0181d2207de173ba8912f3a7d87bf7 98B / 98B 0.3s
=> => sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 32B / 32B 0.4s
=> => sha256:4aef21a85e596906ed04f73d1e6d1794605f3522ebed78e2bc8f386822e63154 121.73MB / 121.73MB 3.9s
=> => sha256:6ff91345814f107dbd6ba703e03674659add9fc40d8f43f1760cf9de9ed1613a 665.87kB / 665.87kB 0.6s
=> => sha256:537287d1e55d8a98a9b145db673cf4d4833ef6dddf5956ab9737875c74f97034 16.37MB / 16.37MB 0.9s
=> => sha256:d37589556f55f4252721b593934d975f1eff4d58f54e69b51d88b07b52b5f7eb 11.10MB / 11.10MB 1.0s
=> => sha256:ce1261c6d567efa8e3b457673eeeb474a0a8066df6bb95ca9a6a94a31e219dd3 29.77MB / 29.77MB 1.1s
=> => extracting sha256:ce1261c6d567efa8e3b457673eeeb474a0a8066df6bb95ca9a6a94a31e219dd3 0.8s
=> => extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 0.1s
=> => extracting sha256:d37589556f55f4252721b593934d975f1eff4d58f54e69b51d88b07b52b5f7eb 0.3s
=> => extracting sha256:537287d1e55d8a98a9b145db673cf4d4833ef6dddf5956ab9737875c74f97034 0.4s
=> => extracting sha256:6ff91345814f107dbd6ba703e03674659add9fc40d8f43f1760cf9de9ed1613a 0.1s
=> => extracting sha256:4aef21a85e596906ed04f73d1e6d1794605f3522ebed78e2bc8f386822e63154 2.8s
=> => extracting sha256:4d9b3e3ed7c6ef18d47ff4b055f98c657a0181d2207de173ba8912f3a7d87bf7 0.1s
=> [internal] load build context 0.3s
=> => transferring context: 5.10MB 0.1s
=> [build 2/6] RUN apt-get update && apt-get install -y --no-install-recommends build-essential git ca-certificates pkg-config libpopt-dev && rm -rf /var/lib/apt/lists/* 26.0s
=> [stage-1 2/5] RUN apt-get update && apt-get install -y --no-install-recommends libpopt0 && rm -rf /var/lib/apt/lists/* 4.4s
=> [stage-1 3/5] WORKDIR /workbench 0.2s
=> [build 3/6] WORKDIR /src 0.2s
=> [build 4/6] COPY . /src 0.2s
=> [build 5/6] RUN [ -f .gitmodules ] && git submodule update --init --recursive || true 7.8s
=> [build 6/6] RUN make 1.9s
=> [stage-1 4/5] COPY --from=build /src/case /usr/local/bin/case 0.2s
=> [stage-1 5/5] COPY --from=build /src/case-scad /opt/case-scad 0.1s
=> exporting to image 1.3s
=> => exporting layers 0.8s
=> => exporting manifest sha256:14c58b66921aa381e00ecf8e8f967768a52fd44fc9d58766e85680203ec9a9fa 0.0s
=> => exporting config sha256:d18c980ae7b52a1619ecbb337d2f96134734aa11580c3eabfed57f3e5ce8ecf5 0.1s
=> => exporting attestation manifest sha256:6b4860e5b6a745db40cf2448b27b0e4b264c5eaae70625c78431bea676baa89f 0.1s
=> => exporting manifest list sha256:27644f14fa5640d91736510f2c59a061f53ada2128e678faecc255a80737d9f5 0.0s
=> => naming to docker.io/library/pcbcase:latest 0.0s
=> => unpacking to docker.io/library/pcbcase:latest 0.2s
docker run --rm -v "$PWD":/workbench -w /workbench pcbcase case -o PCB/Test/Test.scad PCB/Test/Test.kicad_pcb -M models
docker run --rm -v "$PWD":/workbench -w /workbench pcbcase openscad -o PCB/Test/Test.stl PCB/Test/Test.scad
WARNING: [manifold] Minkowski failed with error, falling back to Nef operation: CGAL ERROR: assertion violation!
Expr: e_below != SHalfedge_handle()
File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 418
ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
WARNING: [manifold] Minkowski failed with error, falling back to Nef operation: CGAL ERROR: assertion violation!
Expr: e_below != SHalfedge_handle()
File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 418
ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
WARNING: [manifold] Minkowski failed with error, falling back to Nef operation: CGAL ERROR: assertion violation!
Expr: e_below != SHalfedge_handle()
File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 418
ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
Geometries in cache: 204
Geometry cache size in bytes: 2196432
CGAL Polyhedrons in cache: 160
CGAL cache size in bytes: 0
Total rendering time: 0:00:04.925
Top level object is a 3D object (manifold):
Status: NoError
Genus: 0
Vertices: 7167
Facets: 14330
# another try - just the same with compose to avoid misunderstanding
docker compose build
[+] Building 11.4s (21/21) FINISHED
=> [internal] load local bake definitions 0.0s
=> => reading from stdin 481B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.21kB 0.0s
=> resolve image config for docker-image://docker.io/docker/dockerfile:1 0.7s
=> CACHED docker-image://docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 0.0s
=> => resolve docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 0.0s
=> [internal] load metadata for docker.io/openscad/openscad:trixie.2025年09月22日 0.7s
=> [internal] load metadata for docker.io/library/debian:trixie-slim 0.7s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [stage-1 1/5] FROM docker.io/openscad/openscad:trixie.2025年09月22日@sha256:99b04cec29cf9af3d757ed07dd6fec00d5d1c1f5a8e52353d917507ec92be9cb 0.1s
=> => resolve docker.io/openscad/openscad:trixie.2025年09月22日@sha256:99b04cec29cf9af3d757ed07dd6fec00d5d1c1f5a8e52353d917507ec92be9cb 0.0s
=> [build 1/6] FROM docker.io/library/debian:trixie-slim@sha256:28de0877c2189802884ccd20f15ee41c203573bd87bb6b883f5f46362d24c5c2 0.1s
=> => resolve docker.io/library/debian:trixie-slim@sha256:28de0877c2189802884ccd20f15ee41c203573bd87bb6b883f5f46362d24c5c2 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 3.70MB 0.0s
=> CACHED [build 2/6] RUN apt-get update && apt-get install -y --no-install-recommends build-essential git ca-certificates pkg-config libpopt-dev && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [build 3/6] WORKDIR /src 0.0s
=> [build 4/6] COPY . /src 0.1s
=> [build 5/6] RUN [ -f .gitmodules ] && git submodule update --init --recursive || true 7.1s
=> [build 6/6] RUN make 1.9s
=> CACHED [stage-1 2/5] RUN apt-get update && apt-get install -y --no-install-recommends libpopt0 && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [stage-1 3/5] WORKDIR /workbench 0.0s
=> CACHED [stage-1 4/5] COPY --from=build /src/case /usr/local/bin/case 0.0s
=> CACHED [stage-1 5/5] COPY --from=build /src/case-scad /opt/case-scad 0.0s
=> exporting to image 0.3s
=> => exporting layers 0.0s
=> => exporting manifest sha256:2911dde56b61b4cbc7e467c6e03f1636a59fce421f10fbcd9b04567fc3db0553 0.0s
=> => exporting config sha256:208e8faf762d2ce8eaa1df2e43ccb084bfc48401a4272673d5ee44d8050676ce 0.0s
=> => exporting attestation manifest sha256:65d94f791f84baa8e1185c14163cea863e7abd7b2175ae1a874dd0bf5dfb5349 0.1s
=> => exporting manifest list sha256:78642c43df256ee30f281f1212fc94ed6dc6e89e931452b3985dc481f565710b 0.0s
=> => naming to docker.io/library/pcbcase:latest 0.0s
=> => unpacking to docker.io/library/pcbcase:latest 0.0s
=> resolving provenance for metadata file 0.0s
[+] build 1/1
✔ Image pcbcase:latest Built
```