# installazione qsa problemi

## 102376

ciao a tutti, sto cercando di installare qsa da portage, ma anche se lo smaschero la versione 1.1.5 è ancora troppo vecchia. (questa va bene solo per qt3)

a  me serve la versione 1.2 o superiore. allora l'ho scaricata dal sito . ma quando tento di installarla mi da un sacco di problemi.

il configure di qsa richiede la VAR $QTDIR. questa è settata in gentoo come /usr/qt/3 dove al suo interno c'è 

```
bin  etc  include  lib  lib32  lib64  mkspecs  plugins  tools  translations
```

pero' non esiste qualcosa di simile per le qt4. ogni cartella al suo interno viene messa in cartelle diverse.

es /usr/include/qt4

l'errore che mi da quando tento d installare è :

```
Using Qt library in /usr/qt/3.

Building 2nd stage configure

main.cpp:26:30: error: qcoreapplication.h: No such file or directory

main.cpp: In function 'void dumpMessages()':

main.cpp:34: error: 'QLatin1String' was not declared in this scope

main.cpp:34: error: 'qPrintable' was not declared in this scope

main.cpp: In function 'int main(int, char**)':

main.cpp:50: error: 'QCoreApplication' was not declared in this scope

main.cpp:50: error: expected `;' before 'qapp'

main.cpp:63: error: 'qapp' was not declared in this scope

main.cpp:70: error: conversion from 'QValueListIterator<QString>' to non-scalar type 'QString' requested

main.cpp:71: error: 'QLatin1String' was not declared in this scope

main.cpp:73: error: 'QLatin1String' was not declared in this scope

main.cpp:77: error: no matching function for call to 'QString::QString(QValueListIterator<QString>)'

/usr/qt/3/include/qstring.h:746: note: candidates are: QString::QString(QStringData*, bool)

/usr/qt/3/include/qstring.h:720: note:                 QString::QString(int, bool)

/usr/qt/3/include/qstring.h:409: note:                 QString::QString(const std::string&)

/usr/qt/3/include/qstring.h:406: note:                 QString::QString(const char*)

/usr/qt/3/include/qstring.h:404: note:                 QString::QString(const QChar*, uint)

/usr/qt/3/include/qstring.h:403: note:                 QString::QString(const QByteArray&)

/usr/qt/3/include/qstring.h:402: note:                 QString::QString(const QString&)

/usr/qt/3/include/qstring.h:401: note:                 QString::QString(QChar)

/usr/qt/3/include/qstring.h:838: note:                 QString::QString()

main.cpp:100: error: 'qPrintable' was not declared in this scope

main.cpp:105: error: 'qgetenv' was not declared in this scope

main.cpp:107: error: 'qPrintable' was not declared in this scope

main.cpp:111: error: 'QLatin1String' was not declared in this scope

main.cpp: At global scope:

main.cpp:37: warning: unused parameter 'argc'

main.cpp:37: warning: unused parameter 'argv'

make: *** [.obj/release-shared-mt/main.o] Error 1
```

come risolvo non essendoci nel sul portage e qt4 le installa come li pareLast edited by 102376 on Sat Apr 07, 2007 1:53 pm; edited 1 time in total

----------

## !equilibrium

se un pacchetto non è in portage, quasi sicuramente è sul bugzilla in fase di testing: https://bugs.gentoo.org/show_bug.cgi?id=155469

prova a vedere se l'ebuild del bugzilla funziona, e in caso ci siano problemi posta direttamente sul bugzilla anzichè sul forum, così la fase di testing finisce prima e il pacchetto viene aggiunto in portage molto più velocemente.

[MOD] siccome chiedi aiuto per un pacchetto non presente in portage e/o comunque ancora in testing, il forum corretto per questo genere di cose è il forum di discussione[/MOD]

Moved from Forum italiano (Italian) to Forum di discussione italiano.

----------

## 102376

ok ti ringrazio ora guardo, scusa ma non sapevo che dovevo postare qui,

come faccio ad installare sto pacchetto da bugzilla??

c'è una guida che ci do' un occhiata

----------

## !equilibrium

 *zocram wrote:*   

> come faccio ad installare sto pacchetto da bugzilla??
> 
> c'è una guida che ci do' un occhiata

 

certo che c'è: http://gentoo-wiki.com/HOWTO_Installing_3rd_Party_Ebuilds

----------

## 102376

```

