-
Notifications
You must be signed in to change notification settings - Fork 51
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
octoprint running on dietpi will not install plugin BGCODE #984
Comments
First of all, bgcode is an optional plugin, not preinstalled, is it? Generally it is expected that additional plugins may need additional build dependencies. Python wheels are compiled from source in those cases, no pre-compiled wheels hosted and downloaded. Only some are hosted as such on PyPI: https://pypi.org/project/OctoPrint-Wyze/#files
That should not be needed since Does the documentation for this plugin not contain the required compilers and headers to install/build it? |
For doing forward with this:
If it is pre-installed, we would need to fix it in |
No, it is not. binary gcode became a thing after octoprint, as such I can see why it was not in base octoprint. Still, given that many machines start to depend on it, I feel it should be supported. The other argument, is that "octopi" the Pi distro on which octoprint is installed, supports it which any special measures. From this perspective dietpi should mimic the same environment as octoprint: having an exception for one or more plugins is not logical from an octoprint user perspective where plugin installation should be straightforward and not require fiddling with the unix environment. Having said all this: I am happy that I got everything working: dietpi is so much better! But at the same time I acknowledge that my steps to get it done are not optimal. A simillar differce dietpi / octoprint is with respect to supporting webcams. I had to fiddle with that as well on dietpi. |
I wouldn't see it that way. The couter-argument is that we intentionally offer light and bare metal implementations of software, which is otherwise only available as pretty bloated full single-purpose OS images. Of course those images are more tailored and fully featured regarding this one software title, same like Home Assistant OS, LibreELEC and similar. Mimicing such cannot be a goal, but a minimal base installation in the first place, then considering each extension individually. There will always be more plugins available, this is why they are called "plugins".
That IMO is more a question about good documentation. Checking the docs: https://plugins.octoprint.org/plugins/bgcode/ The other part is the OctoPrint install implementation. Not sure how it works and whether it has the infrastructure to take care about OS-based compiler/header dependencies as well. Easiest would be of course if the project was on PyPI (Python Package Index), with pre-compiled wheels 🙂: jneilliii/OctoPrint-BGCode#12 For now I think we'll add a section in our docs, stating the matter of plugin build dependencies in general, with the example of BGCode. If there are more votes to have this added natively, I may consider it. I'd then add the plugin itself, not (only) the build dependencies. |
Well, I can for sure live with that. As long as people looking for a solution for BGCODE on a linux based implementation can find this information and learn about a solution. For me the solution above worked, I contacted jneilliii on this matter as to learn what could cause the problem I had. See: jneilliii/OctoPrint-BGCode#11 and my remarks (as ruedli). jneilliii wanted for practical reasons to limit his support for compilation to the platform offered by octopi. His criterium was that it should compile there and if it would not compile on e.g. linux that should be researched and resolved by others. I feel this is his good right: what he invested in code for octoprint is formidable and in my opinion a huge contribution to the community. What you are contributing in dietpi is of also of such nature. So I am totally okay when some effort is left for others to explore :-) He did provide my remark on the solution also discussed here with a "like" in his closed issue. AND... still enjoying my dietpi container with octoprint on my N100 -as we talk-: it really flies on this platform! |
@ruedli: I would like to work on this issue but I am not familiar with Octoprint. |
I am starting to work on automated builds of a Python module dependency of this plugin. Once this works for all architectures, the maintainer of the plugin can add it a more regular way as dependency for the bgcode plugin, to provide wheels on PyPI as well. However, there are always 3rd party plugins which need to be compiled or dependencies compiled. If/For cases where they have no proper documentation about how to do this on Linux, we can add a generic starting point to our docs. But in any case it requires checking error logs to see which libraries and in case compilers are needed. I can go through the process with bgcode once myself, and document how I found out which packages are missing. |
While the dietpi octoprint enabled configured all my plugins within octoprint, not BGCODE.
In order to install I had to (from root):
apt install git
apt install zlib1g
apt install zlib1g-dev
apt install build-essential
I also installed (but these seemed to be installed already):
apt install cmake
apt install gcc
Further I adapted .bashrc in both /root and /home/dietpi and included a line:
export CXX=/usr/bin/gcc
The dietpi/octoprint documentation suggests that you could instead configure /etc/bashrc.d/dietpi-octoprint.sh but I did not verify this.
The vm on my n100 processor is incredibly fast compared to running on a Pi4. Besides that it can run other softwere: my homeassistant (with mqtt server and node-red from which you can interact with the printer) and pihole with (recursive dns), run in containers and there is space for additional windows 11 and ubuntu vm's.
Impressive
The text was updated successfully, but these errors were encountered: