• Ubuntu

    Timo Birnschein02/20/2022 at 20:49 0 comments

    Hard to believe but even getting docker to run requires google:

    https://www.digitalocean.com/community/questions/how-to-fix-docker-got-permission-denied-while-trying-to-connect-to-the-docker-daemon-socket

    Why this is not working out of the box is beyond me.

    Also, I installed docker using snap first, ran into this issue, removed it, and installed it again using apt-get and.... snap didn't remove the symbolic links to the snap/docker binary. Why? I don't know. But it seems kinda mandatory to not break the system. Now I have to figure out how to get the symbolic link to docker to work which I installed using apt.

    For now, I'll go the direct route /bin/docker instead.

    /bin/docker pull ultimaker/cura-build-environment

    That installed fine - now that I fixed the permissions manually and manually used the docker binary directly.

    Reopening the terminal fixes this.

    Running 

    docker build -t cura_timo -f docker/linux/Dockerfile.centos .

    fails:

    Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
    

    3h of my life so far. I am beginning to believe it's not worth my time.

    It would seem CentOS has reached end of life. Building in that docker environment will therefore be a PITA moving forward. https://haydenjames.io/fix-error-failed-to-download-metadata-for-repo-appstream-centos-8/

    Going back to the manual native install, I tried compiling 

    but it fails even after I installed yet another python version 3.10. It doesn't appear to be set up properly as cmake still complains.

    Did I mention I don't like setting up build environments for specific software packages? Especially large ones like Cura? It almost NEVER works. I wish they would just provide an entire VM that can be started in a virtual machine that's accessible without cost. VirtualBox or VMWare come to mind but I don't remember what their licensing models are.

    I would also believe there is a way to create a docker image that contains everything instead of piece mealing this together.

  • Let's try this again - natively this time

    Timo Birnschein02/20/2022 at 20:11 0 comments

    Instead of following a the cura build environment that's supposed to set everything up for you, I'll go the other route and set everything up myself this time. I have most of the stuff installed already, anyways, so this might yield better results.

    Following this and ignoring the first step: https://github.com/Ultimaker/cura-build

    This is getting old quickly:

    Moving over to Ubuntu.

  • Step 1: Docker Image

    Timo Birnschein02/20/2022 at 16:59 0 comments

    Disclaimer: I have never used Docker. I suppose this is my chance to start and understand what this is even for. I currently believe it's some sort of (virtual) environment that is supposed to contain all software (and versions) to build a specific thing without compromising anything else in the system. i.e. a container. It contains the mess inside. Let's hope that's true.

    So let's start here:

    https://github.com/Ultimaker/cura-build-environment

    Install cmake: https://cmake.org/download/

    Install git: https://gitforwindows.org/

    Install svn: https://tortoisesvn.net/downloads.html

    Ah, it already fails at Docker. What a surprise. The installation manual doesn't mention that Docker is even needed and brushes straight over it and starts using command line docker with no comment. Let's figure out how to get docker to work in the command line...

    Install: https://hub.docker.com/editions/community/docker-ce-desktop-windows/

    Docker requires support for hardware virtualization to which must be activated in the bios. Apparently, it's an entire virtual machine, seemingly to run Linux on Windows.

    Then it complains about kernel updates which must be installed manually to enable Linux on Windows.

    Install update package listed under step 4: https://docs.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

    When they try to annoy you:

    This is literally the first step in the tutorial with no commands entered. Sometimes, I hate people. Moving on...

    The second problem I encountered was running out of space on C:\ and then rerunning the command just results in a not automatically solvable problem:

    Like any apt-get install name_your_tool will simply retry and properly install whatever is needed on the second attempt. Here is just breaks. Since I'm inexperienced, I needed to google how this can be solved. To be fair, this might actually be Windows locking out certain functions when the drive is full and not releasing those functions when space was made available. 

    Rebooting solves this. I suppose I could have tried killing docker-desktop as well.

    Now start powershell or docker-desktop and run: docker pull ultimaker/cura-build-environment

    docker pull ultimaker/cura-build-environment

    This time it should complete and we end up with some sort of docker thing we need to build the build tools to build Cura. Moving on.

    I started the docker in docker-desktop by clicking run, changing nothing, and then going straight to the CLI:

    I was being presented with a barely usable shell running a linux called CentOS. I set the CURA_BUILD_ENV_BUILD_TYPE to release as seen in the screenshot above because - in contrast to the documentation, wasn't set by default. Glad I checked.

    Unfortunately, the story ends here as the documentation for the rest of the steps doesn't work.

    Trying further:

    I realized after a quick nap that I didn't actually checkout the cura build environment git. Wasn't in the readme, right? So I pull that and run the command in my PowerShell:

    docker build -t cura_timo -f docker/windows/Dockerfile.vs2015 .

     But that also fails as the docker image doesn't appear to have the proper files installed: