-
Notifications
You must be signed in to change notification settings - Fork 318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenVDB / OpenEXR 2.x + IlmBase -> OpenEXR 3.x + Imath #2606
Comments
Good find @cederom - was getting stuck on this issue too. Hopefully this will get resolved soon. |
thanks for this suggestion "Modern PrusaSlicer already uses new OpenEXR + Imath." we will check Prusa's logic for our reference |
Thank you @harley-codes and @lanewei120 for your interest in the problem :-) Here are several resources to reference:
1 is the source of FreeBSD's port for OpenVDB. If you look at Makefile line 38 it states OpenVDB depends on OpenEXR (here: https://cgit.freebsd.org/ports/tree/misc/openvdb/Makefile). 2 is the source of FreeBSD's port for PrusaSlicer version 2.6.0. If you look at Makefile line 21 it states libImath dependency (here: https://cgit.freebsd.org/ports/tree/cad/PrusaSlicer/Makefile). 3 is the source of FreeBSD's port for OpenEXR. If you look at Makefile line 2 it states version used is 3.2.1 (here: https://cgit.freebsd.org/ports/tree/graphics/openexr/Makefile). 4 is the porting guide of OpenEXR that states changes between version 2 and version 3, particularly the "OpenEXR and Imath Are Different Packages" section states "The parts of “IlmBase” that were Imath and half are now repackaged as the Imath library. The IlmThread and Iex libraries have been folded into the OpenEXR package, since they were were not necessary to the rest of Imath." 5 is the dedicated FreeBSD port for Imath following the changes in OpenEXR version 3.X. That is a dependency for PrusaSlicer version 2.6.0 (2). It replaces the old version 2 ilmbase/OpenEXR with version 3 (see commit https://cgit.freebsd.org/ports/commit/?id=05044ea01992c28028cc87f374560aad1b6c595d). Switching BambuStudio / PrsaSlicer to OpenEXR 3.X + Imath would make porting to new platforms possible, also should improve maintenance on existing platforms :-) I hope that helps :-) Please let me know how can I help further :-) |
thanks for the detailed information I just found there is no modifications in https://github.com/prusa3d/PrusaSlicer to support OpenEXR+Imath |
I will try to build git master of PrusaSlicer on FreeBSD (no ports Makefile used) and report back :-) Please let me know how can I help further :-) |
Below there is a log for git master build of PrusaSlicer:
|
I will try to provide patches to both OpenVDB and PrusaSlicer:
|
@lanewei120 is it possible to skip PrusaSlicer build as part of BambuStudio and use existing installed system package or is it hardcoded part? That would allow easy building of BambuStudio that could depend on the already installed system packages (no matter how these were built). If this is not possible then we need to patch the upstream of OpenVDB and PrusaSlicer in the first place and then maintain the FreeBSD support in the upstream. Update: I can see that BambuStudio IS a modified PrusaSlicer. There was no question ;-) |
yes, the building of BambuStudio is dependent of PrusaSlicer |
@lanewei120 is BambuStudio 1:1 copy of the PrusaSlicer + additional "out-of-tree" modifications, so patching PrusaSlicer upstream will also propagate BambuStudio or these projects diverged at some point and need to be patched separately and will not stay in sync? I mean the best possible situation would be to patch the PrusaSlicer and then rebase changes to BambuStudio.. now.. and in future :-) |
need to patch seperately:) |
Okay @lanewei120, so the BambuStudio was created out of PrusaSlicer, do you share back fixes and updates to the upstream PrusaSlicer? o_O |
they have much difference in lots of parts, |
Okay, OpenVDB 11 was released with required fixes in the upstream AcademySoftwareFoundation/openvdb#1678 :-) The other stuff is up to PrusaSlicer upstream. I know more now how BambuStudio is organized. I will get back to porting in my free time :-) Thank you for the support and time! :-) |
Bambu Studio Version
git/master
Where is the application from?
Bambu Lab github releases, Built from source by yourself or others
OS version
FreeBSD RELEASE 13.2 AMD64
Additional system information
No response
Printer
X1C
How to reproduce
OpenVDB
reference to obsoletedIlmBase
. Part ofIlmBase
becameOpenEXR
version 3 +Imath
library [1].BambuStudio/CMakeLists.txt
Line 549 in 5ef759c
BambuStudio/CMakeLists.txt
Line 551 in 5ef759c
PrusaSlicer
already uses newOpenEXR
+Imath
.[1] https://openexr.com/en/latest/PortingGuide.html?highlight=ilmbase#background
Actual results
IlmBase
port in FreeBSD but due toOpenEXR
updates the port is now gone and code went toOpenEXR
andImath
following the upstream.OpenEXR
+Imath
.Expected results
Dependencies from
IlmBase
are updated toOpenEXR
+Imath
:-)Project file & Debug log uploads
none
Checklist of files to include
The text was updated successfully, but these errors were encountered: