CNMAT / CNMAT-odot

Multi-paradigm Dynamic Programming
Other
115 stars 11 forks source link

Odot objects behaving strangely on Raspberry Pi #428

Closed maccallum closed 2 years ago

maccallum commented 3 years ago

Matthew Goodheart writes "I'm running into problems with running odot in PD on a Pi. I've got the latest CNMAT externals installed, but o.pack doesn't seem to recognize the input, giving the "-nan" error. There are no problems with strings or lists."

maccallum commented 2 years ago

This is/was caused by duplicate symbols. o.route, o.select, and o.atomize all share the same code, and their functions all begin with the same prefix (oroute_). It seems that these libraries are being loaded differently on OS X and Linux. I added a quick fix that mangles the function names to make them unique for the different objects.

wagne342 commented 2 years ago

@maccallum FYI, I just resolved a similar issue with randdist, which was throwing duplicate symbols for various architectures on compile. Apparently, updating the Xcode project flipped the switch on Apple Clang - Code Generation > No Common Blocks from "No" to "Yes". Switching this back to "No" in the Xcode project allows build without the Duplicate Symbols error.