-
Notifications
You must be signed in to change notification settings - Fork 350
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libgnat-4.6 on Ubuntu 16.04 #166
Comments
Documenting the issue, maybe saves some time for someone. |
Hello, you don't need a But to solve your issue with Ubuntu 16.04 (please note Ubuntu versions have two numers: a year and a month) you could compile GHDL with a newer GCC version e.g. GCC/GNAT 5.3. Ubuntu 16.04 should containt these GNAT libraries. |
Hey, |
This approach no longer seems to work cleanly on 17.10. The repository listed above gives errors about having an invalid signature (even if I import the relevant public key). Switching from "precise" to "trusty" (which seems to be the last version that supported the required packages) gets rid of the signature issues, but still doesn't work (it looks as though apt is failing to understand the format of the archive... I presume some update has broken backwards compatibility). |
@periata, I'd suggest to build it yourself. It will be easier, because you will use the default package versions available in Ubuntu 17.10, instead of adding possibly outdated content. See https://github.com/ghdl/ghdl#building-ghdl and http://ghdl.readthedocs.io/en/latest/building/Building.html |
Seems to work fine on Ubuntu 18.04 by downloading these two packages manually from links below and installing with https://packages.ubuntu.com/trusty/gnat-4.6-base |
Best way to run GHDL these days is trough Docker: |
@PetteriAimonen It might work with Therefore, we recommend to use one of these alternatives:
docker build -t save_pkg - <<-EOF
FROM busybox
COPY --from=ghdl/pkg:ubuntu18-llvm-5.0 ./* ./ghdl-pkgs/
EOF
docker run --rm -v /$(pwd)://src save_pkg sh -c "cp ghdl-pkgs/ghdl-* /src"
docker rmi save_pkg will download The runtime dependencies are: dockerfiles/run/ubuntu18#L7 and dockerfiles/run/ubuntu18#L16. |
Ubuntu 16.04 Fix:I had to manually download and Install dependencies: First download them from here: |
@milannedic, note that version 0.33 is several years old. It is strongly suggested to use a more recent version. |
Might wanna add the |
As commented above, installing packages from Precise in more recent versions (Trusty, Xenial, Bionic) is not suggested at all. |
@tgingold |
Docker seems overkill, though it works. Is there a particular reason why the current Ubuntu 14.04 packages couldn't be upgraded into Ubuntu 18.04 packages? |
I wouldn't say there is anything wrong about how GHDL is distributed, but there is still work to do. Precisely, we are lacking active package maintainers for the main OSs/distros which have (in)direct communication with the core of the project. We know that there are several people which keep packages somehow up to date on Debian, Arch and Fedora, but AFAIK there is no explicit coordination: i.e. no one is explicitly notified when @tgingold pushes a tag (#514).
We are aware of these ToDos, and there are several open issues:
Nonetheless, we do have pre-built binaries/tarballs for many more contexts than those in releases. Precisely, we have 7 mcode (https://travis-ci.com/ghdl/docker/builds/112342082), 5 LLVM (https://travis-ci.com/ghdl/docker/builds/112389031) and 4 GCC (https://travis-ci.com/ghdl/docker/builds/112389189) builds in the 'extended test matrix'. Furthermore, we can produce them for any of the platforms supported by docker and QEMU (amd64, i386, arm64v8, arm32v7, arm32v6, s390x and ppc64le). That's more than a hundred possible combinations! Distributing AppImages has been suggested too... So, although it is straighforward to add any of these to the main repo, we need cannot add all of them.
Docker is already the default for many of us. It is mostly used in CI environments, but it is used in desktop workstations too. For example, it is my preferred way to use GHDL on Win10. There are users which are building tools on top of some of the docker images that we provide. For example: https://section5.ch/index.php/2018/11/04/masocist-opensource-0-2-release/ The reason against not making this alternative more explicit in the README/Documentation is because we do not want to force users towards a technology that they don't know. Docker is gaining popularity and at some point using OCI containers will be common for any user. However, nowadays running Docker is not straighforward on some platforms where GHDL can be build and executed. Unfortunately, many universities and companies are still using Windows 7/Vista. Ideally, we would be able to automate the process so that GHDL is available through the preferred package manager on each platform (apt, dnf, pacman, chocolatey, zypper). Note that up to 6 packages can be made available: mcode/LLVM/GCC, unstable/stable. That would offload the build to the resources/services of each platform. For example, GHDL v0.35 is available on Debian Buster: https://packages.debian.org/buster/ghdl. Ref #377.
I think it is because the default context in Travis are Ubuntu 14.04 VMs. Therefore, any user which does not add any custom option to the Since it is straighforward to execute any of the provided docker containers on Travis, I think we may drop this requirement when #569 is closed (i.e. when we provide/tag stable docker images). @Paebbels, let us know what you think. @PetteriAimonen, apart from that, packages for Debian Buster might work on Ubuntu 18.04. You might try: https://packages.debian.org/buster/amd64/ghdl/download. It is not an ideal solution, but I believe that it cannot be much more harmful than installing packages from Ubuntu 14.04. Alternatively, you can wait until Ubuntu 19.04 is released. It seems that ghdl is available in it:
# winpty docker run --rm -it ubuntu:19.04 bash
root@ca57efb87069:/# apt search ghdl
Sorting... Done
Full Text Search... Done
ghdl/disco 0.35+git20181129+dfsg-3ubuntu1 amd64
VHDL compiler/simulator
ghdl-gcc/disco 0.35+git20181129+dfsg-3ubuntu1 amd64
VHDL compiler/simulator (GCC backend)
ghdl-llvm/disco 0.35+git20181129+dfsg-3ubuntu1 amd64
VHDL compiler/simulator (LLVM backend)
ghdl-mcode/disco 0.35+git20181129+dfsg-3ubuntu1 amd64
VHDL compiler/simulator (mcode backend) |
Unfortunately the possibility of using GHDL over Docker is not even mentioned in the README, nor in the Documentation. I propose to add a Docker Hub badge to the README and some examples to the documentation. For example, i did not know it works in Windows 10 - useful example for sure.
IMHO the killer feature is that once you get it working, it stays working - which, debatably, is worth the small set-up overhead. |
No, it is not. That's a quite opinionated but deliberate decission. I was the one who contributed adding docker images to the project, and I keep them up to date. Unfortunately, I have not had time to write a decent 'Docker premier' for GHDL users, so the content is neither announced nor publicized yet. Nevertheless, the GHDL GitHub organization contains two repos only. One of them is this, and the other one is named Please, feel free to open any specific issue/PR, such as suggesting the addition of a badge to the README and/or the docs. Moreover, we might add USE_CASES to ghdl.readthedocs.io. I have not done so because I feel that the content is only useful to users who already have an intermediate to high knowledge of how containers work, and it might be frustrating for users with a 'more traditional' approach. Related to this, you might have a look at #506. In the demo (see the docker badge in the footer) there is some content related to docker: https://1138-4eb.github.io/ghdl/guides/docker/. Once again, feel free to propose/contribute any enhancement to the README and/or Docs, based on the information you find there.
As a matter of fact, I do most of my development on Win10, but all the tools I use are for GNU/Linux. I normally start a Another interesting approach is using Visual Studio Code, which allows to open/attach the terminal to docker containers. In the near future, it will also be possible to open a directory inside the container: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack EDIT BTW, I just saw that you are working on https://github.com/gasparka/qttest. I think you should have a look at https://github.com/mviereck/x11docker. It is a single bash script that might help you set up GPU support in docker. |
Discussion in ghdl#166 * Docker badge * Two links to ghdl/docker, with minor rewording - feel free to reword again :)
@1138-4eb I very much like the "USE_CASES" page, definitely a good addition to ghd.readthedocks.io. Maybe it could be a separate chapter under 'GHDL usage' ? I think it is appropriate if you PR it. Thanks for the x11docker hint, i will check it out - but it already looks like Nvidia + OpenGL will be trouble no matter what. |
Thanks.
I'll try to add it ASAP. But it won't be before july.
Actually, I did run some tests last week. You can use hardware acceleration with NVIDIA GPUs inside docker containers on Win10 as long as you use Cygwin/X (Xwin). See mviereck/x11docker#148 (comment) |
Discussion in #166 * Docker badge * Two links to ghdl/docker, with minor rewording - feel free to reword again :)
The files replaced. this has worked for me: wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gnat-4.8/libgnat-4.8_4.8.2-8ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gnat-4.8/gnat-4.8-base_4.8.2-8ubuntu3_amd64.deb
sudo dpkg --install gnat-4.8-base_4.8.2-8ubuntu3_amd64.deb
sudo dpkg --install libgnat-4.8_4.8.2-8ubuntu3_amd64.deb |
On Ubuntu 16, executing any Pre-Release results:
./ghdl: error while loading shared libraries: libgnat-4.6.so.1: cannot open shared object file: No such file or directory
Basically there is a need to run
sudo apt install libgnat-4.6
, Ubuntu 16 has no such package (12 and 14 have it).Fix:
The text was updated successfully, but these errors were encountered: