What is user interface for JuliaHub/CUDD_jll - macos

Julia has a package for binary decision diagrams called CUDD_jll available from JuliaHub. The package is able to install and compile on the Apple M1 architecture. It does appear to install and compile on macOS v13 running Julia v1.82. But the user interface from an older package CUDD does not appear to be compatible with CUDD_jll.
What is needed is a test or examples revealing user commands for initializing cudd, defining logical variables, and the basic operations of AND, OR, NOT.
Does anyone have such information they will share?

_jll packages are generally not meant to be used directly, they're backend dependencies that will be automatically installed when you add a package that uses them.
In this case, CUDD.jl is the package you want to install and work with. That will automatically install CUDD_jll as a dependency and use it. Actually, the current CUDD.jl doesn't yet use CUDD_jll as a backend. It instead does its own download of the CUDD library, from a source that doesn't provide M1-compatible binaries. CUDD_jll is a recent effort to change that. It does provide binaries for the M1 architecture, but is yet to be merged in as a backend.
In the meantime, you can try ] add CUDD#update-to-yggdrasil to directly add the branch that uses CUDA_jll as the backend, and see if that works for you. (Once the PR gets merged, you can remove this branch-specific dependency and ] add CUDD like before.)

The Apple M1 system is not compatible with CUDD. My mistake, sorry.

Related

How can I find packages already installed on my computer that have a chocolatey equivalent?

I would like to replace as many packages on my computer with the corresponding chocolatey packages, so they can be upgrade automatically.
Is there a possibility to scan the installed Apps and point out which of them have a chocolatey equivalent?
Thanks a bunch!
Yes, but it's probably not what you want to hear.
You can do this with the Package Synchronization feature, but this feature requires a Chocolatey for Business license (C4B). Automatic Synchronization is a similarly named feature (all paid licenses have it), but this only removes packages for which the related software was uninstalled outside of Chocolatey.
With the free version, you will have to instead synchronize your package state manually.
Note: I don't recommend doing this for packages you don't maintain on the community feed. The likelihood of getting malware is low, but I'd be more concerned with a poor search term causing the wrong package to get installed instead, or accidentally installing a less "official" package maintained by someone who is not as diligent with updates or has abandoned the package.
However, this should be a perfectly safe procedure for packages you develop and maintain (and in reality you'll probably know all the package ids and versions anyways, so you'll skip straight to step 3). Doubly so if you are installing from a private feed you or your organization controls.
Query your installed programs from Windows. Take note of the version you have installed so you can install the correct version.
Do a package search for each one, recording the package ID for each one.
choco list --order-by-popularity --version VERSION should help you avoid less official or less maintained packages for the same software, and get you the correct package version. Top of the list is the most popular.
This is not perfect as some software really only gets installed by a single version of the package, but either self updates or pulls from a latest URL. In these cases the package version is not usually updated or accurate.
Install each software per package ID you have. Do this one command at a time so you can specify the correct version.
choco install -n skips running the installation PowerShell script so it effectively only "imports" the package for management without performing the install.

How to create distribution of Python GTK3 app?

I made an application using GTK3 on Windows (Mingw_x64 installation of GTK) and I cannot really figure out how to make a distribution out of this. According to official documentation of PyGObject, it is possible in some way.
I already tried to make a package using setuptools, but PyGObject documentation is not saying much about this process and I was not able to configure setup correctly to make it work. PyGObject has a lot of dependecies and weird imports, that I do not know how to include.
I also tried Pyinstaller, which claims it has GTK support, and it really can pack it into executable, however it is not working. I tried these two options:
make only one file (.exe), but in this situations, it throws an error, that some file is not found (libpixbufloader-ani.dll)
create a directory with all needed files (libpixbufloader-ani.dll and other libs are included this time), but when running exe, another exeption occurs, this time Struct and 2 other libraries are missing (strangely, there is a folder that contains Struct)
Becouse of the missing files, I tried adding as many paths containing needed libraries as possible to Pyinstaller, but without success.
Does anyone have any experience with packaging GTK appliciations in Python? There is definitely a way to do this, but I am not very experienced with packaging. If needed, I can provide more information.
This is an issue that has been brought up on PyInstaller's GitHub page, as others (including myself) have experienced the same issue that you've mentioned.
The last time I tried the dev version of PyInstaller, the issue still wasn't fixed, but I managed to get a working executable by using PyInstaller to find the dependencies that my Python3/GTK3 app needed, and then I used cx_Freeze to generate the final executable.

