Toon posts:

[Slack/XFree] Compileer probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik Slackware 8.1 met GCC 3.1. Ik gebruik (normaliter) Freetype 2.1.2 gecompileerd met optimalisaties. Verder compileer ik X ook zelf opnieuw om betere performance te krijgen en te kunnen genieten van die font-quality hack.

Het probleem is dat ik meestal tegen de hieronder staande foutmelding aanloop bij het compileren van X. Deze foutmelding krijg ik (meestal) ook als ik zelf QT wil compileren. Als ik nu de standaard X pakketten van Slack installeer en Freetype 2.1.2 verwijder, kan ik QT wel compileren.

Als ik de standaard X en Freetype 2.1.2 verwijder, en dus bij het compileren X gewoon lekker z'n eigen Freetype 2 versie laat bouwen, klapt ie er ook uit.

Heeft iemand een idee waar ik dit moet zoeken? Het grote probleem voor mij is dat ik niet kan vinden welk onderdeel (Freetype 2, X of iets anders) nu precies de veroorzaker is van de ellende...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
+ gcc -o ./libXft.so.1.1~ -shared -Wl,-soname,libXft.so.1 xftcfg.o xftcolor.o xftcore.o \
 xftdbg.o xftdpy.o xftdraw.o xftextent.o xftfont.o xftfs.o xftgram.o xftinit.o xftlex.o \
 xftlist.o xftmatch.o xftmatrix.o xftname.o xftpat.o xftstr.o xftxlfd.o xftcache.o \
 xftdir.o xftfreetype.o xftglyphs.o xftrender.o -L../../exports/lib -lXrender -lXext \
 -lX11 -lfreetype -lc
xftcolor.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftcore.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftdbg.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftdpy.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftdraw.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftextent.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftfont.o(.bss+0x8): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftfs.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftgram.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftinit.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftlex.o(.bss+0x12038): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftlist.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftmatch.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftmatrix.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftname.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftpat.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftstr.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftxlfd.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftcache.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftdir.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftfreetype.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftglyphs.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
xftrender.o(.bss+0x0): multiple definition of `head'
xftcfg.o(.bss+0x0): first defined here
collect2: ld returned 1 exit status
+ rm -f libXft.so.1
+ ln -s libXft.so.1.1 libXft.so.1
+ rm -f ../../exports/lib/libXft.so.1
+ cd ../../exports/lib
+ ln -s ../../lib/Xft/libXft.so.1 .
rm -f libXft.so.1.1
mv -f libXft.so.1.1~ libXft.so.1.1
mv: cannot stat `libXft.so.1.1~': No such file or directory
make[3]: *** [libXft.so.1.1] Error 1
make[3]: Leaving directory `/usr/src/xc/lib/Xft'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/xc/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/xc'
make: *** [all] Error 2

  • The_Wounded
  • Registratie: September 2002
  • Laatst online: 19-10-2021
Dat betekend dat libXft.so.1.1~ niet bestaat of hij kan 'm niet vinden.

  • richardt
  • Registratie: Mei 2002
  • Laatst online: 08-03-2025
LD kan ze niet aan elkaar linken omdat (ws.) de variabele 'head' in verschillende source files in gedeclareerd, waarvan in xftcfg.{c,h} als eerste. Misschien stonden er nog reeds gecompileerde object files in deze dir, van een andere configuratie ofzo. Zo ja, moet je misschien een make distclean, configure --options, make dep en weer make doen...

Onwaarschijnlijker is het dat de combinatie van configure options niet geldig is. Als dit al een schone source tree is, moet je toch echt in de source files gaan kijken waarom head vaker dan eens voorkomt.

Verwijderd

Topicstarter
Hmmm.. Ik vind het wat vreemd. Ik ga ervanuit dat indien ik gewoon de source tarballs ophaal van XFree en deze compileer, het gewoon zou moeten werken. Freetype2 zit namelijk in de XFree tree mee (als thirdparty stukje). Als ik het dan compileer, dan zou het toch gewoon moeten werken?