>>> Install qsa-1.2.1 into /var/tmp/portage/dev-libs/qsa-1.2.1/image/ category dev-libs

ACCESS DENIED  symlink:   /usr/lib64/qt4/libqsa.so.1.2.0

ln: creating symbolic link `libqsa.so.1.2.0': Permission denied

ACCESS DENIED  symlink:   /usr/lib64/qt4/libqsa.so.1.2

ln: creating symbolic link `libqsa.so.1.2': Permission denied

ACCESS DENIED  symlink:   /usr/lib64/qt4/libqsa.so.1

ln: creating symbolic link `libqsa.so.1': Permission denied

ACCESS DENIED  symlink:   /usr/lib64/qt4/libqsa.so

ln: creating symbolic link `libqsa.so': Permission denied

>>> Completed installing qsa-1.2.1 into /var/tmp/portage/dev-libs/qsa-1.2.1/image/

--------------------------- ACCESS VIOLATION SUMMARY ---------------------------

LOG FILE = "/var/log/sandbox/sandbox-dev-libs_-_qsa-1.2.1-11323.log"

symlink:   /usr/lib64/qt4/libqsa.so.1.2.0

symlink:   /usr/lib64/qt4/libqsa.so.1.2

symlink:   /usr/lib64/qt4/libqsa.so.1

symlink:   /usr/lib64/qt4/libqsa.so

--------------------------------------------------------------------------------

!!! This ebuild is from an overlay: '/usr/local/portage'

```

sono riuscito ad installare tutto il pacchetto da un overlay personale. ma mi da errori nell installare le lib  

quindi non ho nulla di linkato

EDIT:

----------

## !equilibrium

 *zocram wrote:*   

> sono riuscito ad installare tutto il pacchetto da un overlay personale. ma mi da errori nell installare le lib.

 

probabilmente è un errore di percorsi (invece di essere riferiti alla / del sistema vanno modificati in base al path /var/tmp/pacchetto/image/XXXX).

segnala il fatto sul bugzilla così che colui che ha scritto l'ebuild provveda a risolvere il problema.

----------

## 102376

scusa puoi spiegarti meglio non ho capito ?? magari provo a dare un occhiata all ebuild e poi casomai posto su bug zilla

```

