Я пытаюсь установить lablgtk
следующим образом:
opam install lablgtk
Это дает мне следующую ошибку:
┌─ The following actions failed
│ λ build lablgtk 2.18.11
└─
╶─ No changes have been performed
<><> lablgtk.2.18.11 troubleshooting ><><><><><><><><><><><><><><><><><><><><><>
=> This package requires gtk+ 2.0 development packages installed on your system
The packages you requested declare the following system dependencies. Please
make sure they are installed before retrying:
libexpat1-dev libgtk2.0-dev
Я пробовал это:
sudo apt-get install -y libgtk2.0-dev
но он говорит, что
libgtk2.0-dev уже является последней версией (2.24.32-1ubuntu1).
То же самое происходит для:
sudo apt-get install -y libexpat1-dev
где я получаю libexpat1-dev уже является новейшей версией (2.2.5-3ubuntu0.2).
Я пробовал обе на Ubuntu 18.04LTS и 20.04LTS . Есть предложения, какое может быть решение?
Полный вывод:
∗ install lablgtk 2.18.11
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[lablgtk.2.18.11] found in cache
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of lablgtk failed at
"/home/user/.opam/opam-init/hooks/sandbox.sh build ./configure
--prefix /home/user/.opam/default
LABLGLDIR=/home/user/.opam/default/lib/lablgl".
#=== ERROR while compiling lablgtk.2.18.11 ====================================#
# context 2.0.7 | linux/x86_64 | | https://opam.ocaml.org#87778c51
# path ~/.opam/default/.opam-switch/build/lablgtk.2.18.11
# command ~/.opam/opam-init/hooks/sandbox.sh build ./configure --prefix /home/user/.opam/default LABLGLDIR=/home/user/.opam/default/lib/lablgl
# exit-code 1
# env-file ~/.opam/log/lablgtk-32104-d0f245.env
# output-file ~/.opam/log/lablgtk-32104-d0f245.out
### output ###
# [...]
# checking whether C compiler accepts -fno-unwind-tables... yes
# checking platform... Unix
# checking native dynlink... checking for pkg-config... /home/linuxbrew/.linuxbrew/bin/pkg-config
# checking for GTK+ - version >= 2.0.0... Package gtk+-2.0 was not found in the pkg-config search path.
# Perhaps you should add the directory containing `gtk+-2.0.pc'
# to the PKG_CONFIG_PATH environment variable
# No package 'gtk+-2.0' found
# no
# *** Could not run GTK+ test program, checking why...
# *** The test program failed to compile or link. See the file config.log for the
# *** exact error that occured. This usually means GTK+ is incorrectly installed.
# configure: error: GTK+ is required
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build lablgtk 2.18.11
└─
╶─ No changes have been performed
<><> lablgtk.2.18.11 troubleshooting ><><><><><><><><><><><><><><><><><><><><><>
=> This package requires gtk+ 2.0 development packages installed on your system
The packages you requested declare the following system dependencies. Please
make sure they are installed before retrying:
libexpat1-dev libgtk2.0-dev
какой opam
дает / usr / local / bin / opam
и , который ocaml
дает /home/linuxbrew/.linuxbrew/bin/ocaml
Я вижу, что вы используете LinuxBrew для установки программ на Ubuntu. Это может быть хорошо для других вещей, но в данном случае это приводит к непредсказуемым и невоспроизводимым результатам.
Поэтому я бы рекомендовал удалить OPAM и OCaML, которые были установлены с помощью LinuxBrew, а затем установить все это с помощью deb-пакетов из официальных репозиториев.
brew uninstall ocaml-findlib
brew uninstall ocaml
brew uninstall opam
brew uninstall gcc
brew uninstall gcc@5
rm -rf ~/.opam
sudo rm -v /usr/local/bin/opam
Затем для установки ProVerif мы можем следовать PKGBUILD из ArchLinux.
sudo apt install -y graphviz ocaml-nox liblablgtk2-ocaml-dev
cd ~/Downloads
wget http://prosecco.gforge.inria.fr/personal/bblanche/proverif/proverif2.02pl1.tar.gz
tar -xf proverif2.02pl1.tar.gz
cd proverif2.02pl1/
./build
# optionally run tests
#./test all
#./test-type all
# and install binaries
sudo install -Dm755 proverif /usr/local/bin/proverif
sudo install -Dm755 proveriftotex /usr/local/bin/proveriftotex
sudo install -Dm755 proverif_interact /usr/local/bin/proverif_interact
А затем вызывать исполняемые файлы из любого места как proverif
, proveriftotex
или proverif_interact
.