У меня возникла аналогичная проблема при установке IBM Installation Manager (IBMIM) на CentOS 6.x и обошел проблему, установив несколько пакетов, которые были причиной этой идентичной ошибки:
$ sudo /opt/IBM/InstallationManager/eclipse/IBMIM \
-record /root/was8nd_v85_install.xml \
-skipInstall /tmp/was8nd
00:00.46 ERROR [main] org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory safeLogged
Application error
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4387)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:913)
at org.eclipse.swt.widgets.Display.create(Display.java:899)
at org.eclipse.swt.graphics.Device.(Device.java:156)
...
IBMIM:
An error has occurred. See the log file
/opt/IBM/InstallationManager/eclipse/configuration/1457978953529.log.
$ sudo yum install \
gtk2 \
libXtst \
gnome-desktop \
xorg-x11-xauth \
dejavu-lgc-sans-fonts
Что-то подобное могло быть сделано и на Ubuntu.
Другая проблема, которая может возникнуть, заключается в том, что вы пытаетесь запустить установщик IBMIM (на основе Eclipse) от имени пользователя root через sudo. Когда вы это сделаете, вы получите указанную выше ошибку приложения от установщика:
00:00.46 ERROR [main] org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory safeLogged
Application error
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
Чтобы обойти эту проблему, вам нужно использовать xauth add
, чтобы добавить первого пользователя, которого вы вошли в систему, как root ] Файл $ HOME / .Xauthority
.
Как user1:
$ xauth list
ip-10-10-10-10.us-west-1.compute.internal/unix:10 MIT-MAGIC-COOKIE-1 6902e8c245a01ca50XXXXXXXXXXXXXXXX
Затем как root:
$ xauth add ip-10-10-10-10.us-west-1.compute.internal/unix:10 MIT-MAGIC-COOKIE-1 6902e8c245a01ca50XXXXXXXXXXXXXXXX
xauth: creating new authority file /root/.Xauthority
$ xauth list
ip-10-10-10-10.us-west-1.compute.internal/unix:10 MIT-MAGIC-COOKIE-1 6902e8c245a01ca50XXXXXXXXXXXXXXXX
Вот метод, который я только что успешно применил в Ubuntu 18.04:
git clone https://github.com/gwsw/less.git
cd less
autoreconf -i
#установите пакет autoconf
, если вы еще этого не сделали make -f Makefile.aut dist
Это создает каталог release/less-550
, содержащий less-550.tar.gz
и less-550.zip
. Он также пытается создать подпись gpg для less-550.tar.gz
. Это зависло в моей системе, поэтому я убил процесс gpg --detach-sign...
из другого окна. Вы также можете просто убить процесс make
.
less-550.tar.gz
— это стандартный сборный архив с исходным кодом, который вы можете установить как обычно:
tar xf less-550.tar.gz
cd less-550
./configure --prefix=
некоторые -каталогидругие -опцииmake
make install
Наиболее интересные варианты для ./configure
, наверное,:
--with-regex=LIB select regular expression library
(LIB is one of
auto,none,gnu,pcre,pcre2,posix,
regcmp,re_comp,regcomp,regcomp-local) [auto]
--with-editor=PROGRAM use PROGRAM as the default editor [vi]
Запустите ./configure --help
, чтобы просмотреть полный список параметров.
Эта последовательность работает, но я не уверен, что она правильная:
git clone https://github.com/gwsw/less
cd less/
autoheader
autoconf
./configure
make -f Makefile.aut funcs.h
make
make -f Makefile.aut less.nro
make -f Makefile.aut lesskey.nro
make -f Makefile.aut lessecho.nro
make install
Как объясняется в ответе Томаса Дики , репозиторий git нуждается в подготовке, прежде чем его можно будет использовать для сборки, и один требуемый файл не может быть воссоздан с использованием предоставленных файлов.
Чтобы собрать меньше, загрузите последнюю версию архива и соберите его:
wget http://greenwoodsoftware.com/less/less-530.tar.gz
tar xf less-530.tar.gz
cd less-530
./configure && make
Однако обратите внимание, что версия 530 содержит несколько досадных ошибок, которые исправлены в репозитории git. (Возможно, поэтому пакет Debian не был обновлен.)
Кроме того, вы можете обновить пакет Debian:
sudo apt build-dep less
sudo apt install devscripts
apt source less
cd less-487
uscan
cd..
tar xf less_530.orig.tar.gz
cd less-530
cp -a../less-487/debian.
dch -v 530-0.1 "New upstream release."
dch -r ignored
debuild -uc -uc
Это создаст less_530-0.1_yourarch.deb
(, где yourarch
, вероятно, будет amd64
), который вы можете установить, используя sudo dpkg -i
. Как указывает JdeBP, это обеспечит применение исправлений Debian и использование соответствующих configure
опций; это также даст вам преимущества использования пакета вместо ручной установки.
Для gbp
таких фанатов, как я, следующий рецепт использует репозиторий git, что делает любые изменения более очевидными:
sudo apt build-dep less
sudo apt install devscripts git-buildpackage
gbp import-dsc --pristine-tar apt://less/sid
cd less
gbp import-orig --pristine-tar --uscan
dch -v 530-0.1 "New upstream release."
dch -r ignored
gbp buildpackage -us -uc --git-ignore-new
(Строго говоря, в обоих случаях следует использовать dch -n
и dch -v
или, по крайней мере, добавить «Загрузка без -сопровождающего». в список изменений, но это сложнее сделать с помощью копирования -и вставки.)
«Makefile.in»является входом для«configure» , который генерирует «Makefile» . Вам не нужно указывать «Makefile» в команде make -. Так что это должно работать лучше:
./configure
make
(хотя вы могли оставить файлы в этом каталоге, которые должны быть удалены перед повторным -запуском configure ).
При запуске из git вам не хватает файлов дистрибутива , таких как configure . Если у вас установлена подходящая версия autoconf, вам нужно будет подготовить сборку, сначала запустив
autoconf
Однако в дереве git отсутствует файл «define.h.in» — требуется дополнительная подготовка. :Ни один из файлов в git не соответствует требуемому шаблону. Вы могли бы повторно использовать соответствующий файл из выпуска tar -ball, хотя это ненадежно (, как и любой другой исходный -файл, он )изменяется. Поскольку в документации этот шаг не упоминается, отчет об ошибке разработчику может помочь.
В исправленном вопросе задается вопрос funcs.h
, который можно создать с помощью правила вMakefile.aut
(«Makefile для меньшего создания» , согласно комментарию вверху файла ).Но по состоянию на 17 сентября 2018 г. по-прежнему не существует правила созданияdefines.h.in
(использования grep для ответа на эти вопросы ).