[FBSD] ports broken

Pagina: 1
Acties:

  • xos
  • Registratie: Januari 2002
  • Laatst online: 29-12-2025
Hallo,

een tijdje terug is de portstree van freebsd 5 veranderd (zie ook http://bsdforums.org/forums/showthread.php?threadid=18567). Er wordt nu gebruik gemaakt van -lpthread ipv lc_r in current.

Ik draai dus fbsd current en na een weekje te wachten en de bsdforums in de gaten te houden zag ik niet veel problemen en besloot dus om ook mijn sources up to date te brengen. Vervolgens een nieuwe kernel gebakken en geinstalleerd. Om de ports up to date te bregen heb ik portversion -rRa uitgevoerd. En hier begon de ellende.

Allereerst werden sommige ports wel netjes gecompileerd en geupdate en anderen faalde hierin met een compiler error:

code:
1
c compiler could not create executables


Dit leek mij behoorlijk stug ik kwam erachter via het error log van een gefaalde port dat dit lag aan het niet kunnen vinden van de lpthread libs. Ergens vond ik een tip op internet dat ik de compiler opnieuw kon installeren en dat dit alles zou verhelpen. Ik zou niet snappen waarom maar, wat weet ik nu ;). De compiler compileerde zonder problemen en voor een moment was ik blij. :Y)

Toen heb ik besloten via buildworld alles maar eens te updaten en in de hoop dat ook de goede libs worden aangemaakt. Aanvankelijk leek dit te werken, een programma als gaim werd netjes geupdate wat eerst niet lukte.

Vervolgens portversion -rRa geprobeerd en weer fouten. Nu zag ik dat de port gtk20 port faalde en al zijn ports welke er van afhankelijk zijn vanwege een versie conflict. Dus handmatig die port gecompileerd wat zonder problemen werkte. Vervolgens de oude gedeinstalleerd en de vernieuwde gtk20 port proberen te installeren maar nu loopt hij vast tijdens het linken ergens. Athans dat vermoed ik. Probleem is dat ik nu geen werkende gtk20 lib heb en mijn GUI dus compleet aan gort is.

Iemand een idee hoe dit op te lossen zonder een herinstall? In het uiterste geval ben ik bereid om
code:
1
rm -rf /usr/local/* /usr/X11R6/* /var/db/pkg/*


uit te voeren en een nachtje dat ding aan te laten staan. Wat achteraf de snelste methode geweest zou zijn.

Het laatste stukje van het errorlog:
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
----------------------------------------------------------------------
/bin/sh ../../libtool  --mode=install /usr/bin/install -c -o root -g wheel im-viqr.la /usr/X11R6/lib/gtk-2.0/2.2.0/immodules/im-viqr.la
/usr/bin/install -c -o root -g wheel .libs/im-viqr.so /usr/X11R6/lib/gtk-2.0/2.2.0/immodules/im-viqr.so
/usr/bin/env OBJFORMAT="elf" /sbin/ldconfig -m /usr/X11R6/lib/gtk-2.0/2.2.0/immodules
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/X11R6/lib/gtk-2.0/2.2.0/immodules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/bin/sh ../../mkinstalldirs /usr/X11R6/etc/gtk-2.0
../../gtk/gtk-query-immodules-2.0 > /usr/X11R6/etc/gtk-2.0/gtk.immodules
Abort trap (core dumped)
*** Error code 134

Stop in /usr/ports/x11-toolkits/gtk20/work/gtk+-2.2.4/modules/input.
*** Error code 1

Stop in /usr/ports/x11-toolkits/gtk20/work/gtk+-2.2.4/modules/input.
*** Error code 1

Stop in /usr/ports/x11-toolkits/gtk20/work/gtk+-2.2.4/modules.
*** Error code 1

Stop in /usr/ports/x11-toolkits/gtk20/work/gtk+-2.2.4.
*** Error code 1

Stop in /usr/ports/x11-toolkits/gtk20.
*** Error code 1

Stop in /usr/ports/x11-toolkits/gtk20.

  • AVL
  • Registratie: Januari 2000
  • Laatst online: 25-09-2022

AVL

OHMSS

Ten eerste, je kernel updaten naar -CURRENT maar dit niet doen met je world is natuurlijk niet zo slim, aangezien je dan libraries als libpthread simpelweg niet hebt (heette eerder libkse) :). Maar dit terzijde.

Je draait nu zo te zien portupgrade -Rra. Dit update alleen je ports die nu nog niet up to date zijn. Maar waarschijnlijk heb je al veel ports geinstalleerd die gebruik maken van libc_r - die moet je dus ook allemaal recompilen. Maak dus alles opnieuw met
code:
1
# portupgrade -rfak
.

Als je er niet bij wilt blijven zitten, denk er dan ook aan om de variabele BATCH te definieren (export BATCH=yes in sh en vrienden, of setenv BATCH yes in csh/tcsh). Anders kunnen sommige ports vragen stellen tijdens het updaten, en dat wil je dus niet als je 'm lekker een nachtje wilt laten compilen.

Heb je hier helemaal geen zin in, dan is een erg makkelijke oplossing om een /etc/libmap.conf aan te maken die libc_r mapt naar libpthread, dan kun je later altijd nog beslissen om te hercompileren. Deze zou er dan zo uitzien:
code:
1
2
libc_r.so.5             libpthread.so.1
libc_r.so               libpthread.so

"I'd rather have a bottle in front of me than a frontal lobotomy."


  • xos
  • Registratie: Januari 2002
  • Laatst online: 29-12-2025
Erg bedankt voor je antwoord. Als ik het goed begrijp is het fout gegaan door mijn kernel naar current te updaten en mijn world niet. Daardoor ontstaat de kans dat libs ga missen wat na die port veranderingen dus gebeurd is, met alle gevolgen vandien.

Nou dan zet ik vanacht mijn kachel maar uit en mijn pc maar aan.

  • xos
  • Registratie: Januari 2002
  • Laatst online: 29-12-2025
Helaas heeft het niet geholpen ik ga binnekort maar eens een verse herinstal doen. Op dit moment wil vrijwel geen enkele port meer installeren.