Konfiguracija QT-a

Danas sam primjetio “malu” anomaliju, ali fakat jaaako čudnu:

Ne mogu naštimati env varijablu $QTDIR (SuSE 8.2 Professional), ne bih ni primjetio da nisam pokrenuo make na Makefile-u koji je napravio qmake. Otvorim fino Makefile, vidim da koristi $QTDIR, reko ništa lakše sad ćemo to naštimati i onda jedno veliko NIŠTA

Imam nešto ovako u ~/.profile (probavao sam i sa /etc/profile i /etc/profile.local):

QTDIR=/usr/lib/qt3

export QTDIR

Čim promijenim string QTDIR u nešto drugo gore navedeni kod radi.
Znači radi ovako nešto:

BEZVEZE_STRING=/usr/lib/qt3

export BEZVEZE_STRING

Što je još i zanimljivije radi i jednostavno komanda iz shella (otkucam uživo):

$ > export QTDIR=/usr/lib/qt3
$ > echo $QTDIR
/usr/lib/qt3

i onda se sve fino ponaša.

Da se još više zakomplikuje situacija radi i ovo (u ~/.profile):

QTDIR=/usr/lib/qt3
PATH=QTDIR/bin:$PATH
export QTDIR PATH
$ > echo $PATH
/usr/lib/qt3/bin: : itd : itd
$ >

Sve su biblioteke instalirane, uspio sam kompajlirati par QT projekata iz KDevelopa (koji sam podesi potrebne varijable), uspijevam kompajlirati QT projekte i iz komandne linije (nakon jednog export QTDIR=…)

Ima li ko kakvu ideju?

Da se pokusamo ispetljati iz ove tvoje zabune: ako radi kod 4 mora da radi i kod 1.
Vjerovatno si se zaboravio odlogovati pa ponovo prijaviti u prvom slucaju, jer to mora raditi. Isprobano.

Poz,

Ma odlogiram se ja, i znam da fakat MORA da radi (nisam baš toliko lud). Ali jednostavno ne radi. Ko ne vjeruje nudim mašinu na inspekciju. (ali mislim da nije potrebno, jer kao što kažem čim zamijenim string QTDIR sa OVAKO_NECIM_BEZVEZE, odlogiram se i echo $OVAKO_NESTO_BEZVEZE radi, zamijenim OVAKO_NESTO_BEZVEZE sa QTDIR, ponovim proceduru, echo $QTDIR i nista, pjazan pjostoj :o)

OK, “suzio” sam problem :o)

Xterm, KDE Konsole i GNOME Terminal prave probleme. Varijablu $QTDIR vidim iz virtuelne konzole

Da li iko može reproducirati grešku?

[quote]Xterm, KDE Konsole i GNOME Terminal prave probleme. Varijablu $QTDIR vidim iz virtuelne konzole

Da li iko može reproducirati grešku?[/quote]

Razlika izmedju virtuelnog terminala i XTerm-a je u osnovi sto prvi pokrece login shell, dok drugi pokrece obicni interaktivni shell. Sve profile datoteke citaju se samo za login shellove. Prema tome, kada se logujes na virtuelnom terminalu, citaju se /etc/profile i ~/.bash_profile. Sa druge strane, kada pokrenes neki XTerminal, on pokrene interaktivni shell, za koji se pomenute datoteke ne citaju.

Rjesenje tvog problema bilo bi da svoju varijablu definises i eksportujes u ~/.bashrc ili /etc/bashrc, koji se citaju za oba navedena tipa shellova.

Jedan malehni primjer koji ovo ilustruje:

Za obicni interaktivni bash:



$ strace -e open bash 2>&1 | egrep 'profile|bashrc'

Za login bash:



$ strace -e open bash -login 2>&1 | egrep 'profile|bashrc'

Valjda je ovo :slight_smile: