Я использую Ubuntu 11.10 64bit и пытаюсь установить Wine 1.5, используя этот метод:
Установите Wine в Ubuntu:
sudo apt-get install libfreetype6-dev gobject* libxrender-dev libfontconfig-dev pthread* libpthread-stubs0-dev xext* libsm-dev
и скопируйте следующие команды в Терминале: [ 116]
wget http://prdownloads.sourceforge.net/wine/wine-1.5.0.tar.bz2
tar -xjvf wine-1.5.0.tar.bz2
cd wine-1.5.0
Установите несколько пакетов:
sudo apt-get install flex bison qt3-dev-tools qt4-qmake
./configure
cd tools
./wineinstall
Все идет хорошо, но в конце я получаю это сообщение об ошибке:
checking for -lfreetype... not found
configure: error: FreeType 32-bit development files not found. Fonts will not be built.
Use the --without-freetype option if you really want this.
Кто-нибудь знает, как установить lfreetype?
Перейдите в каталог, в который вы распаковали файлы для вина.
В терминале выполните эту команду:
./configure --without-freetype
Затем, после того, как все будет сделано, выполните:
make
Верните следующий патч из вашего исходного дерева и скомпилируйте снова:
From a37f74f5adec8cd3f924fc96e083a66219086091 Mon Sep 17 00:00:00 2001
From: Nicolas Le Cam <niko.lecam@gmail.com>
Date: Sat, 7 Apr 2012 22:46:58 +0200
Subject: [PATCH] configure.ac: Prefer pkg-config over freetype-config.
---
configure | 16 +++++++++++-----
configure.ac | 14 ++++++++++----
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/configure b/configure
index 3e6e777..5b0dcba 100755
--- a/configure
+++ b/configure
@@ -10262,7 +10262,12 @@ fi
if test "x$with_freetype" != "xno"
then
- for ac_prog in freetype-config freetype2-config
+ if test "$PKG_CONFIG" != "false"
+ then
+ ac_freetype_incl="`$PKG_CONFIG --cflags freetype2 2>/dev/null`"
+ ac_freetype_libs="`$PKG_CONFIG --libs freetype2 2>/dev/null`"
+ else
+ for ac_prog in freetype-config freetype2-config
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@@ -10305,10 +10310,11 @@ fi
done
test -n "$ft_devel" || ft_devel="no"
- if test "$ft_devel" != "no"
- then
- ac_freetype_incl=`$ft_devel --cflags`
- ac_freetype_libs=`$ft_devel --libs`
+ if test "$ft_devel" != "no"
+ then
+ ac_freetype_incl=`$ft_devel --cflags`
+ ac_freetype_libs=`$ft_devel --libs`
+ fi
fi
ac_freetype_libs=${ac_freetype_libs:-"-lfreetype"}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -lfreetype" >&5
diff --git a/configure.ac b/configure.ac
index 667d725..a57f133 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1384,11 +1384,17 @@ WINE_NOTICE_WITH(cms,[test "$ac_cv_lib_lcms_cmsOpenProfileFromFile" != "yes"],
dnl **** Check for FreeType 2 ****
if test "x$with_freetype" != "xno"
then
- AC_CHECK_PROGS(ft_devel,[freetype-config freetype2-config],no)
- if test "$ft_devel" != "no"
+ if test "$PKG_CONFIG" != "false"
then
- ac_freetype_incl=`$ft_devel --cflags`
- ac_freetype_libs=`$ft_devel --libs`
+ ac_freetype_incl="`$PKG_CONFIG --cflags freetype2 2>/dev/null`"
+ ac_freetype_libs="`$PKG_CONFIG --libs freetype2 2>/dev/null`"
+ else
+ AC_CHECK_PROGS(ft_devel,[freetype-config freetype2-config],no)
+ if test "$ft_devel" != "no"
+ then
+ ac_freetype_incl=`$ft_devel --cflags`
+ ac_freetype_libs=`$ft_devel --libs`
+ fi
fi
ac_freetype_libs=${ac_freetype_libs:-"-lfreetype"}
WINE_CHECK_SONAME(freetype,FT_Init_FreeType,[ft_lib=yes],[ft_lib=no],[$ac_freetype_libs])
--
2.1.4
Он жалуется на то, что пропустил 32-разрядную версию пакета freetype.
Вы можете попробовать установить его с помощью sudo apt-get install libfreetype6-dev:i386
и посмотреть, исчезло ли предупреждение.
Проблема состоит в том, что pkg-конфигурация Ubuntu не видит Ваш FreeType 32-разрядные файлы для разработчика.
Чтобы проверить, что дело обстоит так, можно проверить его следующей командой:
pkg-config --cflags --libs freetype2
У Вас должна быть ошибка, та pkg-конфигурация не может найти этот пакет.
Примечание: Если у Вас нет pkg-конфигурации, установите ее через sudo apt-get install pkg-config
Затем проверьте, был ли Ваш freetype установлен правильно и где.
$ dpkg -l | grep freetype
$ sudo updatedb && locate freetype2
Попытайтесь переустановить его на всякий случай:
sudo apt-get update && sudo apt-get install libfreetype6-dev --reinstall
Если все еще не работает, найдите свой файл ПК в Вашем freetype пакете:
dpkg -L libfreetype6 libfreetype6-dev | grep pc$
или где-либо еще:
sudo updatedb && locate freetype2.pc
и удостоверьтесь, что этот файл соединен в Вашем pkgconfig каталоге (locate pkgconfig
):
ln -s YOUR_FOUND_PATH/freetype2.pc /usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc
Примечание: Замените YOUR_FOUND_PATH своим полным путем freetype2.pc файла.
Если Вы не можете найти свой файл ПК, создайте одну внутреннюю часть Ваш pkc_config dir (как freetype2.pc):
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include
Name: FreeType 2
Description: A free, high-quality, and portable font engine.
Version: 14.0.8
Requires:
Libs: -L${libdir} -lfreetype
Libs.private: -lz
Cflags: -I${includedir}/freetype2 -I${includedir}
Если Ваша проблема все еще не решена (или она связана с чем-то еще), отладьте свои./настраиваем сценариев в оболочке:
$ sh -x ./configure
И найдите место своей проблемы (например, которые pkg-конфигурируются, команда выполняется для проверки существования определенного пакета).
Если у Вас есть подобная проблема на Mac, и Вы нашли эту тему, используйте домашнее пиво для установки freetype пакета:
sudo brew install freetype
Если у Вас все еще есть проблема, проверьте эту ошибку: https://github.com/mxcl/homebrew/issues/14550
ну, вместо этого, вы делаете то, что вам лучше, вы просто идете в центр программного обеспечения Ubuntu и получаете то, что вы хотите, все в одном, так что вам не нужно их судить, просто нажмите одну вещь, и все будет в пакете, готов к использованию ...
PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig ./configure
Попробуйте настроить с этой линией. Возможно, вы пытаетесь скомпилировать в 64-битной системе 32-битное вино, и вы обнаружите, что configure иногда проверяет неверные места для библиотек.
Просто установите по умолчанию libfreetype6-dev и libfreetype6: i386 , затем создайте ссылку на библиотеку.
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/i386-linux-gnu/libfreetype.so
По неизвестной причине на одном из моих компьютеров у меня была проблема, когда конфигурация сообщила об ошибке в libfreetype6 , но на самом деле это была libz и libpng . В любом случае, вы можете решить проблему таким же образом
sudo apt-get install libpng12-0-dev libpng12-0:i386 zlib1g-dev zlib1g:i386
sudo ln -s /usr/lib/i386-linux-gnu/libpng12.so.0 /usr/lib/i386-linux-gnu/libpng12.so
sudo ln -s /usr/lib/i386-linux-gnu/libz.so.1.2.8 /usr/lib/i386-linux-gnu/libz.so
Общий способ для решения одинаковых проблем: открыть файл config.log
, перейти к концу и выполнить поиск в верхнем Направить слово error
. Вы найдете код, который использовался для проверки наличия библиотеки или заголовков. Просто скопируйте функцию main с помощью , включая , в отдельный файл; Далее ищите над кодом команду, которая использовалась для компиляции. Это будет выглядеть примерно так:
gcc -m32 -o conftest -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 conftest.c >&5
Удалите часть >&5
, запишите вместо conftest.c
имя вашего тестового файла (в который вы только что скопировали код) и попробуйте скомпилировать с помощью этой команды - вы увидите гораздо более полезные сообщения об ошибках. Это в основном минимальный тестовый пример, и как только он решен, проблема также решена.
Советы по возможным ошибкам:
-dev
, затем, если он не работал, с :i386
. Если это не сработало снова, как в случае с libfreetype , то воспользуйтесь решением, которое написано выше - то есть создайте символические ссылки вручную. ln -s /usr/include/freetype2/freetype /usr/include
Чтобы настроить wine на 64-битной машине, вы должны сделать:
./configure --enable-win64
Если вы действительно хотите скомпилировать 32-битную версию Wine на 64-битной машине, то я думаю, что самый простой способ использовать контейнер lxc, так как Ubuntu усложняет сборку 32-битного вина, поскольку 64-битная система не поставляется с полным набором 32-битных библиотек разработки (см. Ошибка № 990982 ). 1137]
Итак, основной подход для компиляции как 32-битного, так и 64-битного вина:
На странице Создание Biarch (Shared WoW64) Wine На Ubuntu мы можем прочитать следующие инструкции:
Установить 64-битные предпосылки:
sudo apt-get update
sudo apt-get build-dep wine
Сборка 64-битного вина:
mkdir $HOME/wine64
cd $HOME/wine64
../wine-git/configure --enable-win64
make -j4
Установить lxc:
sudo apt-get install lxc
Создайте 32-битный контейнер с именем «my32bitbox», используя шаблон Ubuntu, и привяжите свой домашний каталог к каталогу / home в контейнере:
sudo lxc-create -t ubuntu -n my32bitbox -- --bindhome $LOGNAME -a i386
sudo cp -R /etc/apt /var/lib/lxc/my32bitbox/rootfs/etc
Запустите контейнер; при появлении запроса на вход в консоль войдите под своим именем пользователя и паролем.
sudo lxc-start -n my32bitbox
Теперь вы внутри контейнера, в вашем реальном домашнем каталоге. Если вы не находитесь в контейнере (у вас нет приглашения username @ my32bitbox), откройте новый терминал и:
sudo lxc-attach -n my32bitbox
login yourusername+password
Теперь вы находитесь в контейнере. Сделайте сборку Wine из дерева как обычно, просто чтобы получить инструменты. Сначала вам нужно будет установить все необходимые компоненты. Например:
sudo apt-get update
sudo apt-get install python-software-properties git-core
sudo apt-get build-dep wine
mkdir $HOME/wine32-tools
cd $HOME/wine32-tools
~/wine-git/configure
make -j4
Все еще внутри контейнера, сделайте это снова, на этот раз, указывая на 64-битную сборку для данных и 32-битную сборку инструментов для инструментов: [ 1148]
mkdir $HOME/wine32
cd $HOME/wine32
~/wine-git/configure --with-wine64=$HOME/wine64 --with-wine-tools=$HOME/wine32-tools
make -j4
Все еще внутри контейнера, установите 32-битное вино, чтобы заставить последний маленький кусочек здания:
cd $HOME/wine32
sudo make install
Пока все еще в контейнере, закройте его:
sudo shutdown -h now
Это вернет вас обратно в вашу реальную машину. Далее вам нужно удалить все существующие пакеты Wine. Вы можете сделать это из командной строки, но это, вероятно, проще с aptitude или одним из инструментов управления пакетами GUI. Вам понадобится wine-mono, wine-gecko и, возможно, winetricks для вашей скомпилированной версии вина. Однако эти пакеты могут зависеть от существующей установки вина, что может заставить вас удалить их.
Установите только что созданное Wine на вашу реальную машину:
cd $HOME/wine32
sudo make install
cd $HOME/wine64
sudo make install
Предупреждение. Когда вы устанавливаете локально собранную версию Wine, система управления пакетами не будет знать, что она существует, поскольку приходят из пакета. Таким образом, можно позже нарушить его зависимости или установить конфликтующую версию wine без предупреждения от инструментов управления пакетами. Вы можете предотвратить это, создав пакет или заблокировав конфликтующие пакеты с помощью apt-pinning, установив «Pin-Priority: -1» для пакетов.
Примечание. Многие из вышеперечисленных команд требуют привилегий root. У вашей учетной записи пользователя должен быть доступ к root через sudo
или вам нужно переключиться на учетную запись пользователя.
Я установил freetype из источника http://sourceforge.net/projects/freetype/files/ с помощью
./configure --without-png
make
sudo make install