Como instalar lfreetype usando vinho?

6

Estou usando o Ubuntu 11.10 64bit e tentando instalar o wine 1.5, usando este método:

Instale o Wine no Ubuntu:

sudo apt-get install libfreetype6-dev gobject* libxrender-dev libfontconfig-dev pthread* libpthread-stubs0-dev xext* libsm-dev

e copie os seguintes comandos no terminal:

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

Instale alguns pacotes:

sudo apt-get install flex bison qt3-dev-tools qt4-qmake
./configure
cd tools
./wineinstall

Tudo corre bem, mas no final, recebo esta mensagem de erro:

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.

Alguém sabe como instalar o lfreetype?

    
por pst007x 20.03.2012 / 09:56

10 respostas

3

Reverta o seguinte patch da sua árvore de fontes e compile novamente:

From a37f74f5adec8cd3f924fc96e083a66219086091 Mon Sep 17 00:00:00 2001
From: Nicolas Le Cam <[email protected]>
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=
@@ -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
    
por folk 16.04.2012 / 09:53
5

Chegue ao diretório em que você extraiu os arquivos para o vinho.

No terminal, execute este comando:

./configure --without-freetype

Depois de terminar, execute:

make
    
por shateldo 05.10.2012 / 03:20
2

Ele se queixa de falta do pacote de 32bit dev de freetype.
Você pode tentar instalá-lo com sudo apt-get install libfreetype6-dev:i386 e ver se o aviso foi eliminado.

    
por yossile 20.03.2012 / 10:09
2

Para configurar o vinho na máquina de 64 bits, você deve fazer:

./configure --enable-win64

