Provide Docker option for installation

Instructions for using Docker as virtualization provider for Vagrant, instead of VirtualBox
[ ] make sure /var filesystem has space for the layered filesystem Docker insists on using (or work around it!)
[ ] test on Ubuntu host (er1k) ask for help testing on Windows, OSX hosts

Another 'gotcha' with Docker: it requires root privileges to run. (maybe not always, but for certain things) - I remember the explanation being that because it's possible to run a Docker container that does insecure things (that a normal user could not even do) it should require that you run it "as root" so that you know it may do potentially dangerous things.
About the /var file space problem: if users have root privileges, they can work around the limitation by creating a symbolic link /var/lib/docker that points to a folder with sufficient space. How to find out which folder does, and set this up, may not be something we even want to instruct novice users to try.

Candidate Vagrantfile that can do docker or virtualbox provisioning: does not do anything about the problems incurred with Docker running up disk space in /var/lib/docker...
Dockerfile.txt

This may be a showstopper: Using Docker provider instead of Virtualbox, the shared "synced" host folder functionality is crippled. Guest OS does not necessarily have write permissions to host filesystem, it depends on the user & group & permissions of the working folder where 'vagrant up' happens.
How can we ensure that this folder is world-writable? We cannot. We want to support people running a myriad of local OS possibilities and environments, including ones where users may not have full write permissions, or root to be able to change them.
If we really want to support Docker,  we may have to resort to using it directly, in place of Vagrant, which will require a new set of instructions and provisioning directives, e.g. Dockerfile instead of Vagrantfile. This may (to repeat) require users to be root.

In spite of these complaints; Vagrantfile updated to support Docker as a virtualization provider within Vagrant. Use (ubuntu) with:
chmod 777 .  # make current directory world writable
vagrant up --provider=docker

Testers for Windows,Mac needed :)

Tried it - current Vagrantfile, on a fresh Windows 10 computer with Vagrant and Docker installed, actually works!   Other things tried:
saving the running Docker Container as a Docker Image docker commit <container id> srvk:divime
Saving that image as a tar archive docker image save -o divime.tar <image id>
copying that tar archive to a Windows host running Docker.
loading that image into docker: docker load < divime.tar
Giving that image a better name: docker image tag 9b17e srvk/divime
Starting that image in a way similar to (but without) Vagrant, such that it has a shared host folder (/usr1/er1k/Desktop/DiViMe) mounted in the usual VM place (/vagrant): docker run -v /usr1/er1k/Desktop/DiViMe:/vagrant -it --entrypoint /bin/bash srvk/divime
chmod 777 /vagrant
su vagrant
cd /home/vagrant
tools/test.sh

resulting in:
vagrant@fdb9186f7d4a:~$ tools/test.sh
Testing noisemes...
Noisemes passed the test.
Testing DIARTK...
DiarTK passed the test.
Congratulations, everything is OK!

Reasoning: Docker does not map file ownerships across shared host filesystem like Vagrant does, so the Docker Container has to do some things 'as root' and the host filesystem has to be world-writable.

Marking closed, documentation here: https://github.com/srvk/DiViMe/wiki/InstallingWithDocker

Docker is really not a VM, and the more I read about the Docker philosophy, the less inclined I am to believe it's benefits will outweigh it's costs. Yes the philosophy is that Docker containers are 'lightweight, ephemerable, disposable' and should only run 1 process/service. But that's not the philosophy of the Diarization VM, which is to build a somewhat heavy weight, persistent tool, with control over how much hardware (disk, memory, cores) it can use. Re-implementing the entire VM as a Docker build container will not make it any more lightweight. In particular, it might break disk space in ways novice DiViMe users cannot diagnose, control, or fix.
I plan to use this space to document problems encountered in constructing a Docker-native (as opposed to Vagrant using Docker as a 'provider') container.

Dockerfile is not the same as Vagrantfile
Default Docker user is 'root' not 'vagrant'
The default Docker shell is /bin/sh not /bin/bash
Docker RUN commands require special handling

some need to be glommed together to run 'at once' with &&
commands that run as a pipeline require special pipefail error handling
the cacheing of RUN commands sometimes needs to be circumvented. We have no need to refer to intermediate states during provisioning time.

The local working directory shared-folder implicit with Vagrant needs to be explicitly configured with Docker
New commands will need to be documented for users, there will have to be 2 sets of instructions "Docker mode" vs "Vagrant mode"
Users may need to be added to 'docker' group to be able to run Docker as a nonroot user
the Union File System: we have no need of a history of every state the filesystem has been in since creation
Shared folders: are VOLUMEs available during docker build time? No. Can't write to the host. Can read from? No. Sort of a showstopper vs. Vagrant technique.
point 2 all over again; how to create a non-root user e.g. 'vagrant' in Docker container, and not get linux spec user: unable to find user vagrant: no matching entries in passwd file  message
no equivalent 'vagrant destroy' - or is there? Docker rmi xxxxxxxxx
Docker tags and images and containers and hubs and repositories OH MY
Docker container and image naming conventions, please don't make DiViMe users have to look up or type in hideous strings of gobbledygook characters

