Open gerickson opened 5 years ago
I don't think a check in configure makes sense. That checks the system on which OpenWeave is built, but not the system on which the device manager is run. We should probably look into making the error message more helpful.
While I do see your point about the temporal and spatial disconnect, I think it'd be better than nothing.
It also gets down to the manner in which openweave-core is most likely to be used and consumed. Is it pre-built binary distributions? If so, then the check might be useless. If it's from source (either from git or a source archive), then the check might be helpful.
Whether we have the configure check or not, I agree that the error message can and should be more useful that it is now.
In principle it seems wrong for configure to have a check for something that isn't used during the build process. To wit: Why should I have to install packages on my build machines that are never going to be used there? Of course, successfully running unit tests on a build machine may necessitate installing extra packages. But that's not the job of configure to enforce.
In this case I don't really care that strongly. But a clearer runtime error is the highest priority fix for this issue, as it covers all use cases.
There is an implicit, undocumented requirement of the Python module 'pyobjc' to run the Weave Device Manager on Mac OS X. Failure to meet this requirement results in this run time error:
This requirement should be, at minimum, be noted in documentation. Ideally, it would be codified in a requirements check in
configure
.