QT 2.2.4 en 2.3.0 willen niet compileren

Pagina: 1
Acties:

  • Longbowh
  • Registratie: Januari 2000
  • Niet online
Na een dag bezig geweest te zijn met Linux From Scratch op te bouwen, en eindelijk XFree86 4.0.2 werkend te hebben lukt het me niet om QT te compileren :(

Het gaat een hele tijd goed en dan komt ie ineens met een hele lijst dingen als:

/usr/local/lib/libqt.so: undefined reference to 'XOpenDisplay'
/usr/local/lib/libqt.so: undefined reference to 'XDrawImageString16'

en daar dan zo'n 200 varianten op...

ik gebruik gcc 2.95.2, Glibc 2.2.1, XFree86 4.0.2 incl. XProg

waardoor kan dit komen?

Verwijderd

hmm, zelf glibc lopen compileren? Dat vraagt om problemen. Glibc is een beetje te essentieel. Ik zou zeggen bouw de oude glibc die LFS standaard erbij geeft. Die is goed stabiel en meer heb je echt niet nodig.

  • imdos
  • Registratie: Maart 2000
  • Laatst online: 05-08 12:09

imdos

I use FreeNAS and Ubuntu

Glibc maybe :? zoiezo heeft bijvoorbeeld kde 2.1 ook glibc 2.2!

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • Longbowh
  • Registratie: Januari 2000
  • Niet online
http://www.linuxfromscratch.org/view/cvs/ch06-glibc.html

ik heb Glibc 2.2.1 precies volgens die instructies gecompileert/geïnstalleerd en dat ging zonder problemen, dus denk niet dat het aan Glibc ligt...

  • easydisk
  • Registratie: Februari 2000
  • Laatst online: 12-08 14:26
Ik denk ook niet dat het aan glibc ligt daar de functies met X beginnen (en dus Xfree functies zullen zijn) en o.a. Xfree e.d. wel goed gecompileerd is (neem ik aan?)

Denk zelf dat het bij Xfree zit. Zelf gecompileerd en daarna alles geinstalleerd ?
Xlibs is denk ik niet geheel goed.

  • mth
  • Registratie: Mei 2000
  • Laatst online: 05-02-2025

mth

Doe eens "ldd /usr/local/lib/libqt.so". Dan kun je zien of alle libraries wel gevonden worden.

Het hoort er ongeveer zo uit te zien:
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x404bd000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x404cb000)
libm.so.6 => /usr/local/lib/libm.so.6 (0x405b2000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x405cf000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x405d8000)
libXft.so.1 => /usr/X11R6/lib/libXft.so.1 (0x405f1000)
libpng.so.2 => /usr/lib/libpng.so.2 (0x40615000)
libjpeg.so.62 => /usr/apps/lib/libjpeg.so.62 (0x40641000)
libmng.so.0 => /usr/lib/libmng.so.0 (0x4065f000)
libstdc++-libc6.1-2.so.3 => /usr/local/lib/libstdc++-libc6.1-2.so.3 (0x4068a000)
libc.so.6 => /usr/local/lib/libc.so.6 (0x406d1000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x407b3000)
libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x407b8000)
libz.so.1 => /usr/lib/libz.so.1 (0x407ed000)
/usr/local/lib/ld-linux.so.2 => /usr/local/lib/ld-linux.so.2 (0x2aaaa000)

"This is the noise that keeps me awake."


  • Longbowh
  • Registratie: Januari 2000
  • Niet online
als ik dat commando intik (tenminste... /usr/local/lib/libqt.so vervangen door /usr/local/qt/lib/libqt.so) krijg ik inderdaad zo'n lijstje, alleen wel iets korter, maar met een paar X dingen erin (LFS staat op ander systeem en niet echt veel zin om het over te typen ;))