Here's an example of not understanding what is going on with Docker Images piling up, or how to remove them if new ones keep appearing:
I don't want Docker images piling up filling disk. There's enough hidden disk bloat
without Docker's help.
So I use "docker images" to see some images I've been working on lately.
I use "docker rmi -f xxxxxx" to delete some.
NEW ONES APPEAR
So I repeatedly do this, until all the new ones that keep appearing go away.
So theoretically I've deleted all the ones I've been adding recently.
er1k@islpc22:~/docker/DiViMe$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
<none>                    <none>              0fe1d13ddf4c        5 minutes ago       10.4GB
<none>                    <none>              3c14a42d5d97        6 hours ago         937MB
<none>                    <none>              9ca77341173c        23 hours ago        937MB
ubuntu                    16.04               52b10959e8aa        9 days ago          115MB
boom/docker               latest              e500348ad975        2 weeks ago         1.02GB
srvk/divime               latest              9b17ef870b40        2 months ago        11.6GB
phusion/baseimage         0.10.1              2391dfad8777        5 months ago        241MB
tknerr/baseimage-ubuntu   14.04               634404a207da        15 months ago       260MB
tknerr/baseimage-ubuntu   16.04               8ea8daaeafe4        15 months ago       257MB
er1k@islpc22:~/docker/DiViMe$ docker rmi -f 0fe1d1
Deleted: sha256:0fe1d13ddf4c161274545d7b168488375ff7445fcb459e1cefbe08cea2dcd913
Deleted: sha256:368e3de82d35e47ec7a1b65d5e53ba3b23ce2d5b115445c01d751ff03c3d5e0d
Deleted: sha256:57273dd5f286ba1eed65b676df0dcbd4524c1bbe21905b4f53d4949b80947ad5
er1k@islpc22:~/docker/DiViMe$ docker rmi -f 3c14
Deleted: sha256:3c14a42d5d97f528203fca21945839f64d6d4615eaa509c59a1f8b2eba877e12
Deleted: sha256:1bbf78f2bcb8ab17d386cc35a13363c1b419d969d879a6ffb15a4f88600c0425
Deleted: sha256:98738d114e389a913ef6b0face138e98f3641adb9b1a8b287d34d28ac7448143
Deleted: sha256:624855d5ba0d5bc762f99e6fa7570468202f910b24c834666749715fee484c2b
Deleted: sha256:84173566ae1a339931dd9a49fb101ec8db0227e3730e6e3c5c0252e67867273e
Deleted: sha256:25c960d01fb6a7a7388f22efea90522bec548dfa93ed84a9b787262c82d12032
Deleted: sha256:dc8c572a16e9d0673d29349c45963a6f1a4769354beb4549b4c490d871768c7b
er1k@islpc22:~/docker/DiViMe$ docker rmi -f 9ca7
Deleted: sha256:9ca77341173cb845e330d5722ff2e73941e9aa238319a3a51db58c7ca7b41e00
Deleted: sha256:46d57bc8b7da78bd87c98ab3f5eed44cee7d00c50c39eeef12abfda33b735662
Deleted: sha256:1488383b076ebd9a67918ccc4e392c0126b84c265c500c6d7787c3228643fc53
Deleted: sha256:120c89b6838019e62bd5dbd47f80be492a276d07e681b4e9497519c7a1364e96
er1k@islpc22:~/docker/DiViMe$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
<none>                    <none>              160dd8274150        7 minutes ago       10.4GB
ubuntu                    16.04               52b10959e8aa        9 days ago          115MB
boom/docker               latest              e500348ad975        2 weeks ago         1.02GB
srvk/divime               latest              9b17ef870b40        2 months ago        11.6GB
phusion/baseimage         0.10.1              2391dfad8777        5 months ago        241MB
tknerr/baseimage-ubuntu   14.04               634404a207da        15 months ago       260MB
tknerr/baseimage-ubuntu   16.04               8ea8daaeafe4        15 months ago       257MB
er1k@islpc22:~/docker/DiViMe$ docker rmi -f 160d
Deleted: sha256:160dd827415090ecc26ad9ffaaa2701aff02ea57b2db7ef41e4cf2bd47685fbe
er1k@islpc22:~/docker/DiViMe$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
<none>                    <none>              aad4362c5347        14 minutes ago      6.39GB
ubuntu                    16.04               52b10959e8aa        9 days ago          115MB
boom/docker               latest              e500348ad975        2 weeks ago         1.02GB
srvk/divime               latest              9b17ef870b40        2 months ago        11.6GB
phusion/baseimage         0.10.1              2391dfad8777        5 months ago        241MB
tknerr/baseimage-ubuntu   14.04               634404a207da        15 months ago       260MB
tknerr/baseimage-ubuntu   16.04               8ea8daaeafe4        15 months ago       257MB
er1k@islpc22:~/docker/DiViMe$ docker rmi aad4
Error response from daemon: conflict: unable to delete aad4362c5347 (must be forced) - image is being used by stopped container 7b2d48361bd4
er1k@islpc22:~/docker/DiViMe$ docker rmi  -f aad4
Deleted: sha256:aad4362c5347d13844d3d58ad7412e3b7d7e57eb24d2d409f9a479c62ccd3e9e
er1k@islpc22:~/docker/DiViMe$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
<none>                    <none>              8fb601f4f7e7        19 minutes ago      6.39GB
ubuntu                    16.04               52b10959e8aa        9 days ago          115MB
boom/docker               latest              e500348ad975        2 weeks ago         1.02GB
srvk/divime               latest              9b17ef870b40        2 months ago        11.6GB
phusion/baseimage         0.10.1              2391dfad8777        5 months ago        241MB
tknerr/baseimage-ubuntu   14.04               634404a207da        15 months ago       260MB
tknerr/baseimage-ubuntu   16.04               8ea8daaeafe4        15 months ago       257MB
er1k@islpc22:~/docker/DiViMe$ docker rmi  -f 8fb6
Deleted: sha256:8fb601f4f7e736b0ef717a02f5d19ba0d32c1965b3d3a4e34a2ab2c84286a384
Deleted: sha256:bf91b3ff8c7314f1d693b1f6ab3f4bb9aa0aa4ae61780929c93f891a4d08f38c
Deleted: sha256:bb9ff28c4dbdd29192d7424fa41e207a919e2d9f7a7cbe961b05a79411a82a51
Deleted: sha256:250efa5eb3ced9ff8eb67f0bb06324b2805a492aecc5c3cace6916c0e6e07849
Deleted: sha256:784b7125cd9264274887b55b063af8c3cfe3fd978aef01951e1b2cea4398c94f
er1k@islpc22:~/docker/DiViMe$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
<none>                    <none>              d31b68cedfed        About an hour ago   5.94GB
ubuntu                    16.04               52b10959e8aa        9 days ago          115MB
boom/docker               latest              e500348ad975        2 weeks ago         1.02GB
srvk/divime               latest              9b17ef870b40        2 months ago        11.6GB
phusion/baseimage         0.10.1              2391dfad8777        5 months ago        241MB
tknerr/baseimage-ubuntu   14.04               634404a207da        15 months ago       260MB
tknerr/baseimage-ubuntu   16.04               8ea8daaeafe4        15 months ago       257MB
er1k@islpc22:~/docker/DiViMe$ docker rmi -f d3ab68
Error: No such image: d3ab68
er1k@islpc22:~/docker/DiViMe$ docker rmi -f d31b68
Deleted: sha256:d31b68cedfed734ebdc60dcee49f65a20e02025884bf851f2dac5f86d50dc542
Deleted: sha256:fda0058fac64ac732b5770b69e94f62fb007b5abb4fbbdd6123e66dc8af9ef4b
er1k@islpc22:~/docker/DiViMe$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
<none>                    <none>              a56208d6898d        About an hour ago   5.93GB
ubuntu                    16.04               52b10959e8aa        9 days ago          115MB
boom/docker               latest              e500348ad975        2 weeks ago         1.02GB
srvk/divime               latest              9b17ef870b40        2 months ago        11.6GB
phusion/baseimage         0.10.1              2391dfad8777        5 months ago        241MB
tknerr/baseimage-ubuntu   14.04               634404a207da        15 months ago       260MB
tknerr/baseimage-ubuntu   16.04               8ea8daaeafe4        15 months ago       257MB
er1k@islpc22:~/docker/DiViMe$ docker rmi -f a56208
Deleted: sha256:a56208d6898d49ba432d5bd2ea27edcea9298e6ca7e1e8341b67746a4a5f668d
er1k@islpc22:~/docker/DiViMe$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
<none>                    <none>              1510fc4c8671        2 hours ago         5.93GB
ubuntu                    16.04               52b10959e8aa        9 days ago          115MB
boom/docker               latest              e500348ad975        2 weeks ago         1.02GB
srvk/divime               latest              9b17ef870b40        2 months ago        11.6GB
phusion/baseimage         0.10.1              2391dfad8777        5 months ago        241MB
tknerr/baseimage-ubuntu   14.04               634404a207da        15 months ago       260MB
tknerr/baseimage-ubuntu   16.04               8ea8daaeafe4        15 months ago       257MB
er1k@islpc22:~/docker/DiViMe$ docker rmi -f 1510f
Deleted: sha256:1510fc4c8671c892d594a420b1ab98ddf64bf61b2a6bb6fcdf9d9d292148d467
Deleted: sha256:744d50696bc095abf4da00459b279ad2a4f8ccacc70a477a285814df2519e162
Deleted: sha256:43c8fec079810b3d953f7bf9b595c6ca6f991da3398c9fe625996902a251f9e2
Deleted: sha256:abc265b387a2f0bb95ae728eb057dca1ca8ce44a65f7403c13c5b6e9669ab13f
Deleted: sha256:855aec249a5a728ad26c8fde5c12a9aefb33cbd7c41a0c8812e890b3a8342787
Deleted: sha256:a6e9f623c6f9ff5fa468da6d4efc665497d27e194fa8118f3b4f2a9a848ab785
Deleted: sha256:8c5be0825e8e544686874abe50602c68c901a68c8e398291334f4bc7dbed501b
Deleted: sha256:b0b1f9758ed892ee22cf970595a477ee4437627ea1698092eb107eb9e4a5481b
Deleted: sha256:5a1c26c7a2ccd7684444bf365498f03b3273f886c09fe70aecb39bc23760bd05
Deleted: sha256:4f8689351dc5335c1b1fd4f8726661d85c558a2cddf5a7cd639b1dcd2afdf41e
Deleted: sha256:91f71b2822fe1f6039a1d0b3af52d960fbdb0d235db0c340560bd46203178cf1
Deleted: sha256:c3f5a385355cbc3b58d7d56051fca800096f162615370f77d0a2c2d707e5e641
Deleted: sha256:baf5a2e795e2e1e971226d36859de98dbadef4f0162fa25f010d975f46f85827
Deleted: sha256:71c3e3cd9de12582c8a47c57e2c074970666ad43677f12c8930b2f7867541573
Deleted: sha256:91bacb94fa637710c0bd28091a605c88ec962202df9ba3aa7a95a37aba12b1b1
Deleted: sha256:6e5712d0a0e6a9dff6478d4f0ae8607970d6f78602a233d55a114f8bb9e27656
Deleted: sha256:098bdc3cf1d1727b21b013c68520be4dbbc4faac6cbf449f2981ca072b255e92
Deleted: sha256:4a909aeac6578ef37562a23f62b3baa8f3ee946dbed0b2383644104585b4c572
Deleted: sha256:c5db11e935f9b2e65c0b48a6d7efc648053d9b86eacb9276b87a26ed37cfc7e2
er1k@islpc22:~/docker/DiViMe$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
ubuntu                    16.04               52b10959e8aa        9 days ago          115MB
boom/docker               latest              e500348ad975        2 weeks ago         1.02GB
srvk/divime               latest              9b17ef870b40        2 months ago        11.6GB
phusion/baseimage         0.10.1              2391dfad8777        5 months ago        241MB
tknerr/baseimage-ubuntu   14.04               634404a207da        15 months ago       260MB
tknerr/baseimage-ubuntu   16.04               8ea8daaeafe4        15 months ago       257MB
er1k@islpc22:~/docker/DiViMe$ !sudo
sudo du -hs /usr1/docker
53G    /usr1/docker
er1k@islpc22:~/docker/DiViMe$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
<none>                    <none>              b513e29a2afb        3 days ago          16.4GB
ubuntu                    16.04               52b10959e8aa        12 days ago         115MB
boom/docker               latest              e500348ad975        3 weeks ago         1.02GB
srvk/divime               latest              9b17ef870b40        2 months ago        11.6GB
phusion/baseimage         0.10.1              2391dfad8777        5 months ago        241MB
tknerr/baseimage-ubuntu   14.04               634404a207da        15 months ago       260MB
tknerr/baseimage-ubuntu   16.04               8ea8daaeafe4        15 months ago       257MB
er1k@islpc22:~/docker/DiViMe$ docker images -q --filter "dangling=true"
b513e29a2afb
er1k@islpc22:~/docker/DiViMe$ docker rmi -f b513
Deleted: sha256:b513e29a2afbe7f4b4e3fa115d08dbb7ddf6f321ea0a20bcfbafa1ba59f53a04
Deleted: sha256:d397b5d700c65234853aa3fd628e97453038a9baca2317313d14c07357f4e5f2

THE DISK USAGE IN /var/lib/docker ACTUALLY IS HIGHER NOW
What the heck is going on?

Current issue, a catch-22:
We want things to run inside the Docker container as user 'vagrant' (it's baked into almost all our code) - but 'vagrant' doesn't have write permission to shared volume '/docker'.
If instead we run in the container as user 'root', things break. For example they python virtualenv is installed belonging to user 'vagrant', not 'root'.
When doing RUN commands in the Dockerfile we have to be very careful which user it's running as

If you docker run a shell in a container, then exit... things done to the container DO NOT PERSIST. I just installed software so it could have sudo and mlocate, exited, re-ran, and they're not there

Still not sure how to manage space used by Docker on a computer, it seems they want to hide that from you, or make up new, obscure, cryptic ways to do it. So trying one of these ways: docker container prune - here goes, and what does this even mean?
er1k@islpc22:~/docker/DiViMe$ docker container prune
WARNING! This will remove all stopped containers.
 There's no good solution. We need Docker to map userids between Container and Host, and Docker folds their arms like a petulant Trump and refuses, because it's "Not the Docker Way"

After making much noise on the topic (see above), I have produced and tested (minimally) a Dockerfile that produces a Container that passes the self-test (tools/test.sh). There are still more things to do:

Document (possibly in parallel to VM instructions) how to provision - the equivalent of vagrant up
Document special needs for Docker for linux, Windows, OSX, e.g:

Working directory must be world-writable
User may need to belong to docker group
User may need root/sudo permissions

Document quirks about the results

Output files may have weird owners/permissions

Test all the other tools' functioning in the Docker Container
Change documentation for the whole system such that "VM" might also be "Docker Container" to help remind people that they are different things (again, as I painfully learned, above)

Some more good news:

DiarTK seems to not require any modifications to work in Docker Container mode.
Temporary files created by processing within the Docker Container go away when invoked by 'docker run' - and the Docker Image resorts to it's original state. (only files saved external to the Container remain, those created in the shared working directory local folder on the host)
It's not so impossible to get shared-host-folder data at docker build (vs vagrant up) time: you just have to use the special COPY command. This solves the issue with installing tools like HTK, and with copying of certain config files like .theanorc (that should really probably reside with the tool(s) that depend on it, but the philosophy here is that configuration files reside outside the Container/VM so they can be changed easily by editing on the host)

A problem with Docker: any scripts intended to run outside the VM (at least the one to get ACLEW Starter data) cannot simply call "vagrant ssh ..." any more, but will need parallel Docker specific commands.
It wasn't such a difficulty to make Docker 'see' it's shared host folder as /vagrant and have a user named 'vagrant', but it's definitely getting too Vagrant-centric to have scripts that assume a Vagrant VM is currently running.

This is nearly nearly done, in terms of the Dockerfile.
But that will need to be updated to match any changes to Vagrantfile, especially in light of the work @junghanw is doing for the https://github.com/srvk/DiViMe/tree/develop/refactor_vagrant branch.
And the documenting part "how to run Docker mode" vs Vagrant mode still needs to be done


Feature/text to video

Integrated features Document QnA, Visual QnA, Text Guided Image to Image, Text to Video, and Text to Image.
Document QnA:

Visual QnA:

Text Guided Image to Image:

Text to Video:

Text to Image:

One final change and then looks good to merge 👍


Error when configuration has a rolePredicate node but no predicate node

I created a configuration with only a rolePredicate with includes in it.
When I open the Unicorn dasboard it gives me the error "Invalid type null for Unicorn config node 'predicate', attribute 'type'" with the following stacktrace:
[InvalidOperationException: Invalid type null for Unicorn config node 'predicate', attribute 'type']    Unicorn.Configuration.XmlConfigurationProvider.GetConfigType(XmlElement configuration, XmlElement defaults, String elementName) +622    Unicorn.Configuration.XmlConfigurationProvider.RegisterExpectedConfigType(XmlElement configuration, XmlElement defaults, String elementName, IConfiguration registry) +123    Unicorn.Configuration.XmlConfigurationProvider.LoadConfiguration(XmlElement configuration, XmlElement defaults) +1336    Unicorn.Configuration.XmlConfigurationProvider.LoadConfigurations() +597    Unicorn.Configuration.XmlConfigurationProvider.get_Configurations() +28    Unicorn.Data.DataProvider.UnicornSqlServerDataProvider..ctor(String connectionString) +64
When I add a predicate node with includes the error is gone.
Using Unicorn  3.2.0

See https://github.com/kamsar/Unicorn/blob/master/src/Unicorn.Roles/Standard Config Files/Unicorn.Configs.Default.Roles.config.example#L29

Overlooked that. Thanks for pointing out.

I am still getting error: Invalid type Unicorn.Roles.Predicates.EmptyPredicate, Unicorn.Roles for Unicorn config node 'predicate', attribute 'type'
Could you help?

I managed to install it correctly. But i am little confused. When i create role there is no serialization file for that. I only getting serialization yaml files if i change security access rights. So i need to manually create this role on separate instance, do sync, and i will get restrictions. But i would like that when i do sync get this role automatically created. Is this possible?

I fixed it all :)


Tone doesn't work maybe?

Steps to reproduce:

Go to ...
Click ...
See ...

Expected behavior:
A clear and concise description of what you expected to happen.
Where did the issue occur?

Dedicated / Self-Hosted Multiplayer / Singleplayer / Editor (Singleplayer) / Editor (Multiplayer) / Virtual Arsenal

Log Files:

Link to (gist or pastebin) to the client and/or server RPT file. An instruction to find your RPT files can be found here.

Additional context:
Add any other context about the problem here.
Screenshots:
If applicable, add screenshots to help explain your problem.

UPDATE:
Tone works first time it occurs, then won't work again after that.


Update PD Milestone levels for Problem Solving

Background
On #31  we did a first iteration using the Communication competency as an example of how we could allocate milestones by identifying what is good and what isn't. We need to do the same work for all other competencies.
This ticket is dependent on #41
Acceptance criteria

Add the milestones for all Problem-solving coursework (Emerging - Level 1, Developing - Level 2, Established)
Evaluate if changes are needed to the coursework and raise other tickets for it.

Owner: @LaraHuzjan @kfklein15
Stakeholder: @SallyMcGrath
Approver: @kfklein15

Problem solving levels


Remove openssl to fix conflict with libressl

The build is currently failing with the following error:
ERROR: unsatisfiable constraints:
  openssl-dev-1.0.2o-r0:
    conflicts:
               libressl-dev-2.6.3-r0[pc:libcrypto=1.0.2o]
               libressl-dev-2.6.3-r0[pc:libssl=1.0.2o]
               libressl-dev-2.6.3-r0[pc:openssl=1.0.2o]
    satisfies: world[openssl-dev]
  libressl-dev-2.6.3-r0:
    conflicts:
               openssl-dev-1.0.2o-r0[pc:libcrypto=2.6.3]
               openssl-dev-1.0.2o-r0[pc:libssl=2.6.3]
               openssl-dev-1.0.2o-r0[pc:openssl=2.6.3]
    satisfies:
               postgresql-dev-10.4-r0[libressl-dev]

It seems to be due to a conflict between openssl and libressl. We do not directly depend on libressl, it's coming from postgres client? However, we can remove openssl from the Docker image. Let's see if it fixes the problem...

Thanks for having created it. I created the pull request based on our Gitter talk but I made a mistake and created it on a fork -_-

You also have to remove OpenSSL from the production Django Dockerfile !

You can create a pull request from your fork. You found the fix, so you should get credit for it, I'll close this PR if you want. I was trying to test to see if this worked.

I can confirm this is working for me. Thanks for the fix.

@browniebroke Create the pull request (and also removed the openssl package from the Django production Dockerfile).
Thx!


remove getFuses

I remember adding 'reverted with an unrecognized . . .', before. Do you know why we need to add this back in now?

I remember adding 'reverted with an unrecognized . . .', before. Do you know why we need to add this back in now?


How does it load balance requests that come via corporate proxy

If we use IP Address alone for hash, how would load balancing work as all requests would go to the same worker as the IP Address behind a corporate proxy would be same. Should we need to use along with IP Address , port for hashing? Any thoughts on the same

Yes, it uses client's IP address to choose a worker: if it's the same, then every request would land to the same worker. Browsers can choose arbitrary ports for outgoing requests, so if we also consider remote port when choosing a worker, it wouldn't be guaranteed that the same browser will hit the same worker again.


when killing helm dep up the next dep up fails

when killing the process running helm dep up it sometimes leave a temporary folder named tmpcharts and this makes the next helm dep up fail with the following error.
Error: Unable to move current charts to tmp dir: rename /mychart/charts /mychart/tmpcharts: file exists

This is easily reproducable by creating a folder named tmpcharts inside an helm chart root folder and try to launch helm dep up
Of course a workaround is to remove the folder manually before running the helm dep up but that would be great that helm did that automatically somehow.

Output of helm version:
$helm version
Client: &version.Version{SemVer:"v2.12.2", GitCommit:"7d2b0c73d734f6586ed222a567c5d103fed435be", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}

Output of kubectl version:
kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-04T04:48:03Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T20:56:12Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.): docker for mac
The code handling this is here : https://github.com/helm/helm/blob/53d432fa58748412ff3dc10bc27cbf996d96c3ed/pkg/downloader/manager.go#L190

Good catch on this bug. Let me see if I can hammer out a quick bug fix this week

Ran into this in 2.12.3 on Linux.

I would have proposed a PR to fix this, be the first and only PR I did on this project took one year to get reviewed. So I'll pass.

This is still an issue in 3.0.3.

This is still an issue in v3.1.2+gd878d4d

My helm version is v3.2.1.
I am running a jenkins job where I do "helm dep update chart/"
But I am getting the same error.

My helm version is v3.2.1. I do not have command "helm dep up" in the script. Every time, I run with a new container, but when I execute "helm dep update chart" with a Jenkins job, it fails with the same error shown above.

Any updates on this issue ?

To solve this in my case, I had to: rm -rf charts and rm -rf tmpcharts/
It seems like helm assumes tmpcharts should not present, since it deletes it after the dependency updates, if one stops the operation in the middle this can happen.

Sounds to me like tmpcharts should instead use some unique directory in /tmp similar to what mktemp does.

tmpcharts was introduced to fix a cross-device linking error as seen in https://github.com/helm/helm/issues/1472.

like so:
https://github.com/helm/helm/blob/d0422e6d82b9d7ddc9c24f02ed1f7d321f9e2646/pkg/action/lint.go#L87

I would like to contribute to this issue. Pls let me know if its available to pick ?

go ahead.

I get this error all the time trying to run helm, both with version 2.14.3 (which is what we have installed in our cluster) and when using the latest locally (v3.3.0). It is something with my system perhaps -- but it happens always, even though the directory tmpcharts does not exist before I run Helm.
The directory charts is created properly when it doesn't yet exist.
Creating a directory with a unique name, instead of assuming that the fixed name tmpcharts does not exist, is perhaps a more robust solution.
(Meanwhile I'm looking for the solution to my local issue)

Can I work on this issue

@deathname  Maybe ask  @vikkyomkar if no longer working on it?

Can I work on this issue

Pls go ahead. I dont have bandwidth for now

I think this should be kept alive.

I think this should be kept alive.

re-opening. I have a PR that I will push up soon that will hopefully address all cases provided in prior PRs without introducing new bugs.

I guess this should stay open until #9889 is merged.

when killing the process running helm dep up it sometimes leave a temporary folder named tmpcharts and this makes the next helm dep up fail with the following error.
Error: Unable to move current charts to tmp dir: rename /mychart/charts /mychart/tmpcharts: file exists

This is easily reproducable by creating a folder named tmpcharts inside an helm chart root folder and try to launch helm dep up
Of course a workaround is to remove the folder manually before running the helm dep up but that would be great that helm did that automatically somehow.
Output of helm version:
$helm version
Client: &version.Version{SemVer:"v2.12.2", GitCommit:"7d2b0c73d734f6586ed222a567c5d103fed435be", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}

Output of kubectl version:
kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-04T04:48:03Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T20:56:12Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.): docker for mac
The code handling this is here :
https://github.com/helm/helm/blob/53d432fa58748412ff3dc10bc27cbf996d96c3ed/pkg/downloader/manager.go#L190

Same issue coming up in v3.7.2
it should reuse /tmp folder. Getting this error in GitHub hosted runners

Where can I manually delete this tmpcharts folder to mitigate the issue? I'm currently unable to deploy without the fix for this.


go generate broken when adding map[string]bool

In #1864, I asked that a new parameter be changed from *map[string]bool to map[string]bool since map is already a reference-type and shouldn't need a pointer to it.
However, this change broke the go generate ./... tools and needs to be fixed.
Eventually, we should change all *map... to map... but that can be a separate issue: #1865.

👍🏻


Add Czech language

Hello. I translated your application to Czech language. If you'll decide to approve this PR, would you mind adding the label hacktoberfest-accepted? Thanks!

@PapuleX thanks a lot, label added.


[Godot 4] Importing 3D models (glb only?) shows console message

Godot version:
Godot Engine v4.0.dev.calinou.779dc7613
OS/device including version:
Windows 10 x64
Using Vulkan Device #0: AMD - AMD Radeon R7 200 Series
Issue description:
When importing glb (~240mb) file from blender, godot emits the following message:

But at the moment, i can see it (this is the expected way ?):

Steps to reproduce:

Import 3D File (.glb)

Can you link to the glb file you imported?

@nonunknown Can you link to the glb file you imported?

well , the file is ~250mb, I can send you a piece of it which is 50mb, its okay?


Cant open Power toys setting v0.58.0

Microsoft PowerToys version
0.58.0
Running as admin

[X] Yes

Area(s) with issue?
General
Steps to reproduce
PowerToysReport_2022-05-04-21-41-33.zip
✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

/dup #18015


Provide a property to center whole Steps component (or do it by default)

Actually, <el-steps align-center> only aligns the titles, but the whole steps component is left aligned.

As you can see in this example http://jsfiddle.net/wc1ef0zz/ the el-step__icon is left-aligned, so the whole component is turned to the left. It doesn't looks good on certain cases where you need it centered.
A hacky way I'm trying at the moment is .el-steps.is-horizontal { padding-left: 20% } but... this is really ugly :smile:

有解决方案了么


Add patch to keep expired flags

This PR adds a patch that allows expired flags to remain in chrome://flags with an added warning that the flag may be removed in a future version.
This is something that had been on my mind after commenting on #1656.  The Arch repos include a patch that unexpires the accelerated video decode flag and I've seen other issues in the past about flags disappearing.  The code and the flag itself can sometimes stick around for a long time after being expired.

I've updated the note verbiage and checks for expired flags.  ShouldExcludeFlag only returns the result for IsFlagExpired currently, but I opted to add a check for IsFlagExpired instead of removing ShouldExcludeFlag so that this patch still will function correctly if other checks are added to ShouldExcludeFlag in the future.

If no one objects, I'll merge #1671 and #1670 just after we release new version in #1680

The text cannot be formatted with the existing code.  It should be possible to change that but would make this patch a lot more complex.
Another option would be to include special unicode characters to create the formatting, but that runs the risk of showing up as squares for users without the font coverage.
Currently it's using an all-caps note added to the beginning of the description for each of the kept flags.  Hopefully that is enough to catch attention.  Maybe something like this would work?:
NOTE: THIS FLAG IS EXPIRED AND MAY STOP FUNCTIONING OR BE REMOVED SOON!

In that case yeah, we can only use ASCII texts. I personally feel all caps is a bad design though, maybe wrapping the warning with !!!---!!! or ###---### is better? (I'm no UI designer so it's just my feeling).

Seems good to me, this looks nice.

which looks nicer

… and more prominent!