Se você realmente deseja compilar o vinho de 32 bits em uma máquina de 64 bits, então acho que a maneira mais fácil é usar o contêiner lxc, já que o Ubuntu dificulta a construção de um vinho de 32 bits porque o sistema de 64 bits não vem com um conjunto completo de bibliotecas de desenvolvimento de 32 bits (Veja: Bug # 990982 ).

Portanto, a abordagem básica para compilar vinhos de 32 e 64 bits é:

  1. Construa um vinho de 64 bits
  2. Construir ferramentas de 32 bits em lxc
  3. Crie um vinho de 32 bits em lxc, referindo-se ao vinho de 64 bits e às ferramentas de 32 bits 1. criadas nas etapas anteriores
  4. Instale o vinho de 32 bits
  5. Instale o vinho de 64 bits

Na página Construindo o Vinho Biarch (WoW64 Compartilhado) No Ubuntu , podemos ler as seguintes instruções:

  1. Instale os pré-requisitos de 64 bits:

    sudo apt-get update
    sudo apt-get build-dep wine
    
  2. Construa um vinho de 64 bits:

    mkdir $HOME/wine64
    cd $HOME/wine64
    ../wine-git/configure --enable-win64
    make -j4
    
  3. Instale o lxc:

    sudo apt-get install lxc
    
  4. Crie um contêiner de 32 bits chamado "my32bitbox" usando o Ubuntu template e ligar o seu diretório home ao diretório / home no contêiner:

    sudo lxc-create -t ubuntu -n my32bitbox -- --bindhome $LOGNAME -a i386
    
  5. Copie a configuração apt do host para o contêiner lxc:

    sudo cp -R /etc/apt /var/lib/lxc/my32bitbox/rootfs/etc
    
  6. Inicie o contêiner; no prompt de login do console dá-lhe, log com seu nome de usuário e senha.

    sudo lxc-start -n my32bitbox
    
  7. Agora você está dentro do contêiner, no seu diretório pessoal real. Se vocês não estão no contêiner (você não tem o prompt username @ my32bitbox), abra um novo terminal e:

    sudo lxc-attach -n my32bitbox
    login yourusername+password
    
  8. Agora você está no contêiner. Faça uma construção fora da árvore do Wine como normal, só para pegar as ferramentas. Você terá que instalar todo o necessário pré-requisitos primeiro. Por exemplo:

    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
    
  9. Ainda dentro do contêiner, faça isso de novo, desta vez apontando para o Criação de 64 bits para dados e ferramentas de 32 bits criadas para ferramentas:

    mkdir $HOME/wine32
    cd $HOME/wine32
    ~/wine-git/configure --with-wine64=$HOME/wine64 --with-wine-tools=$HOME/wine32-tools
    make -j4
    
  10. Ainda dentro do contêiner, instale o vinho de 32 bits para forçar o último pequeno prédio:

    cd $HOME/wine32
    sudo make install
    
  11. Ainda dentro do contêiner, desligue-o:

    sudo shutdown -h now
    

    Isso leva você de volta à sua máquina real. Em seguida, você precisa remova todos os pacotes de vinho existentes. Você pode fazer isso a partir do comando linha, mas é provavelmente mais fácil com o aptitude ou uma das GUI ferramentas de gerenciamento de pacotes. Você vai precisar de vinho mono, vinho-gecko e opcionalmente winetricks para sua versão compilada do vinho. Contudo, estas embalagens podem depender da instalação existente de vinho que pode forçá-lo a removê-los.

  12. Instale o vinho recém-construído em sua máquina real:

    cd $HOME/wine32
    sudo make install
    cd $HOME/wine64
    sudo make install
    

    Aviso: Quando você instala uma versão do Wine compilada localmente, sistema de gerenciamento de pacotes não saberá que existe, pois não vem de um pacote. Assim, é possível quebrar mais tarde dependências ou instalar uma versão conflitante do vinho sem aviso das ferramentas de gerenciamento de pacotes. Você pode evitar isso criando um pacote ou bloqueando pacotes conflitantes com apt-pinning definindo "Pin-Priority: -1" para os pacotes.

  13. Em seguida, instale Mono, Gecko e, opcionalmente, winetricks se você tivesse que  remova seus pacotes por causa de uma dependência em um vinho conflitante  pacote.

Nota: Muitos dos comandos acima requerem privilégios de root. Sua conta de usuário precisa ter acesso ao root via sudo ou você precisa mudar para uma conta de usuário.

    
por kenorb 14.06.2015 / 14:51
1
PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig ./configure

Tente configurar com essa linha. Pode ser sua tentativa de compilar em um sistema de 64 bits um vinho de 32 bits e você descobrirá que o configure às vezes verifica no lugar errado para as libs.

    
por Aaron 20.05.2012 / 12:38
1

Linux

O problema é que o Ubuntu pkg-config não vê seus arquivos de desenvolvimento FreeType de 32 bits.

  • Para verificar se esse é o caso, você pode verificar com o seguinte comando:

    pkg-config --cflags --libs freetype2
    

    Você deve ter o erro, que o pkg-config não pode encontrar este pacote.

    Nota: Se você não tiver o pkg-config, instale-o via sudo apt-get install pkg-config

  • Em seguida, verifique se seu freetype foi instalado corretamente e onde.

    $ dpkg -l | grep freetype        
    $ sudo updatedb && locate freetype2
    
  • Tente reinstalá-lo, apenas no caso:

    sudo apt-get update && sudo apt-get install libfreetype6-dev --reinstall
    
  • Se ainda assim não funcionar, encontre seu arquivo pc no seu pacote freetype:

    dpkg -L libfreetype6 libfreetype6-dev | grep pc$
    

    ou em qualquer outro lugar:

    sudo updatedb && locate freetype2.pc
    

    e certifique-se de que este arquivo esteja ligado dentro do seu diretório pkgconfig ( locate pkgconfig ):

    ln -s YOUR_FOUND_PATH/freetype2.pc /usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc
    

    Nota: Substitua YOUR_FOUND_PATH pelo seu caminho completo do arquivo freetype2.pc.

  • Se você não encontrar seu arquivo pc, por favor crie um dentro do seu diretório pkc_config (como 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}
    
  • Se o seu problema ainda não estiver resolvido (ou estiver relacionado a outra coisa), por favor, depure seu script ./configure no shell:

    $ sh -x ./configure
    

    E encontre o local do seu problema (por exemplo, qual comando pkg-config é executado para verificar a existência do pacote específico).

Mac

Se você tiver um problema semelhante no Mac e encontrar este tópico, use homebrew para instalar seu pacote freetype:

sudo brew install freetype

Se você ainda tiver o problema, verifique este bug: link

    
por kenorb 16.01.2013 / 12:14
1

Basta instalar o padrão libfreetype6-dev e libfreetype6: i386 , e criar um link para a biblioteca.

sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/i386-linux-gnu/libfreetype.so

Por um motivo desconhecido em um dos meus PCs, tive um problema quando o configure contou um erro em libfreetype6 , mas na verdade era libz e libpng . De qualquer forma, você pode resolver o problema da mesma maneira

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

Uma maneira geral de resolver problemas semelhantes: abra o arquivo config.log , vá para o final e procure na direção superior uma palavra error . Você encontrará um código que foi usado para testar a presença de uma biblioteca ou cabeçalhos. Basta copiar a função main com includes em um arquivo separado; Em seguida, procure acima do código o comando que foi usado para compilar. Seria algo parecido com

gcc -m32 -o conftest -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0   conftest.c  >&5

Remova a parte >&5 , escreva em vez do nome conftest.c do seu arquivo de teste (ao qual você acabou de copiar o código) , e tente compilar com este comando - você verá um muito mais mensagens de erro úteis. Esse é basicamente o caso de teste mínimo e, uma vez resolvido, o problema também é resolvido.

Dicas para possíveis erros:

  • Cabeçalhos ausentes - vá para packages.ubuntu.com e procure o nome do cabeçalho para encontrar um pacote que está faltando
  • Bibliotecas ausentes - instale a biblioteca com -dev postfix e, se não funcionar, com :i386 . Se não funcionou novamente, como no caso do libfreetype , vá com a solução que foi escrita acima - ou seja, criar links simbólicos manualmente.
por Hi-Angel 07.09.2015 / 20:48
0

bem, em vez disso você sudo o que é melhor, basta ir ao centro de software do Ubuntu e obter o que você quer, vem tudo em um, então você não precisa usá-los, basta clicar em uma coisa e tudo vem em um pacote, pronto para ser usado ...

    
por Azul Mascara 15.05.2012 / 16:47
0
ln -s /usr/include/freetype2/freetype /usr/include
    
por Tohin 21.06.2012 / 10:08
0

Eu instalei o freetype do link de origem com

./configure --without-png 
make 
sudo make install
    
por Philippe Gachoud 13.12.2013 / 16:51

Tags