src_install() {

        export PATH="${S}/bin:${PATH}"

        export LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}"

        #includes

        insinto ${QTHEADERDIR}

        doins src/qsa/qsaglobal.h

        doins src/qsa/qsconfig.h

        doins src/qsa/qsproject.h

        doins src/qsa/qsinterpreter.h

        doins src/qsa/qseditor.h

        doins src/qsa/qsutilfactory.h

        doins src/qsa/qswrapperfactory.h

        doins src/qsa/qsobjectfactory.h

        doins src/qsa/qsscript.h

        doins src/qsa/qsinputdialogfactory.h

        doins src/ide/qsworkbench.h

        #QSA mkspec feature

        insinto ${QTDATADIR}/mkspecs/$(qt_mkspecs_dir)

        doins src/qsa/qsa.prf

        #libs

        insinto ${QTLIBDIR}

        insopts -m0644

        doins lib/libqsa.so.1.2.1

        if use debug; then

                doins lib/libqsa_debug.so.1.2.1

        fi

        cd ${QTLIBDIR}

        ln -s libqsa.so.1.2.1 libqsa.so.1.2.0

        ln -s libqsa.so.1.2.0 libqsa.so.1.2

        ln -s libqsa.so.1.2 libqsa.so.1

        ln -s libqsa.so.1 libqsa.so

        if use debug; then

                ln -s libqsa_debug.so.1.2.1 libqsa_debug.so.1.2.0

                ln -s libqsa_debug.so.1.2.0 libqsa_debug.so.1.2

 fi

        cd ${S}

        #documentation

        if use doc; then

                dohtml -A dcf -r doc/html/*

        fi

        #examples

        if use examples; then

                insinto /usr/share/doc/${PF}

                doins -r examples

        fi

        dodoc README changes-1.2.1

```

forse non ha molto senso quel cd ${QTLIBDIR}

        ln -s libqsa.so.1.2.1 libqsa.so.1.2.0

----------

## Kernel78

Vai a segnalare su quel bug i comandi che hai dato e gli errori che hai ricevuto ...

----------

## 102376

ho segnalato il bug, ora ho incluso le  lib nel makefile dandoli il path /var/usr/portage............ 

la cosa strana è che il programma che devo compilare mi da un sacco di errori...........http://www.qphoton.org/it/

sto aiutando questo progetto.

mi da errori ovunque, invece al tipo del sito , che usa suse non da nessun problema.

è possibile che gentoo metta delle patch strane??

magari se avete voglia di provare a compilare il tutto anche a voi così capisco se è gentoo o E' LA MIA GENTOO

----------

## !equilibrium

 *zocram wrote:*   

> magari se avete voglia di provare a compilare il tutto anche a voi così capisco se è gentoo o E' LA MIA GENTOO

 

come ho gia' detto in precedenza, l'errore sta nell'ebuild.

se trovo un po di tempo vedo di sistemarlo perche' chi l'ha realizzato evidentemente non ne ha mai scritto uno in vita sua.

p.s.: per chi volesse *imparare* a scrivere un ebuild 'portage compliant' consiglio questa guida --> http://devmanual.gentoo.org/

----------

## Scen

 *!equilibrium wrote:*   

> come ho gia' detto in precedenza, l'errore sta nell'ebuild.
> 
> se trovo un po di tempo vedo di sistemarlo perche' chi l'ha realizzato evidentemente non ne ha mai scritto uno in vita sua.

 

Confermo  :Shocked:   :Shocked: 

 *!equilibrium wrote:*   

> p.s.: per chi volesse *imparare* a scrivere un ebuild 'portage compliant' consiglio questa guida --> http://devmanual.gentoo.org/

 

Oppure c'è la versione "ufficiale" e più amichevole Ebuild Howto (qui la traduzione italiana, che sto aggiornando, quella attuale è un pò da sistemare  :Confused:  )

E last but not least: leggere ed analizzare gli ebuild del Portage tree ufficiale è (nella maggior parte dei casi) una buona palestra  :Rolling Eyes: 

----------

## 102376

grazie delle info, mi saranno molto utili, visto che volevamo creare anche un  ebuild per gentoo appena il progetto è abbastanza maturo.

cmq quando parlavo di

```

magari se avete voglia di provare a compilare il tutto anche a voi così capisco se è gentoo o E' LA MIA GENTOO

```

parlavo di compilare il programma qphotn... 

UN ALTRA COSA, per ora ho risolto emergiando il pacchetto con FEATURES="-sandbox" emerge qsa.

----------

## Scen

Ciao zocram, quando avrò un pò di tempo/voglia, e se non l'avrà già fatto qualcuno, posso provare anch'io a fare un ebuild per QPhoton (conosco anche io il progetto, ho letto gli articoli su QT di Paolo Sereno su Linux&C  :Cool: .

Mi raccomando di postarlo su Bugzilla, appena ne avrete creato uno funzionante  :Wink: 

----------

## 102376

mi ero proposto io per fare l'ebuild....pero' è ancora troppo presto  allora scen chiedo a te quando ci sarà da fare l'ubuild...(io mi ero proposto visto che non l'ho mai fatto, per cogliere l'occasione d imparare qualcosa di nuovo),

 il problema è che con gentoo non si compila qphoton!!!! da errori che a paolo non vengono.

----------

## akiross

Ehm, mi mergio nella discussione iniziale  :Very Happy: 

qsa si compila e installa semplicemente con ./configure ; make (a detta dell'INSTALL al suo interno).

Visto che, se ricordo bene, gli ebuild hanno un sacco di bei comandini gia' pronti, questo ebuild dovrebbe essere triviale...

Ora devo scappare, poi appena torno vedo di finirlo seguendo le guide e usando i comandi giusti  :Very Happy: 

Ciauz

----------

## 102376

gli errori gli ho risolti!!!

ora qsa compila

cmq con le nuove qt4.3 non è + necessario

----------

## akiross

Ja, e la soluzione?  :Very Happy: 

Comunque dipende, il progetto che usa qsa di cui ho bisogno io non fa uso di qt 4.3, quindi a me serve ancora qsa XD

Io l'ebuild lo faccio comunque, per completessa :'D Poi lo metto tra i bug

----------

## 102376

si scusa hai ragione ma c'e gia l'ebuild per qsa

https://bugs.gentoo.org/show_bug.cgi?id=155469 qsa 1.2.1

----------

## 102376

 *zocram wrote:*   

> si scusa hai ragione ma c'e gia l'ebuild per qsa
> 
> https://bugs.gentoo.org/show_bug.cgi?id=155469 qsa 1.2.1

 

FEATURES="-sandbox" emerge qsa. io l'ho installato in questo modo,

ma forse l'errore e' stato risolto

----------

## akiross

Ahh ok, grazie! Che brutto pero' dover disabilitare la sandbox per un ebuild  :Very Happy: 

Grazie mille!

Ciauz

----------

## .:deadhead:.

 *zocram wrote:*   

> FEATURES="-sandbox" emerge qsa. io l'ho installato in questo modo,
> 
> ma forse l'errore e' stato risolto

 Si ma ti è una cosa porca... la sandbox garantisce che l'ebuild ed il pacchetto siano completamente parametrizzati e che tu li possa compilare ovunque e poi spostare dove e come vuoi... iauz

----------

## 102376

spiegami meglio sta cosa della sandbox

io l'ho studiata in java e come la sabbia dove giocano i bambini per intenderci, ma in gentoo come funziona???

quindi sarebbe da modificare un po' l'ebuild

----------

## akiross

Si, ieri leggevo qualcosa della sandbox:

sostanzialmente un ebuild, per evitare che un ebuild fatto male faccia danni, viene eseguito in una directory in un certo modo, la sandbox.

In questo modo se un ebuild fatto male tenta di uscire da questo ambiente, da errore di protezione (e invatti dava errore sui symlink).

Poi non ho capito bene se la sandbox e' un ambiente simulato o una directory vera e propria (magari con un controllo degli accessi), sta di fatto che alla fine di tutto - se tutto e' andato a buon fine - la sandbox viene aggiunta nel sistema e quindi il programma viene installato in sicurezza.

Per sistemare il problema dei symlink, teoricamente basterebbe usare anche i soli comandi per i symlink forniti da ebuild, credo.

EDIT:

Dettagli: http://bugday.gentoo.org/sandbox.html

----------

## .:deadhead:.

quando gentoo, dopo aver compilato un programma lo va ad installare, non lo installa direttamente sul sistema reale, col rischio che se qualcosa va storto ti ritrovi un pacchetto mezzo installato, bensì lo installa in una directory reale temporanea. Se il pacchetto è scritto bene, tutti i path dovrebbero esser relativi e parametrizzabili, così da poter installare nella finta root directory (la sandbox appunto) l'intero pacchetto.  Se anche questa procedura va a buon fine il contenuto della sandbox viene spostato direttamente nella / di sistema.

La sandbox è garanzia di qualità per un ebuild e per l'utente.

----------