Thanks @Ahrotahn!


Revert "Actually fix round restart audio this time"

Reverts space-wizards/space-station-14#24754
Closes #24910
It seems like the round end sounds now repeat forever and forever until you disconnect and reconnect.
Confirmed this is the case by multiple players. And local reproduction

Legally required to ping @FairlySadPanda

Might want to hold up on this for a minute? I found out why it does this. The audio params used set the audio to loop.

Superseded by #24920


Feature/home page text

read me build state and home page changes

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: ibyrktr sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Duplicate of #

Duplicate of #


Microsoft.Azure.Functions.Worker.Extensions.EventHubs  >=6.1.0 impacts scaling

Description
https://github.com/Azure/azure-functions-extension-bundles/issues/389
Steps to reproduce
Evenhub trigger with reference to latest Microsoft.Azure.Functions.Worker.Extensions.EventHubs  >=6.1.0  does not scale down to zero when running in Azure

@fabiocav - extension fix is now available -  https://github.com/Azure/azure-sdk-for-net/releases/tag/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.3.2
Please release updated version of dotnet worker


add html formatting

maybe add prettier so it can have project based formatting

prettier was actually added before I added this issue lol


Reorder warning fix

Error was :
error: 'Imgui::m_surfaceHeight' will be initialized after [-Werror=reorder]

:+1: . I added that in VS and it kept quiet about that.

This was on mingw and gcc build.
On Tue, Mar 17, 2015 at 11:36 AM, Dario<EMAIL_ADDRESS>wrote:

[image: :+1:] . I added that in VS and it kept quiet about that.
—
Reply to this email directly or view it on GitHub
https://github.com/bkaradzic/bgfx/pull/295#issuecomment-82264370.

I am using this: https://github.com/bkaradzic/bx/blob/master/scripts/toolchain.lua and I get a lot more warnings on GCC than on VS. Usually only 'pedantic' ones, with almost zero effect on functionality, but, they're there. I should setup Mingw on Windows to have it as a check.

Added also fix for VS warning
@Dario you can use our tools from http://mamedev.org/tools/
After installation just run : make mingw-gcc-release64 in order to make bgfx


[firebase_analytics] events logged when launched from xcode but not flutter command line

When I launch the app...

from within xcode, events are logged in Firebase
from the flutter command line onto an Android emulator, events are logged in Firebase
from the flutter command line onto an iOS emulator or device, no events are logged in Firebase. In fact, the device doesn't even appear in the Firebase console

This is very confusing. What am I missing that makes it work with xcode but not the flutter command line?

Hey @xni06 - not sure if you still remember this issue but could you provide some more context;

what build type were you doing in Xcode vs Flutter CLI, were they release or debug
on Firebase Console were you using the StreamView or DebugView to view these events - they don't show in realtime unless you use either of these views

If this is no longer an issue / relevant to you please could you close the issue - or let me know and I'll close it.
Thanks

What build flavor were you doing in Xcode vs Flutter CLI, were they release or debug builds, and the same build flavor on both Xcode & CLI?

Both Xcode and CLI used the same debug flavor

On the Firebase Console were you using the StreamView or DebugView to view these events?

DebugView
As an aside, Android was fine using CLI
I will investigate again ASAP - thanks.


Make stop command blocking and return properly

The command previously returned regardless of whether it succeeded.

Good findings, I've merged and squashed your suggestions.

Except for the clang-format issue, I've addressed all of your feedback.


Router waits on all preloads it started

Closes #944

Coverage increased (+0.04%) to 86.376% when pulling de90c37b3e5e97f07322983c2973af0efb7bb77e on eatonphil:preload-fixes into f667734cae6812980b4688d39253b405ff55feab on linode:master.

Coverage increased (+0.04%) to 86.376% when pulling d1e529d1b3f313a3f833e272440541c6836f2cff on eatonphil:preload-fixes into f667734cae6812980b4688d39253b405ff55feab on linode:master.

Coverage increased (+0.04%) to 86.376% when pulling 5648cf3093e8f3d9f40625b705b6b193da522778 on eatonphil:preload-fixes into f667734cae6812980b4688d39253b405ff55feab on linode:master.

Coverage increased (+0.006%) to 86.344% when pulling cf10be70da0bdf3dae14a93f58a553317eda03cc on eatonphil:preload-fixes into f667734cae6812980b4688d39253b405ff55feab on linode:master.

Coverage increased (+0.006%) to 86.344% when pulling d44007262b99ed40f3ac17647af2642aae60f557 on eatonphil:preload-fixes into f667734cae6812980b4688d39253b405ff55feab on linode:master.

thanks!


Fixed handler name typo

Added protection for skipped resultset items
Made when statement layout consistent

Overall Review of Changes:
A general description of the changes made that are being requested for merge
Issue Fixes:
Please list (using linking) any open issues this PR addresses
Enhancements:
Please list any enhancements/features that are not open issue tickets
How has this been tested?:
Please give an overview of how these changes were tested. If they were not please use N/A

Hi @MarcoV-git
Great catch on finding these issues and supplying the fix. I have noted that the signed-off-by part is missing from the signing commits that we require.
If you could please add that am happy to accept and merge this request.
Many thanks
uk-bolly

Mark,
My commit has been signed. There's an unsigned commit from you:
commit c82d920a59a0cd84f1631c1351bf54def7a4cd9c (HEAD -> devel, origin/devel, origin/HEAD)
Author: Marco V<EMAIL_ADDRESS>Date:   Fri Jul 21 11:04:00 2023 +0200
- Fixed handler name typo
- Added protection for skipped resultset items
- Made when statement layout consistent

Signed-off-by: Marco V<EMAIL_ADDRESS>
commit 36f35d0abc7f7aab0a5394bac10d16af63184e90
Merge: f37b8e2 f11d34f
Author: uk-bolly<EMAIL_ADDRESS>Date:   Tue Jul 18 15:25:38 2023 +0100
Merge pull request #302 from ansible-lockdown/tidy

Tidy up and linting

@uk-bolly ,
My commit has been signed. There's an unsigned commit from you:
commit c82d920 (HEAD -> devel, origin/devel, origin/HEAD) Author: Marco V<EMAIL_ADDRESS>Date: Fri Jul 21 11:04:00 2023 +0200
- Fixed handler name typo
- Added protection for skipped resultset items
- Made when statement layout consistent

Signed-off-by: Marco V<EMAIL_ADDRESS>
commit 36f35d0 Merge: f37b8e2 f11d34f Author: uk-bolly<EMAIL_ADDRESS>Date: Tue Jul 18 15:25:38 2023 +0100
Merge pull request #302 from ansible-lockdown/tidy

Tidy up and linting

hi @MarcoV-git
Apologies for the confusion, I can see it is signed-off i meant to say gpg signed.
A merge commit is a slightly different commit and wouldn't be signed in the same fashion as i was confirming the mergings of other content changes which are both gpg and signed-off by.
The easiest way i have found with github is if you look at the PR and the commits tabs you will see a "verified" icon when it has been GPG signed.
I have looked for a better way to add that test to the pipeline but as yet have not found it as DCO only does half the job.
I hope that makes sense and thank you once again for your time and continuing to follow up.
kindest regards
uk-bolly

@uk-bolly  Finally fixed the pull

Great work thank you

This PR caused CI failure, see issue #306


Missing content from data references

Issue(s)

pub-id link doesn't display for dataset references.
Type of dataset reference (generated or previously published) is missing.

Steps to reproduce
Visit https://libero-editor--test.elifesciences.org/?archive=00001 and navigate to the references.
Note the missing link in Gavrilov reference.
Not the missing 'Generated' at the end of the reference
Note the pub-id/@xlink:href and the elementcitation/@specific-use values in the markup
https://github.com/libero/reference-manuscripts/blob/a6c4bb2ede3ea99a8fc6c4bfca9ad36a322b2879/manuscripts/00001/elife-00001.xml#L173-L191
Screenshots

Expected behaviour

A clickable link http://www.ncbi.nlm.nih.gov/nuccore/120407038 should display between the accession number NM_009324 and the statement of whether it is previous published or generated (which is also currently missing)
A piece of text staying 'Generated', should be present at the end of the reference.

Fixed


refactor authorization provider setup

motivation: more easily share authorization provider setup with libSwiftPM users
changes:

move authorization providers setup from SwiftTool to a Worksapce configuraiton utility
adjust call sites and tests

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

lets get #4079 in first, then we can rebase this one on top

@swift-ci please smoke test

@yim-lee @neonichu this is ready for review

@swift-ci please smoke test

source compat looks good: https://github.com/apple/swift/pull/41142
i think this is good to go. @yim-lee want to take one last look?

LGTM 👍


Error: Process completed with exit code 1.

etting up libtext-levenshteinxs-perl (0.03-5build4) ...
Setting up libperlio-gzip-perl (0.20-1build4) ...
Setting up libhtml-html5-entities-perl (0.004-3) ...
Setting up libsereal-decoder-perl (5.004+ds-1build3) ...
Setting up libmarkdown2:amd64 (2.2.7-2build1) ...
Setting up libnet-ipv6addr-perl (1.02-1) ...
Setting up libfile-touch-perl (0.12-2) ...
Setting up python3-nacl (1.5.0-4build1) ...
Setting up dctrl-tools (2.24-3build3) ...
Setting up libdata-validate-ip-perl (0.31-1) ...
Setting up libhtml-form-perl (6.11-1) ...
Setting up libemail-address-xs-perl (1.05-1build4) ...
Setting up libnet-ssleay-perl:amd64 (1.94-1build4) ...
Setting up libfile-basedir-perl (0.09-2) ...
Setting up libpod-constants-perl (0.19-2) ...
Setting up libpath-iterator-rule-perl (1.015-2) ...
Setting up libtext-markdown-discount-perl (0.16-1build3) ...
Setting up libexception-class-perl (1.45-1) ...
Setting up libdevel-callchecker-perl:amd64 (0.008-2build3) ...
Setting up dput (1.1.3ubuntu3) ...
Setting up libobject-pad-perl (0.808-1build3) ...
Setting up libdata-validate-uri-perl (0.07-3) ...
Setting up libstring-copyright-perl (0.003014-1) ...
Setting up libdata-optlist-perl (0.114-1) ...
Setting up libgit-wrapper-perl (0.048-2) ...
Setting up python3-paramiko (2.12.0-2ubuntu4) ...
Setting up libio-socket-ssl-perl (2.085-1) ...
Setting up libsub-exporter-perl (0.990-1) ...
Setting up libiterator-perl (0.03+ds1-2) ...
Setting up libiterator-util-perl (0.02+ds1-2) ...
Setting up libparams-classify-perl:amd64 (0.015-2build5) ...
Setting up libnet-smtp-ssl-perl (1.04-2) ...
Setting up libmodule-runtime-perl (0.016-2) ...
Setting up libmailtools-perl (2.21-2) ...
Setting up libconst-fast-perl (0.014-2) ...
Setting up libdata-dpath-perl (0.59-1) ...
Setting up libmodule-implementation-perl (0.09-2) ...
Setting up libpackage-stash-perl (0.40-1) ...
Setting up libimport-into-perl (1.002005-2) ...
Setting up libmoo-perl (2.005005-1) ...
Setting up liblist-someutils-perl (0.59-1) ...
Setting up liblist-someutils-xs-perl:amd64 (0.58-3build4) ...
Setting up libmoox-aliases-perl (0.001006-2) ...
Setting up libb-hooks-endofscope-perl (0.28-1) ...
Setting up libnamespace-clean-perl (0.27-2) ...
Setting up libstring-license-perl (0.0.9-2ubuntu1) ...
Setting up licensecheck (3.3.9-1ubuntu1) ...
Setting up liblwp-protocol-https-perl (6.13-1) ...
Setting up libwww-perl (6.76-1) ...
Setting up libhtml-tokeparser-simple-perl (3.16-4) ...
Setting up libwww-mechanize-perl (2.18-1ubuntu1) ...
Setting up devscripts (2.23.7) ...
Setting up lintian (2.117.0ubuntu1.1) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for install-info (7.1-3build2) ...
Processing triggers for libc-bin (2.39-0ubuntu8.3) ...
Running kernel seems to be up-to-date.
No services need to be restarted.
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
make: *** No rule to make target 'all'.  Stop.
make: *** No rule to make target 'all'.  Stop.
Build failed. Check the log file for details: /home/runner/linuxcnc_build.log
Error: Process completed with exit code 1.

