Esri / palladio

Palladio enables the execution of CityEngine CGA rules inside of SideFX Houdini.
https://esri.github.io/cityengine/palladio
Apache License 2.0
101 stars 20 forks source link

windows: failing to load codecs library in v1.1 #88

Closed mistafunk closed 5 years ago

mistafunk commented 6 years ago

due to failing to load the prt codecs library, assets cannot be loaded from RPKs: [warning] [Method: 'Default$WindowFrame'] i(): Asset 'window_frame.obj' (project ''): error, using 'builtin:unknownasset'.

the underlying problem is a clash between Alembic.dll in CE SDK and Alembic.dll in Houdini. both have the same name but are not compatible (probably different versions).

fix by renaming Alembic.dll in CE SDK to AlemPRT.dll and edit the import section of com.esri.prt.codecs.dll.

mistafunk commented 6 years ago

did not find a programmatical way to do this - tried lief and peedit python tools. both tools cause an infinite loop when prt core tries to load the modified codecs dll.

found a manual workaround by modifying the codecs library using the CFF Explorer tool (http://www.ntcore.com/exsuite.php). care must be taken to have the same number of characters in the renamed Alembic dll (else the dll section layout gets corrupted).

attached the patched CE SDK release to the Palladio v1.1 release and updated the conanfile for cesdk.

mistafunk commented 6 years ago

keeping this ticket open to find a more elegant fix...

mistafunk commented 5 years ago

fixed in PRT 2, alembic now statically linked.