How can I import a library from github to GO playground?

Hi I want to import a 3rd party library to GO playground, I saw an answer for this question: https://stackoverflow.com/a/27813778/6638204 but it said that this can not be done, but the xiam/go-playground library on github states that it can do this. I tried using it but I did not understand what should I exactly do. I successfully installed the library and used it to run programs that do not need third party libraries. but I did not get how can I import a third party library. ps: I have docker installed in my machine
The answer is still the same: you can't do that on the "official" Go Playground (at https://play.golang.org/).
If you or someone else runs a custom, modified version of the Go Playground: then the answer is you can do there whatever is allowed, which may include the usage of external libraries which the custom engine may go get prior to compilation and execution.
Also see related question: Which packages may be imported in the go playground?
You might be able to do it since May 14th, 2019
See this tweet (from Brad Fitzpatrick)!
The #golang playground now supports third-party imports, pulling them in via https://proxy.golang.org/
Example: https://play.golang.org/p/eqEo7mqdS9l 🎉
Multi-file support & few other things up next.
Report bugs at golang/go issue 31944, or here on the tweeters.
But that means you have published your package deliverable in such a way it is reference by the Go proxy.

Can only install one of: iron-io/iron_mq[2.0.0, 1.5.3] -- Laraworker vs ironQueue

I am having a problem while trying to use two wonderful packages iron-io/laraworker and laracollective/iron-queue at same project.
The prior package requires version (max) 1.5.3 of iron-io/iron_mq whereas the later one (v5.2) requires that the minimum version of iron-io/iron_mq has to be 2.0.0
So this is an non-compatible situation.
Any help on this will be appreciated.
P.S.: I don't want to write my own worker libraries - I would prefer it as a vendor package - but if nothing else is possible I can work with https://github.com/iron-io/iron_worker_php.
There is no real solution for you: Don't use one of the two packages, and it will work.
Also, you can edit any of these packages and send a pull request to update the dependency on iron-io/iron_mq to match the other package, wait for it to be accepted, merged and published.
That's all you can do if you want to avoid maintaining your own code.

RPM+Yum: install two packages with the same name and different versions simultaneously

For moderators: this question is about development of RPM based installer.
I'm developing packaging system for our software. We've designed our update management so that when we want to move to the new major version, we change RPM package to install all files into another directory (with another suffix) and change the package version. We keep the same name for the package (like: a-package-1.0.0 --> a-package-2.0.0). We want to install the new package keeping the old one to make user able to continue work with the old version while he moving to the new one.
So there is no file conflicts between our packages and RPM utility install them simultaneously without any issues (rpm -ivh ...). But Yum thinks that the new version is an update for the old one.
Is there a way to produce such RPM packages to make 'yum install a-package-1.0.0 a-package-2.0.0' installing them both? Maybe some flag in the package have to be set? I've found nothing.
Seems there is no way to install two RPM packages with the same name and without file conflicts usnig Yum.
So in my case I need to use some version suffix included into the package name.
I called RH and their preliminary answer is that there is no way to do this in YUM/RPM as this might cause confusion. After some discussion among their engineers, there does appear to be a way to do this, but they said it is cumbersome. I've asked them to send me their documentation (if any). I'm afraid you will need to call their customer service line and make the same request.
Here is the response from RH.
Thank you so much for your time on the phone today. You called asking if there was a way of installing different versions of tools like maven or java using yum to install them. After the engineers discussed it they have provided a document that shows you how to do this. I must say, if you do not have a log in to the customer portal, you will not be able to view the whole document.
How to switch Java Environment in Red Hat Enterprise Linux 5 and 6?
- https://access.redhat.com/solutions/21059
The engineers have also provided additional documents just for general use with Developer Toolset and Software Collections:
How to use Red Hat Software Collections (RHSCL) or Red Hat Developer Toolset (DTS)?
- https://access.redhat.com/solutions/472793
Developer Toolset and Red Hat Software Collections use in Red Hat Enterprise Linux 7
- https://access.redhat.com/solutions/915023
What's the difference between /etc/alternatives and the dynamic software collections framework?
- https://access.redhat.com/solutions/528643
If you do require further assistance, please provide me with a valid account number, login, or contract number, and I can get a case started and you will be able to be in direct contact with one of our Red Hat engineers.

Resources