It seems like you are trying to build a project that failed due to missing or incorrect makefile rules. The error message make: *** No rule to make target 'all'. Stop. indicates that the build system is unable to find the correct target or command to execute.
Here are a few troubleshooting steps you can follow:

Check the makefile:

Ensure that there is a Makefile present in the project directory.
Open the Makefile and confirm that it includes the all target. If not, you might need to add the target or correct the makefile.

Verify dependencies:

Ensure that all necessary build dependencies are installed, especially for LinuxCNC or any related packages you're building. Missing dependencies can cause the build process to fail.

Configure the project:

If the project uses autotools or cmake, make sure you have run the appropriate configuration commands, like ./configure or cmake . before running make.
For some projects, you may need to run a specific build script, such as make install or make build.

Check the build log:

Review the log file located at /home/runner/linuxcnc_build.log for more detailed error information. It might point to the exact issue preventing the build from succeeding.

Clean previous builds:

Sometimes, remnants of previous builds can cause issues. Run make clean or manually delete any build artifacts before attempting the build again.

Permissions:

Ensure that you have the necessary permissions to run the make command and write to the directories used in the build process.

Once you've checked these points, try running the build again. Let me know if you need further assistance based on the log file!


Inline mode article parse mode

So I tried to send inline message with markdown but failed... and I did not found how... so add a parse to the struct and it works.

You should name it ParseMode instead of Parse. Final code should look like this:
// Optional. Send Markdown or HTML, if you want Telegram apps to show
// bold, italic, fixed-width text or inline URLs in your bot's message.
ParseMode string `json:"parse_mode,omitempty"`

This and other missed fields is added in #229 which, I think, is better.


BERTE-576 documenting the queue for users

Hello tcarmet,
My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.
Status report is not available.

Incorrect fix version
The Fix Version/s in issue BERTE-576 contains:

None

Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:

3.6.23

Please check the Fix Version/s of BERTE-576, or the target
branch of this pull request.

/approve

Waiting for approval
The following approvals are needed before I can proceed with the merge:

the author

2 peers

Peer approvals must include at least 1 approval from the following list:

@mcolzi

@nootal

@cmeron-scality

@tcarmet

The following options are set: approve


add Fantom, Fantom testnet #2618

Closes #2618

Force pushed after git rebase and squashed. Tweaked commit message.


Rename stats in Axie Builds to 'Min Hp', and write Deviation with capital

Should also be done together with #92


Using generate_lib problems

Hi
I'm trying to use the generate_lib configuration to later use it to link to my project. I'm using FreeRTOS on an STM32 F7 chip, so I have my custom pipe based on a CubeMx generated code. I'll be also using FreeRTOS+TCP and FreeRTOS+POSIX (Which I added to use micro-ros).
My intention is to build micro-ros for my target, and then have it as an artifact to link to my project during the build process. Thus, only needing to build micro-ros when adding new messages. We'll be using Docker to have a stable image to build micro-ros.
However, I haven't found much documentation on how to use the generate_lib configuration. So, I based myself on how the setup works. *While doing this I also noticed that micro-ros examples use CMakeForceCompiler, which is deprecated.
I have my CMakeLists.txt that has all the flags and definitions needed and sets the compiler to my arm gcc/g++. It also adds the include directories for the FreeRTOS POSIX libraries, as it's needed for all the time functions.
I also set #define configUSE_POSIX_ERRNO 1 on freertos.h
However, when I'm trying to generate the static library I run into
firmware/mcu_ws/uros/rcutils/src/filesystem.c:248:20: error: 'errno' undeclared (first use in this function)
If I'm not wrong, that means libc is not linking correctly.
Please notice that I don't want to be forced to build my own app at this stage, I'd like to be able to have a static lib to later use. Most of the setups sort of force the user to build their app at the same time. Maybe more documentation on how it's actually trying to link would be nice, as I'm guessing I'm forgetting something.
This is my toolchain. I've tried with and without the lines that have a comment that I don't normally use
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

# I normally don't use this. Added to test with micro-ros examples
set(CMAKE_CROSSCOMPILING 1)
set(CMAKE_SYSTEM_PROCESSOR arm)

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_C_COMPILER_WORKS 1)
set(CMAKE_CXX_COMPILER_WORKS 1)
set(CMAKE_AR arm-none-eabi-ar)
message("-- TOOLCHAIN AR ${CMAKE_AR}")
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
message("-- TOOLCHAIN C COMPILER ${CMAKE_C_COMPILER}")
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
message("-- TOOLCHAIN CXX COMPILER ${CMAKE_CXX_COMPILER}")
set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
message("-- TOOLCHAIN ASM COMPILER ${CMAKE_ASM_COMPILER}")
set(CMAKE_OBJCOPY arm-none-eabi-objcopy)
message("-- TOOLCHAIN OBJCOPY ${CMAKE_OBJCOPY}")
set(CMAKE_OBJDUMP arm-none-eabi-objdump)
message("-- TOOLCHAIN OBJDUMP ${CMAKE_OBJDUMP}")
set(CMAKE_SIZE arm-none-eabi-size)
message("-- TOOLCHAIN SIZE ${CMAKE_SIZE}")

# I normally don't use this. Added to test with micro-ros examples
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)

# Flags
set(C_COMMON_FLAGS "${C_COMMON_FLAGS} -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb")

# generates a separate ELF section for each function in the source file
set(C_COMMON_FLAGS "${C_COMMON_FLAGS} -ffunction-sections")

# Enables or disables the generation of one ELF section for each variable in the source file
set(C_COMMON_FLAGS "${C_COMMON_FLAGS} -fdata-sections")

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_COMMON_FLAGS}")

# Enables or disables the generation of code needed to support C++ exceptions.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")

# Disable generation of information about every class with virtual functions for use by the C++ runtime
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")

# Do not emit the extra code to use the routines specified in the C++ ABI for thread-safe initialization of local statics.
# Reduce bin size
# TODO Do we have code that could have thread safety problem?
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics")

# Register destructors for objects with static storage duration with the __cxa_ atexit function rather than the atexit function
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-use-cxa-atexit")

# Add common C language flags
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${C_COMMON_FLAGS}")

add_definitions("-DUSE_HAL_DRIVER -DSTM32F746xx")

include_directories(SYSTEM
${CMAKE_CURRENT_LIST_DIR}/freertos-plus-posix/FreeRTOS-Plus-POSIX/include
${CMAKE_CURRENT_LIST_DIR}/freertos-plus-posix/FreeRTOS-Plus-POSIX/include/portable/st
${CMAKE_CURRENT_LIST_DIR}/freertos-plus-posix/include
${CMAKE_CURRENT_LIST_DIR}/freertos-plus-posix/include/private
${CMAKE_CURRENT_LIST_DIR}/freertos-plus-posix/include/FreeRTOS_POSIX
${CMAKE_CURRENT_LIST_DIR}/freertos-plus-posix/include/FreeRTOS_POSIX/sys
${CMAKE_CURRENT_LIST_DIR}/f7-drivers/STM32F7xx_HAL_Driver/Inc
${CMAKE_CURRENT_LIST_DIR}/f7-drivers/CMSIS/Device/ST/STM32F7xx/Include
${CMAKE_CURRENT_LIST_DIR}/f7-drivers/CMSIS/Include
${CMAKE_CURRENT_LIST_DIR}/f7-middlewares/Third_Party/FreeRTOS/Source/include
${CMAKE_CURRENT_LIST_DIR}/f7-middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2
${CMAKE_CURRENT_LIST_DIR}/f7-middlewares/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1
)
# I normally don't use this. Added to test with micro-ros examples
set(__BIG_ENDIAN__ 0)

Hello, I think that micro-ROS for Arduino is a great example of how to use the generate lib functionality: https://github.com/micro-ROS/micro_ros_arduino. In this case, we provide a standalone precompiled micro-ROS library for a bunch of platforms and I guess that this is what you need.
Please check this script to see how to use the generate lib.
Please let me know if you have any other questions.

Hi
Thanks for the reference, it did help. Seems what I was missing was to add -DCLOCK_MONOTONIC=0 -D'__attribute__(x)=' to my toolchain, at least now rcutils passes, and I removed all the includes from include_directories. I'm not sure what __attribute_(x)= does and if I actually need it.
I've also modified the colcon.meta to be
{
    "names": {
        "tracetools": {
            "cmake-args": [
                "-DTRACETOOLS_DISABLED=ON",
                "-DTRACETOOLS_STATUS_CHECKING_TOOL=OFF"
            ]
        },
        "rcl": {
            "cmake-args": [
                "-DBUILD_TESTING=OFF",
                "-DRCL_COMMAND_LINE_ENABLED=OFF",
            ]
        },
        "rcutils": {
            "cmake-args": [
                "-DENABLE_TESTING=OFF",
                "-DRCUTILS_NO_FILESYSTEM=ON",
                "-DRCUTILS_AVOID_DYNAMIC_ALLOCATION=ON"
            ]
        },
        "microxrcedds_client": {
            "cmake-args": [
                "-DUCLIENT_PIC=OFF",
                "-DUCLIENT_PROFILE_UDP=ON",
                "-DUCLIENT_PROFILE_DISCOVERY=OFF",
                "-DUCLIENT_PROFILE_SERIAL=OFF",
                "-DUCLIENT_PROFILE_TCP=OFF",
            ]
        },
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=10",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=5",
                "-DRMW_UXRCE_MAX_SERVICES=1",
                "-DRMW_UXRCE_MAX_CLIENTS=1",
                "-DRMW_UXRCE_MAX_HISTORY=4",
                "-DRMW_UXRCE_TRANSPORT=udp",
                "-DRMW_UXRCE_DEFAULT_UDP_IP=<IP_ADDRESS>",
                "-DRMW_UXRCE_DEFAULT_UDP_IP=8888",
            ]
        }
    }
}

However, I now get two errors which I guess are related
The first one is about the package not being found, which is weird
CMake Warning at CMakeLists.txt:183 (find_package):
  By not providing "Findrosidl_typesupport_microxrcedds_cpp.cmake" in
  CMAKE_MODULE_PATH this project has asked CMake to find a package
  configuration file provided by "rosidl_typesupport_microxrcedds_cpp", but
  CMake did not find one.

The second one is a bunch uxr types not found
In file included from /microros_ws/firmware/mcu_ws/uros/rmw_microxrcedds/rmw_microxrcedds_c/src/utils.h:20,
                 from /microros_ws/firmware/mcu_ws/uros/rmw_microxrcedds/rmw_microxrcedds_c/src/rmw_client.c:15:
