# poppler-qt4, ma senza emergere le qt

## Spiros

Sto compilando kde4 da svn. Ho compilato anche le qt4-copy dall'svn di kde, e non le ho emerse con portage.

Ora avrei bisogno di poppler-qt4 per poter far leggere i pdf a okular, ma se emergo poppler e poppler-bindings devo anche emergere le qt4, cosa che non vorrei fare. Che cosa consigliate?

----------

## Ty[L]eR

man portage

```

              package.provided

                     A list of packages (one per line) that portage should assume have been provided.  Useful for  porting  to

                     non-Linux systems.  Portage will not attempt to update a package that is listed here unless another pack-

                     age explicitly requires a version that is newer than what has been listed.  Basically, it's a  list  that

                     replaces the emerge --inject syntax.

                     For  example,  if  you  manage  your  own  copy of a 2.6 kernel, then you can tell portage that 'sys-ker-

                     nel/development-sources-2.6.7' is already taken care of and it should get off your back about it.

                     Virtual packages (virtual/*) should not be specified in package.provided.  Depending on the type of  vir-

                     tual, it may be necessary to add an entry to the virtuals file and/or add a package that satisfies a vir-

                     tual to package.provided.

                     Format:

                     - comments begin with #

                     - one DEPEND atom per line

                     - relational operators are not allowed

                     - must include a version

                     Example:

                     # you take care of the kernel

                     sys-kernel/development-sources-2.6.7

                     # you installed your own special copy of QT

                     x11-libs/qt-3.3.0

                     # you have modular X but packages want monolithic

                     x11-base/xorg-x11-6.8

```

----------

## djinnZ

mi pare che ci sia un overlay con qt-copy da cvs copiati l'ebuild in locale e modificalo per l'occorrenza, ti risparmi fatica e scocciature.

----------

## Spiros

 *Ty[L]eR wrote:*   

> man portage
> 
> ```
> 
>               package.provided
> ...

 

Ok, io ho messo in /etc/portage/packege.provided la seguente linea:

```
x11-libs/qt-4.4.0
```

Ma visto che mi chiedeva ancora di installare le qt-4.3.2-r1 ho messo anche la linea "x11-libs/qt-4.3.2-r1". Ho provato anche con qt-4.3.3 o qt-4.3.2, ma niente. Mi chiede sempre di installare quelle qt.

----------

## djinnZ

ma package.provided non era deprecato da portage 2.0qualcosa?

----------

## Spiros

Non credo, lo direbbe. Quando c'è  unfile deprecato lo dice.

Comunque non ho capito bene l'altro metodo. Dove lo trovo l'ebuild? Come devo modificarlo?

----------

## Ic3M4n

installa layman, lo configuri, con eix cerchi il pacchetto dopo aver dato un update-eix-remote e poi aggiungi l'overlay che ti serve. a questo punto puoi utilizzare tutti gli ebuild di quell'overlay.

----------

## Spiros

Scusate se persevero, ma il metodo proposto da Ty[L]eR mi piaceva proprio, perché voglio imparare ad usare bene portage.

Forse però dopo aver modificato package.provided dovevo dare un emerge --sync... Ora l'ho fatto e infatti quando chiedo di installare poppler-bindings non dice che devo installare le qt, anche se ho le flag qt3 e qt4. Ottimo. Solo che non so come fare per dare davvero al sistema le qt4, ossia dove devo metterle. Per il momento è tutto in /opt/qt-copy, e non so quali link fare. Quando portage cerca le qt4 non le trova e quindi non posso continuare con l'installazione di poppler-bindings. Qualcuno mi aiuta? Se no, semplicemente emergerò le qt4.4 di gentoo... Non è vitale avere quelle di KDE4.

Comunque l'errore è il seguente:

```

checking pkg-config is at least version 0.9.0... yes

checking for FREETYPE... yes

checking for FONTCONFIG... yes

checking for CAIRO... yes

checking for Qt headers... no

checking for Qt libraries... no

configure: error: Qt development libraries not found

See `config.log' for more details.

!!! Please attach the following file when seeking support:

!!! /var/tmp/portage/app-text/poppler-bindings-0.6.3/work/poppler-0.6.3/config.log

 

ERROR: app-text/poppler-bindings-0.6.3 failed.

Call stack:

              ebuild.sh, line   49:  Called src_compile

            environment, line 2502:  Called econf 'src_compile' 'src_compile' '--enable-opi' '--enable-cairo-output' '--disable-poppler-glib'

              ebuild.sh, line  513:  Called die

The specific snippet of code:

           die "econf failed"

The die message:

  econf failed

```

----------

## djinnZ

nell'ebuild di OOo si ricorre ad una istruzione set-kdedir per mettere nell'ambiente la collocazione delle qt. Se le qt che hai installato manualmente hanno percorsi diversi per gli header e le librerie è logico che non te le trova.

Se hai tempo e non è specificato da qualche parte usare le qt del portage è meglio visto che kde4 sarà stabilizzato rispetto a quelle certamente.

----------

## Spiros

Ma nell'ambiente c'è la variabile QTDIR=/opt/qt-copy. Inoltre ho linkato /opt/qt-copy/include in /usr/include/qt4, ma niente. Comqunque a posto, ora tolgo la linea da package.provided ed emergo qt4.

----------

## Spiros

Ok, dopo aver smanettato un po' ho installato le qt4.4.0, anche se dicevano di non farlo, ma senza KDE4 non si compilava. Comunque sembra funzionare. Non vedo l'ora che escano stabili.

Solo una cosa: le qt-copy di KDE avevano già PyQt e PyKDE dentro. Con Gentoo come faccio? Posso con portage oppure devo fare a mano?

----------

## djinnZ

 *Spiros wrote:*   

> ho installato le qt4.4.0, anche se dicevano di non farlo

   :Question:  e perchè? Qualche fesso che le prova e ci si accappotta è necessario altrimenti non si stabilizzeranno mai.  :Twisted Evil: 

 *Spiros wrote:*   

> le qt-copy di KDE avevano già PyQt e PyKDE dentro. Con Gentoo come faccio? Posso con portage oppure devo fare a mano?

 Una delle cose che apprezzo tanto in gentoo è la tendenza a non usare versioni embedded delle librerie ma riferire tutto alle librerie di sistema. Se non erro una delle due è presente con due pacchetti in portage di cui uno è riferito ad un vecchio progetto non più mantenuto, pertanto verifica la versione ed adattati a quella instabile se necessario.

----------