hij zeurt iig niet over dat ie iets niet gevonden heeft, betekend dat dat het goed is of.... ? (heb niks veranderd, qt compilen wil nog steeds niet :()

  • Longbowh
  • Registratie: Januari 2000
  • Niet online
ohja, de foutmeldingen komen op het moment dat ie de dingen in /usr/local/qt/tools wil gaan compileren, tot die tijd gaat alles goed

  • easydisk
  • Registratie: Februari 2000
  • Laatst online: 12-08 14:26
Wat is het nu ?

Heb je QT al gecompileerd (ja je kan ldd uitvoeren op libqt.so) of lukt het compileren van QT zelf niet ? (zoals je in je 1ste vraag stelt.)

Ik denk dat je met ./configure een optie moet mee geven en/of de makefile moet aanpassen aan /usr/local/X11... etc i.p.v. de zeer gebruikelijke /usr/X11...

  • Longbowh
  • Registratie: Januari 2000
  • Niet online
hij compileert gedeeltelijk... libqt.so staat op het moment dat ie de error geeft al in /usr/local/qt/lib

het is echter op het moment dat ie de dingen in /usr/local/qt/tools gaat compileren dat ie eruit klapt met al die errors

onder het compilen zie ik ook dat ie wel gewoon gebruik maakt van de bestanden onder /usr/X11R6/* dus het lijkt erop dat ie die gewoon kan vinden

dit is de exacte uitvoer van ldd:
code:
1
2
3
4
5
6
7
8
9
root:/usr/local/qt/lib#ldd libqt.so
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x404c0000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x404ce000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x405a6000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x405b0000)
        libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x405c9000)
        libm.so.6 => /lib/libm.so.6 (0x40610000)
        libc.so.6 => /lib/libc.so.6 (0x4062e000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)

  • Longbowh
  • Registratie: Januari 2000
  • Niet online
heb nu de 'oorzaak' van de de foutmeldingen gevonden (vraag niet waarom ik die niet eerder had :o vergeten logisch na te denken.. ;))
code:
1
2
3
4
/usr/bin/ld: warning: libXext.so.6, needed by /usr/local/qt/lib/libqt.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libX11.so.6, needed by /usr/local/qt/lib/libqt.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libSM.so.6, needed by /usr/local/qt/lib/libqt.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libICE.so.6, needed by /usr/local/qt/lib/libqt.so, not found (try using -rpath or -rpath-link)

maar die bestanden staan er toch echt? en ook ldd lijkt ze te kunnen vinden

/usr/X11R6/lib toevoegen aan path helpt ook niet :(

dit is de output als ik ld (dus niet ldd) uitvoer met rpath:
code:
1
2
root:/usr/local/qt#ld ./lib/libqt.so -rpath-link=/usr/X11R6/lib
ld: warning: cannot find entry symbol _start; not setting start address

  • easydisk
  • Registratie: Februari 2000
  • Laatst online: 12-08 14:26
Je moet ook directorys waarin zich libraries bevinden niet aan je path toevoegen maar in /etc/ld.so.conf zetten

[/home/alfred]$ cat /etc/ld.so.conf
/usr/X11R6/lib/Xaw3d
/usr/lib/libc5-compat
/lib/libc5-compat
/usr/local/lib
/usr/X11R6/lib

en ldconfig runnen als root.

  • mth
  • Registratie: Mei 2000
  • Laatst online: 05-02-2025

mth

tenminste... /usr/local/lib/libqt.so vervangen door /usr/local/qt/lib/libqt.so
Vreemd, ik had het Qt path ge-copy-paste uit jouw reactie, bij mij staat libqt.so namelijk in /usr/qt/lib.
/usr/local/lib/libqt.so: undefined reference to 'XOpenDisplay'
Kijk maar hierboven. Heb je niet toevallig nog ergens een oude Qt staan? Zo ja, gooi die eens weg en probeer opnieuw.
ohja, de foutmeldingen komen op het moment dat ie de dingen in /usr/local/qt/tools wil gaan compileren, tot die tijd gaat alles goed
Qt compileert eerst libqt.so en gaat daarna ook Qt programma's compileren (Qt Designer, examples). Daarom kan de compilatie van Qt een error geven op libqt.so (easydisk vroeg zich dat af).
/usr/X11R6/lib toevoegen aan path helpt ook nie
In welk path heb je dat toegevoegd? PATH of LD_LIBRARY_PATH? Die eerste is alleen voor executables, die tweede is voor libraries.

Maar het is netter om /usr/X11R6/lib toe te voegen aan /etc/ld.so.conf en dan "ldconfig -v" te draaien om de library locatie cache opnieuw te bouwen.

"This is the noise that keeps me awake."


  • Longbowh
  • Registratie: Januari 2000
  • Niet online
de oplossing was dus inderdaad path toevoegen aan ld.so.conf, ik ga me nu maar even ergens in een hoekje heel diep zitten schamen dat ik daar niet opgekomen ben ;)
Vreemd, ik had het Qt path ge-copy-paste uit jouw reactie, bij mij staat libqt.so namelijk in /usr/qt/lib.
ik had het verkeerd overgetikt in eerste post, dus dat klopt, was me nog niet opgevallen

maargoed, het is gelukt, bedankt! :)
Pagina: 1