/microros_ws/firmware/mcu_ws/uros/rmw_microxrcedds/rmw_microxrcedds_c/src/./types.h:83:3: error: unknown type name 'uxrUDPPlatform'
   83 |   uxrUDPPlatform udp_platform;

My wild guess is that I'm missing some flag or like.

Regarding the cpp: this line should be skipping all the cpp components of the ROS2 package set. In which packet are you getting this error?
Regarding your colcon.meta, you have a couple of commas malforming the JSON try removing last elements commas:
        "microxrcedds_client": {
            "cmake-args": [
                "-DUCLIENT_PIC=OFF",
                "-DUCLIENT_PROFILE_UDP=ON",
                "-DUCLIENT_PROFILE_DISCOVERY=OFF",
                "-DUCLIENT_PROFILE_SERIAL=OFF",
                "-DUCLIENT_PROFILE_TCP=OFF" <--- here
            ]
        },
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=10",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=5",
                "-DRMW_UXRCE_MAX_SERVICES=1",
                "-DRMW_UXRCE_MAX_CLIENTS=1",
                "-DRMW_UXRCE_MAX_HISTORY=4",
                "-DRMW_UXRCE_TRANSPORT=udp",
                "-DRMW_UXRCE_DEFAULT_UDP_IP=<IP_ADDRESS>",
                "-DRMW_UXRCE_DEFAULT_UDP_IP=8888"   <--- here
            ]

Which transport will you use? I guess that UDP

AFAIK, FreeRTOS+TCP has UDP support. As I'm creating UDP sockets with it.
I'll give it another spin and comment back.

So, I'm going with 1 for now. If needed, I'll go with 2.
I'm using the meta you suggested and the toolchain with the platform. After adding the platform, it started to ask for all the FreeRTOS headers.
Anyways, I'm now back to getting the following error
/microros_ws/firmware/mcu_ws/uros/rcutils/src/filesystem.c:41:1: note: 'errno' is defined in header '<errno.h>'; did you forget to '#include <errno.h>'?
   40 | #include "rcutils/error_handling.h"
  +++ |+#include <errno.h>
   41 |

It does not make much sense, as the meta says it should skip the filesystem on rcutils.
{
    "names": {
        "tracetools": {
            "cmake-args": [
                "-DTRACETOOLS_DISABLED=ON",
                "-DTRACETOOLS_STATUS_CHECKING_TOOL=OFF",
            ]
        },
        "rcl": {
            "cmake-args": [
                "-DBUILD_TESTING=OFF",
                "-DRCL_COMMAND_LINE_ENABLED=OFF",
            ]
        },
        "rcutils": {
            "cmake-args": [
                "-DENABLE_TESTING=OFF",
                "-DRCUTILS_NO_FILESYSTEM=ON",
                "-DRCUTILS_AVOID_DYNAMIC_ALLOCATION=ON",
            ]
        },
        "microxrcedds_client": {
            "cmake-args": [
                "-DUCLIENT_PIC=OFF",
                "-DUCLIENT_PROFILE_UDP=ON",
                "-DUCLIENT_PROFILE_DISCOVERY=OFF",
                "-DUCLIENT_PROFILE_SERIAL=OFF",
                "-DUCLIENT_PROFILE_TCP=OFF",
            ]
        },
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=10",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=5",
                "-DRMW_UXRCE_MAX_SERVICES=1",
                "-DRMW_UXRCE_MAX_CLIENTS=1",
                "-DRMW_UXRCE_MAX_HISTORY=4",
                "-DRMW_UXRCE_TRANSPORT=udp",
                "-DRMW_UXRCE_DEFAULT_UDP_IP=<IP_ADDRESS>",
                "-DRMW_UXRCE_DEFAULT_UDP_IP=8888",
            ]
        }
    }
}

Since FreeRTOS does not have a complete errno POSIX support we tweak it like this in our ports: https://github.com/micro-ROS/freertos_apps/blob/34656bb8e1b5f80a2ef4f05e26da371f7538da55/microros_crazyflie21_extensions/include/FreeRTOS_POSIX/errno.h#L215

Well, in my FreeRTOS posix errno.h I have
/**
 * @name System Variable
 *
 * @brief Define FreeRTOS+POSIX errno, if enabled.
 * Set configUSE_POSIX_ERRNO to enable, and clear to disable. See FreeRTOS.h.
 *
 * @{
 */
#if ( configUSE_POSIX_ERRNO == 1 )
    extern int FreeRTOS_errno;
    #define errno    FreeRTOS_errno
#endif

And I have defined configUSE_POSIX_ERRNO to 1 in my freertos.h
#ifndef configUSE_POSIX_ERRNO
	#define configUSE_POSIX_ERRNO 1
#endif

But for some reason, it's not taking it...which makes me think
Well, I spent some time debugging it, it does take the posix errno when building microxrcedds_client
The problem is on rcutils, as it takes stricly the posix errno, but it does not go through the freertos.h before that.
I've tried adding "-DconfigUSE_POSIX_ERRNO=1" to the meta, but was unsuccessful, I'd like to enable the errno without having to modify the code.
I've done some digging, to analyze the verbose output of rcutils, and I've found some things that are worrysom, first, I haven't found any of the cmake definitions declared on colcon.meta. Is this correct?
Second, I've found that the C flags are added three times...Which is oddly weird
/gcc-arm-none-eabi/bin/arm-none-eabi-gcc -DRCUTILS_BUILDING_DLL -DROS_PACKAGE_NAME=\"rcutils\" -I/microros_ws/firmware/mcu_ws/build/rcutils/include -I/microros_ws/firmware/mcu_ws/uros/rcutils/include -I/microros_ws/firmware/mcu_ws/install/share/tinydir_vendor/cmake/../../../include -isystem /microros_ws/local/code -isystem /microros_ws/local/f7-drivers/STM32F7xx_HAL_Driver/Inc -isystem /microros_ws/local/f7-drivers/CMSIS/Device/ST/STM32F7xx/Include -isystem /microros_ws/local/f7-drivers/CMSIS/Include -isystem /microros_ws/local/f7-middlewares/Third_Party/FreeRTOS/Source/include -isystem /microros_ws/local/f7-middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -isystem /microros_ws/local/f7-middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1 -isystem /microros_ws/local/freertos-plus-posix/FreeRTOS-Plus-POSIX/include -isystem /microros_ws/local/freertos-plus-posix/FreeRTOS-Plus-POSIX/include/portable -isystem /microros_ws/local/freertos-plus-posix/FreeRTOS-Plus-POSIX/include/portable/st -isystem /microros_ws/local/freertos-plus-posix/include -isystem /microros_ws/local/freertos-plus-posix/include/private -isystem /microros_ws/local/freertos-plus-posix/include/FreeRTOS_POSIX -isystem /microros_ws/local/freertos-plus-posix/include/FreeRTOS_POSIX/sys -isystem /microros_ws/local/freertos-plus-tcp/include -isystem /microros_ws/local/freertos-plus-tcp/portable/Compiler/GCC -isystem /microros_ws/local/freertos-plus-tcp/portable/NetworkInterface/include -isystem /microros_ws/local/freertos-plus-tcp/portable/NetworkInterface/STM32F7xx  -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -DCLOCK_MONOTONIC=0 -D'__attribute__(x)=' -ffunction-sections -fdata-sections  -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -DCLOCK_MONOTONIC=0 -D'__attribute__(x)=' -ffunction-sections -fdata-sections -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -DCLOCK_MONOTONIC=0 -D'__attribute__(x)=' -ffunction-sections -fdata-sections -O3 -DNDEBUG   -DUSE_HAL_DRIVER -DSTM32F746xx -DUSE_HAL_DRIVER -DSTM32F746xx -Wall -Wextra -Wconversion -Wno-sign-conversion -Wpedantic -std=gnu11 -o CMakeFiles/rcutils.dir/src/cmdline_parser.c.obj   -c /microros_ws/firmware/mcu_ws/uros/rcutils/src/cmdline_parser.c

The RCutils used in micro-ROS is this fork: https://github.com/micro-ROS/rcutils
A slightly modified version of the ROS 2 rcutils that included options such as no filesystem or 64-bit atomic library.
Regarding C flags are added three times I'm not sure if this is related to the micro-ROS build system or to colcon.
In any case, I would use the -DconfigUSE_POSIX_ERRNO=1 not in the colcon.meta but in the toolchain in the same way we fake the -DCLOCK_MONOTONIC=0 -D'__attribute__(x)='

Okay!! that has seemed to build. I guess I would only need to statically link that to my project and it should be fine. Quite amazing.
However, I'd like to know one more thing, which version of the heap is being used for FreeRTOS? On our projects, we use heap_useNewLib.c from http://www.nadler.com/embedded/newlibAndFreeRTOS.html as the STM version is not good.
Is it used at all on micro-ROS or I shouldn't worry about it?

In ROS you have configurable allocators so I guess that there is no problem in setting your own allocator in your micro-ROS projects. Let me show you how we configure them:

Here we define a bunch of custom functions that calls the system ones.
Here we set them as the interl micro-ROS memory allocation functions
And finally, in the application level this call will return the previously defined functions.

Of course, points 2 and 3 can be in the same functions. This will mock all the memory management functions along the micro-ROS stack, however I think that is important to notice that micro-ROS tries to minimize the dynamic memory allocations by using static memory pools (configured with the "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=5", and so on). It just uses dynamic memory in the creation of the entities and no during the node operation.
You can find more information about memory management here: https://eprosima.com/index.php/resources-all/performance/micro-ros-client-memory-profiling.
Finally, could you tell us more about your use case? We are collecting users use cases and opinions, so if you want to share we will be happy.

Thanks, that makes sense. We're currently working with no dynamic allocations purely static allocations. I'll have to take a look at how it's being done, as we wouldn't want any dynamic memory if possible.
I was asking specifically about the heap as it's something that's usually preconfigured with freertos.h and in our case, don't build the typical heap_4.c but the other mentioned one instead.
Regarding our use case,
We're updating our site, https://capra.ooo/ but you can look for Capra Robotics on LinkedIn to see what we're currently working on :)
We have been working on all embedded systems until now and we are now moving upwards on the stack. And we want to use micro-ROS to link our embedded system with the high-level computer where the agent will be.

Hi @mrbhjv! Thanks for sharing info about your current projects. Here at micro-ROS, we'd like to know more about your use-case. If interested to have a chat with us someday soon, don't hesitate to contact me at<EMAIL_ADDRESS>


Update CLI extensions available doc

Update CLI extensions available doc.
Triggered by Azure/azure-cli-extensions - TRAVIS_BUILD_ID=371757354
https://github.com/Azure/azure-cli-extensions/commit/f1e00f84d057a5350923a9726fbbf58c86431056

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


IDVA5-1596 Added new rows to check your answers + redirects

https://companieshouse.atlassian.net/browse/IDVA5-1596

Added 2 new rows to Check Your Answers.
If user has answered 'Yes' to using original name, this will be repeated on Check Your Answers as screenshot below (confirmed with Oli). If they answer no, the alternative name will be shown from the new name input screen.
Both change links bring user back to new name input screen and clicking both 'back' and 'save and continue' will redirect back to Check Your Answers.

CI: No security warnings found

CI: No security warnings found


Plain "python" is not available on many modern distributions

Out-of-the-box, most distros are shipping Python 3 nowadays, which means that no "python" binary is available without installing Python 2.

Thank you for the report. Can you give me a few examples of such distros?
My understanding is that while PEP 394 is active, OS distros should continue to include a python command.

The gotcha is here:

for the time being, all distributions should ensure that python, if installed, refers to the same target as python2

Since Python 2 is reaching EOL next year, many distros already don't have it installed by default, and others are trying to begin to drop it altogether.
In particular, both Fedora and RHEL 8 use Python 3 by default.

Understood. I will update the shebang line after testing with our supported OS distros.


Error creating project in ionic 2.  Error with start undefined

From @souzacristsf on October 23, 2016 17:47
More open issue.
Now this time tried a virtual machine to not lose hope to work with IONIC 2, but unfortunately without success again.
I am now with this error:
`` `
Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall
Caught exception:
undefined
Mind letting us know? https://github.com/driftyco/ionic-cli/issues
My virtual machine uname ` ` Souzacrists Linux 4.4.0-31-generic # 50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux `
My operating system:
lsb_release -a
``
In LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16:04
Codename: xenial

I already have this open issue.
https://github.com/driftyco/ionic/issues/8868
I hope to answer that can help me solve. For not wait to start working with IONIC 2.
Copied from original issue: driftyco/ionic#8869

I'm with same problem.
Usin vscode 1.6.1

He have just released version 2.1.4 of the CLI.  Could you please try the latest and let me know the results.  One change we made is to provide more detail on npm issues.  Thanks!

definitely give up ionic 2 utimamente only has me stressed.
Updated:
Your system information:
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
Ionic App Version Scripts: 0.0.36
OS: / bin / sh: lsb_release: command not found
Node Version: v5.12.0
But unfortunately when I enter the project and type in the command.
ionic serves
Error: ENOENT: no such file or directory, open '/home/souzacrists/Documents/Curso-Ionic/meu-pedido/curso-iniciando/www/index.html'
Ta not easy to have a hope with Ionic.

Same issue:
C:\Projects>ionic start ionic2-tutorial-github blank --v2 --ts
Directory already exists: C:\Projects\ionic2-tutorial-github
Would you like to overwrite the directory with this new project?
(yes/no): y

Creating Ionic app in folder C:\Projects\ionic2-tutorial-github based on blank project
Downloading: https://github.com/driftyco/ionic2-app-base/archive/master.zip
[=============================]  100%  0.0s
Downloading: https://github.com/driftyco/ionic2-starter-blank/archive/master.zip
[=============================]  100%  0.0s
Installing npm packages...
Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall
Caught exception:
 undefined

Mind letting us know? https://github.com/driftyco/ionic-cli/issues

node: v4.4.5
ionic v2.1.0-beta.3
running on windows10 64bit OS

We recently released a new version of the CLI that should allow us to gather more insight into NPM issues.  Could you please update your CLI to at least 2.1.4?
npm install -g ionic@latest
Thank you!

Looks like the problem is that I didnt have git on my PATH
from the npm-debug.log:

61344 info install<EMAIL_ADDRESS>61345 info postinstall<EMAIL_ADDRESS>61346 verbose unlock done using C:\Users\Domnick\AppData\Roaming\npm-cache\_locks\ionic-app-scripts-273bc1e202862c8c.lock for C:\Projects\ionic2-tutorial-github\node_modules\@ionic\app-scripts
61347 verbose stack Error: not found: git
61347 verbose stack     at getNotFoundError (C:\Program Files\nodejs\node_modules\npm\node_modules\which\which.js:15:12)
61347 verbose stack     at F (C:\Program Files\nodejs\node_modules\npm\node_modules\which\which.js:70:19)
61347 verbose stack     at E (C:\Program Files\nodejs\node_modules\npm\node_modules\which\which.js:82:29)
61347 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\which\which.js:91:16
61347 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\which\node_modules\isexe\index.js:44:5
61347 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\which\node_modules\isexe\windows.js:29:5
61347 verbose stack     at FSReqWrap.oncomplete (fs.js:82:15)
61348 verbose cwd C:\Projects\ionic2-tutorial-github
61349 error Windows_NT 10.0.14393
61350 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
61351 error node v4.4.5
61352 error npm  v2.15.5
61353 error code ENOGIT
61354 error not found: git
61355 error Failed using git.
61355 error This is most likely not a problem with npm itself.
61355 error Please check if you have git installed and in your PATH.
61356 verbose exit [ 1, true ]

I  retried on git bash on windows to success.

npm install -g ionic@latest    working for me. Now not getting below error,
Installing npm packages...
Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall
Caught exception:
undefined

@ajay67 Could you provide me with the output from ionic info from within your project directory? Thanks, this should help in troubleshooting.

Could you please try this again? We recently made changes to the app-base and this should no longer be an issue for you.  Below is the commit that fixed the issue.
driftyco/ionic-storage@92f9032d97f32959e6ae6642bd4d37070792faf3

Ajays-MacBook-Air:d3Examples ajaykumar$ ionic info

Your system information:
Cordova CLI: 6.4.0
Ionic Framework Version: 1.3.2
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Mac OS X El Capitan
Node Version: v6.9.1
Xcode version: Not installed

Dependency warning - for the CLI to run correctly,
it is highly recommended to install/upgrade the following:
Install ios-sim to deploy iOS applications.npm install -g ios-sim (may require sudo)
Install ios-deploy to deploy iOS applications to devices.  npm install -g ios-deploy (may require sudo)

npm install -g ionic@latest  requires sudo. Is it fine?

I hava the same problem too.. I haven't solved it so far

it can't start the server
dumildematos@dumildematos:~/Documents/Intel XDK App/myAppO$ ionic serve
WARN: No node_modules directory found, do you need to run npm install?

ionic-app-base@ ionic:serve /home/dumildematos/Documents/Intel XDK App/myAppO
ionic-app-scripts serve

sh: 1: ionic-app-scripts: not found
npm ERR! Linux 4.4.0-57-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "ionic:serve" "--"
npm ERR! node v7.8.0
npm ERR! npm  v4.2.0
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! ionic-app-base@ ionic:serve: ionic-app-scripts serve
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the ionic-app-base@ ionic:serve script 'ionic-app-scripts serve'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ionic-app-base package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ionic-app-scripts serve
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ionic-app-base
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ionic-app-base
npm ERR! There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! Please include the following file with any support request:
npm ERR!     /home/dumildematos/.npm/_logs/2017-04-05T11_03_13_207Z-debug.log
There was an error serving your Ionic application: There was an error with the spawned command: serve


jax.mask: "UndefinedPoly: Polynomial comparison t == 0 is inconclusive"

I understand that jax.mask has been scrapped in favor of something new, but @mattjj mentioned in #5000 that users raising issues may still be helpful for the redesign.
It looks like masking for ragged inputs requires a feasible zero-length case, which isn't always possible. I don't know if this was intentional, but it does limit the kind of functions that can be masked if the zero-length case never occurs.
Example:
import jax
import jax.numpy as jnp

def test(x):
  return jnp.sum(x - x[0])

key = random.PRNGKey(0)
key, subkey = jax.random.split(key, 2)
x = jax.random.normal(subkey, (5,))

test(x[:0]) # IndexError: index is out of bounds for axis 0 with size 0
test(x[:4]) # 5.5432863

masked_test = jax.mask(test, ('t',), '')
masked_test((x,), dict(t=4)) # UndefinedPoly: Polynomial comparison t == 0 is inconclusive

jax.mask is long gone. Closing as stale.


Bug report- subscriptions fail to get tags

Is there an existing issue for this?

[X] I have searched the existing issues

Community Note

Please vote on this issue by adding a :thumbsup: reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Version of the module you are using
5.5.5
Rover Version
aztfmod/rover:1.3.4-2211.2307
Terraform Version
No response
AzureRM Provider Version
No response
Affected Resource(s)/Data Source(s)
azurerm_subscription
Terraform Configuration Files
N/A

Expected Behaviour
I would expect that the (global) tags defined for the configuration would be applied to the subscription created
Actual Behaviour
No tags were created
Steps to Reproduce
N/A
Important Factoids
No response
References
No response

Closing as merged.


Error creating vault key in azure

What happened?
I'm using the official azure provider to create a simple vault with some key.
I got always this:
"A resource with the ID xxx already exists - to be managed via Terraform this resource needs to be imported into the State."
This vault is being created also by me, has no keys, and I random generate names that's why I don't understand the error of the existing key.
How can we reproduce it?
Just apply the file attached, you just need to update tenantId and objectId values
reproduce.yaml.zip
What environment did it happen in?

Crossplane Version: v1.12.2
Provider Version: v0.33.0
Kubernetes Version: v1.26.4+k3s1
Kubernetes Distribution: k3d

Hi @jribmartins,
Thank you for raising this issue. I was not able to reproduce the issue using the example you provided. Resources created successfully, I just removed providerConfigRef and updated tenantId, objectId parameters.
NAME                                  READY   SYNCED   EXTERNAL-NAME   AGE
resourcegroup.azure.upbound.io/test   True    True     test-ft2        23m

NAME                                       READY   SYNCED   EXTERNAL-NAME   AGE
key.keyvault.azure.upbound.io/test-vault   True    True     test-ft1        23m

NAME                                         READY   SYNCED   EXTERNAL-NAME   AGE
vault.keyvault.azure.upbound.io/test-vault   True    True     test-ft         23m

NAME                                                   READY   SYNCED   EXTERNAL-NAME                          AGE
accesspolicy.keyvault.azure.upbound.io/test-vault-sp   True    True     6c6f5c22-ff5b-4890-ba29-c5def658d16a   23m

Could it be a situation specific to your environment?

Hi @turkenf,
thanks for reviewing this.
It could be, but I don't find anything that can be specific from my environment, I'm trying to create a new vault with a new key.
I don't understand the error message saying that this resource already exists.
apply failed: A resource with the ID "https://atestcbs3.vault.azure.net/keys/atestcbs3/9aa8c5da418348a891976705b7300446" already exists - to be managed via Terraform this resource needs to be imported into the State. Please see the resource documentation for "azurerm_key_vault_key" for more information.:
I don't have other keyvault or other keyvaultkey with the name "atestcbs3" on my subscription

@jribmartins could you please try after removing crossplane.io/external-name annotations or try different names for external-name?

Hi @turkenf I just tried, I got the same error, I'm generating random names with helm for the external-name, without success :/

I am having a similar issue. I create a new vault and new secrets and it is all synced. Then after a few hours, all of the secrets are out of sync and say that the object already exists and needs to be imported.
crossplane 1.13.2
provider-azure 0.36.0

Digging into this a bit, it looks the id contains the version, which is a computed element. Right now, the controller is trying to pull the version information from the object spec, but the value isn't available until after the first Observe, so creation succeeds, but the resource immediately goes to unhealthy after the first reconciliation.
The solution is to switch the resources to use IdentifierFromProvider and capture the full resource id in the external-name. This will move control of the key name from the external-name annotation to spec.forProvider.name.

I can reproduce it on my side too
    Message:               apply failed: A resource with the ID "https://testvaultyury.vault.azure.net/keys/test/c5db10c53399413396fe1c5dccfa2d9c" already exists - to be managed via Terraform this resource needs to be imported into the State. Please see the resource documentation for "azurerm_key_vault_key" for more information.:

The associated tf state within the pod is empty
cat 04686c4b-4094-467f-a2ec-f87d252cdf7d/terraform.tfstate
{
  "version": 4,
  "terraform_version": "1.5.5",
  "serial": 2,
  "lineage": "04686c4b-4094-467f-a2ec-f87d252cdf7d",
  "outputs": {},
  "resources": [],
  "check_results": null
}

As @djeremiah hinted, the main suspect is keyVaultURLIDConf function in https://github.com/upbound/provider-azure/blob/main/config/externalname.go#L1861.

I created the draft PR with the tentative fix that looks promising
 k get -f reproduce.yaml
NAME                                              READY   SYNCED   EXTERNAL-NAME    AGE
vault.keyvault.azure.upbound.io/test-vault-yury   True    True     testvaultyury2   7m46s

NAME                                        READY   SYNCED   EXTERNAL-NAME                      AGE
key.keyvault.azure.upbound.io/test-vault1   True    True     066709f9668145b3a4886ee7a869f298   7m46s
key.keyvault.azure.upbound.io/test-vault2   True    True     067c7f951660486e812482e55452b007   7m46s
key.keyvault.azure.upbound.io/test-vault3   True    True     6549c187d5c94c4eae31aa4b344dc482   7m46s
key.keyvault.azure.upbound.io/test-vault4   True    True     198cdd4692c54d429a28ac111687227d   7m46s
key.keyvault.azure.upbound.io/test-vault5   True    True     0dce9ddb567348dbb1395eaaec32af98   7m46s

NAME                                  READY   SYNCED   EXTERNAL-NAME   AGE
resourcegroup.azure.upbound.io/test   True    True     test            7m46s

NAME                                                   READY   SYNCED   EXTERNAL-NAME                          AGE
accesspolicy.keyvault.azure.upbound.io/test-vault-sp   True    True     a721469d-bdb1-4b57-8916-cb0fbd7cbf7c   7m46s

Okay, something is super strange, I've noticed the inconsistent API behavior and rechecked the current code with the totally new vault. It also works.
k get -f reproduce.yaml
NAME                                              READY   SYNCED   EXTERNAL-NAME    AGE
vault.keyvault.azure.upbound.io/test-vault-yury   True    True     testvaultyury3   18m

NAME                                        READY   SYNCED   EXTERNAL-NAME   AGE
key.keyvault.azure.upbound.io/test-vault1   True    True     test-vault1     17m
key.keyvault.azure.upbound.io/test-vault2   True    True     test-vault2     17m
key.keyvault.azure.upbound.io/test-vault3   True    True     test-vault3     17m
key.keyvault.azure.upbound.io/test-vault4   True    True     test-vault4     17m
key.keyvault.azure.upbound.io/test-vault5   True    True     test-vault5     17m

NAME                                  READY   SYNCED   EXTERNAL-NAME   AGE
resourcegroup.azure.upbound.io/test   True    True     test            18m

NAME                                                   READY   SYNCED   EXTERNAL-NAME                          AGE
accesspolicy.keyvault.azure.upbound.io/test-vault-sp   True    True     a721469d-bdb1-4b57-8916-cb0fbd7cbf7c   18m

Apparently it breaks during some special condition we need to figure out.

Something similar was reported in the underlying provider https://github.com/hashicorp/terraform-provider-azurerm/issues/12299

Can be reproduced with recreation
 k delete -f reproduce.yaml
vault.keyvault.azure.upbound.io "test-vault-yury" deleted
key.keyvault.azure.upbound.io "test-vault1" deleted
key.keyvault.azure.upbound.io "test-vault2" deleted
key.keyvault.azure.upbound.io "test-vault3" deleted
key.keyvault.azure.upbound.io "test-vault4" deleted
key.keyvault.azure.upbound.io "test-vault5" deleted
resourcegroup.azure.upbound.io "test" deleted
accesspolicy.keyvault.azure.upbound.io "test-vault-sp" deleted

// wait for full resource deletion, double check with `k get managed`

k get -f reproduce.yaml
NAME                                              READY   SYNCED   EXTERNAL-NAME    AGE
vault.keyvault.azure.upbound.io/test-vault-yury   True    True     testvaultyury3   8m40s

NAME                                        READY   SYNCED   EXTERNAL-NAME   AGE
key.keyvault.azure.upbound.io/test-vault1   False   True     test-vault1     8m40s
key.keyvault.azure.upbound.io/test-vault2   False   True     test-vault2     8m40s
key.keyvault.azure.upbound.io/test-vault3   False   True     test-vault3     8m40s
key.keyvault.azure.upbound.io/test-vault4   False   True     test-vault4     8m40s
key.keyvault.azure.upbound.io/test-vault5   False   True     test-vault5     8m40s

NAME                                  READY   SYNCED   EXTERNAL-NAME   AGE
resourcegroup.azure.upbound.io/test   True    True     test            8m40s

NAME                                                   READY   SYNCED   EXTERNAL-NAME

k describe key.keyvault.azure.upbound.io/test-vault1

    Message:               apply failed: A resource with the ID "https://testvaultyury3.vault.azure.net/keys/test-vault1/769eddd3e6ed4223bb397015d8fe12aa" already exists - to be managed via Terraform this resource needs to be imported into the State. Please see the resource documentation for "azurerm_key_vault_key" for more information.:

similar happens before and after the proposed fix.

Okay, I understand what is happening. After key vault is getting deleted, the old keys are getting automatically recreated due to default soft deleteion ( also mentioned in https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_key )
In this scenario, after we apply the manifests after deletion, the keys need to be imported with external-name annotation because they already exist in a recreated, previously soft-deleted key vault.
The import fails with the current implementation of the provider - the current keyVaultURLIDConf function  does not have a randomized version in externalName, thus no way to properly import the resource following https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_key#import
I've amended the draft PR
Now using the external-name annotation containing unique version string like
 apiVersion: keyvault.azure.upbound.io/v1beta1
  kind: Key
  metadata:
    name: test-vault2
    labels:
      name: test-vault2
      stage: sandbox
    annotations:
      crossplane.io/external-name: 0b8d7e086ff148b2bbc7ddf2ad9eab98

it is possible to successfully  import the Key:
key.keyvault.azure.upbound.io/test-vault2   True    True     0b8d7e086ff148b2bbc7ddf2ad9eab98   21m

@jribmartins so to summarize, with the current version of provider, the creation of key vault works, but import is not. It means that the reproducer you provided will succeed  with the creation of the key:
k get -f reproduce.yaml
NAME                                         READY   SYNCED   EXTERNAL-NAME    AGE
vault.keyvault.azure.upbound.io/test-vault   True    True     yuryvaultcust1   17m

NAME                                        READY   SYNCED   EXTERNAL-NAME   AGE
key.keyvault.azure.upbound.io/test-vault    True    True     test-vault      2m51s

NAME                                  READY   SYNCED   EXTERNAL-NAME   AGE
resourcegroup.azure.upbound.io/test   True    True     test            17m

NAME                                                     READY   SYNCED   EXTERNAL-NAME                          AGE
accesspolicy.keyvault.azure.upbound.io/test-vault-sp     True    True     a721469d-bdb1-4b57-8916-cb0fbd7cbf7c   17m

I just had to add - SetRotationPolicy to AccessPolicy to avoid access limitation failure - the creation works and you can use it right away for testing purposes.
But the external-name handling is not reliable, and the import is broken, so in case of e.g. provider pod restart, you can hit a situation similar to what @jeremypng describes.
The https://github.com/upbound/provider-azure/pull/536 should fully solve it - I will polish it early next week, and it will require some additional cycles on extended regression testing given the change substantial blast radius.

I'm seeing the same import issue when using Azure secrets. It seems your PR #536 will also resolve importing of secrets @ytsarev?

@swyngaard yes, that's the plan :) We are testing the vault Secrets as well before the merge of #536 👍


sidetitle overloading each others

fl_chart: ^0.67.0
Flutter 3.19.1
code to reproduce ( make sure you have long titles, more than 4 or 5 characters):
class CustomChartMulti extends StatefulWidget {
  const CustomChartMulti({
    Key? key,
    this.width,
    this.height,
    required this.numbers1,
    required this.numbers2,
    required this.dataLabels,
    this.backgroundColor = Colors.white,
    this.barBackgroundColor = Colors.grey,
    this.barColor = Colors.blue,
    this.touchedBarColor = Colors.red,
    this.labelTextColor = Colors.white,
    this.axisTextColor = Colors.black,
  })  : assert(dataLabels.length == numbers1.length),
        assert(dataLabels.length == numbers2.length),
        super(key: key);

  final double? width;
  final double? height;
  final List<double> numbers1, numbers2;
  final List<String> dataLabels;
  final Color backgroundColor,
      barBackgroundColor,
      barColor,
      touchedBarColor,
      labelTextColor,
      axisTextColor;

  @override
  _CustomChartMultiState createState() => _CustomChartMultiState();
}

class _CustomChartMultiState extends State<CustomChartMulti> {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: widget.width ?? double.infinity,
      height: widget.height ?? 300,
      decoration: BoxDecoration(
        color: widget.backgroundColor,
        borderRadius: BorderRadius.circular(16),
      ),
      child: BarChart(
        BarChartData(
          barGroups: _getBarGroups(),
          titlesData: FlTitlesData(
            bottomTitles: AxisTitles(
              sideTitles: SideTitles(
                showTitles: true,
                getTitlesWidget: _bottomTitles,
                reservedSize: 42,
              ),
            ),
            leftTitles: AxisTitles(
              sideTitles: SideTitles(showTitles: false),
            ),
            topTitles: AxisTitles(
              sideTitles: SideTitles(showTitles: false),
            ),
            rightTitles: AxisTitles(
              sideTitles: SideTitles(showTitles: false),
            ),
          ),
          borderData: FlBorderData(show: false),
          gridData: FlGridData(show: false),
        ),
      ),
    );
  }

  List<BarChartGroupData> _getBarGroups() {
    return List.generate(widget.dataLabels.length, (index) {
      return BarChartGroupData(
        x: index,
        barRods: [
          BarChartRodData(
            toY: widget.numbers1[index],
            color: widget.barColor,
            width: 10,
          ),
          BarChartRodData(
            toY: widget.numbers2[index],
            color: widget.touchedBarColor,
            width: 10,
          ),
        ],
      );
    });
  }

  Widget _bottomTitles(double value, TitleMeta meta) {
    final style = TextStyle(
      color: widget.axisTextColor,
      fontWeight: FontWeight.bold,
      fontSize: 14,
    );
    return SideTitleWidget(
      axisSide: meta.axisSide,
      space: 16,
      child: Text(widget.dataLabels[value.toInt()], style: style),
    );
  }
}

+1

+1

+1

Hey, we don't have any internal workaround for this. I think this is something that you can manage.
For example, here I just rotated the titles if there's no enough space (roughly)
https://gist.github.com/user-attachments/assets/1866be4f-3570-4acf-b595-a6b8f4dbe0df
The source code is here
The other workarounds can be:

Hiding some less important titles
Decreasing the size of the titles when there's less space

So I think we can close this issue as we have different workarounds for this and I think it doesn't make sense to solve this inside the library.


Update README.md to match with pull request #471.

The pull request #471 didn't update the README instructions.

Thank you for your pull request @SebastienMichoy!
I have updated the iOS 7 instructions in 17bfcd1d. While I did not end up merging your PR directly, I thank you for bringing the documentation issue to our attention. Cheers :beers: