nebulous / infinitude

Open control of Carrier/Bryant thermostats
MIT License
225 stars 50 forks source link

Missing perl module #112

Closed edwardhughes closed 2 years ago

edwardhughes commented 3 years ago

I recently checked out the source for a local install on an Orange Pi Plus running Armbian (Debian 10 Buster). All seemed to go well except that I was getting an error about handling the XML:

Caught error: XMLin() requires either XML::SAX or XML::Parser at ./infinitude line 109.
XML::Simple called at ./infinitude line 109.

I installed the XML::Parser module and things are now working. It seemed that this module might need to be added to the cpanfile.

Thanks for the great work!!

nebulous commented 3 years ago

Thanks for the feedback, I've been interested in checking out an OrangePi for a while now but haven't been able to justify buying one with the stack of other boards on my bench :) Did you install purely based on the cpanfile, or did you first install some deb-based packages?

https://github.com/nebulous/infinitude/wiki/Installing-Infinitude-on-Raspberry-PI-(raspbian)#install-dependencies

The rpi manual install instructions specify libxml-simple-perl which I think forces one of the underlying xml parser libs to be installed, but that would be an interesting edge case. I'm a bit paranoid about adding much to the cpanfile that may require hours of compilation and testing that could be installed precompiled as a package.

edwardhughes commented 3 years ago

I followed the installation instructions for a Raspberry Pi, line-by-line as you linked. I figured the differences between Raspbian and Armbian should be small enough that the wiki's instructions would work.

Looking at the package libxml-simple-perl, the Depends are:

I don't have a reason why I chose to install XML::Parser over XML::SAX, but I can say that I have not tried to solve the problem by installing XML::SAX through cpan. That said, it does seem that it should have been installed by apt.

At the very least this error is now documented. Let me know if there is any other information that I can provide!