Portál AbcLinuxu, 14. května 2025 05:30

Dotaz: relocation error v postgresu (Centos 3.3)

10.7.2005 19:46 David Flekna
relocation error v postgresu (Centos 3.3)
Přečteno: 187×
Odpovědět | Admin
Mám problém s Postgresem. Nainstaluju ho, spustím, inicializuju databázi,... Všechno je OK. Jakmile však spustím psql, nebo createdb (pravděpodobně i další), dostanu hlášku: psql: relocation error: /usr/lib/libpq.so.3: undefined symbol: krb5_cc_get_principal Nikde k tomu nemůžu nic najít. Zkoušel jsem nainstalovat i jinou verzi postgresu (7.4.8, 8.0.3), ale výsledek je stále stejný. Jen ta chyba je v libpq.so.4 místo libpq.so.3. Na verzi to asi nezáleží. Ale nemám tušení kde jinde hledat problém.

Dík za každou radu.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.7.2005 20:58 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já ten symbol mám v libkrb5.so.3. Něco bylo asi blbě slinkováno... Podívej se ldd, co to natahuje za knihovny.
10.7.2005 21:31 David Flekna
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
Tu knihovnu to natahuje a mám jí normálně nainstalovanou. I ta cesta, kterou to píše v ldd sedí ... V /etc/ld.so.conf je nastavená cesta .... Podle mě to vypadá, jako když to ta knihovna libpq nějak nemůže najít, ale nevím proč ...
10.7.2005 21:38 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
A definuje u tebe libkrb5 ten symbol?
10.7.2005 21:40 David Flekna
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
Jak to poznám?
10.7.2005 21:48 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
Pomocí nm nebo eu-nm. Ale já tu knihovnu mám stripnutou, takže než se v tom babrat:
int main(){krb5_cc_get_principal();}
a tohle zkompiluj
gcc -lkrb5 ble.c
10.7.2005 22:04 David Flekna
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
píše: krb_cc_.... undeclared (first use this function) Asi máš pravdu, že to v tom není ... Jak je ale možný, že ta samá knihovna u tebe to má a umě ne .. ? Mám balíček krb-libs-1.2.7-44.rpm ...
10.7.2005 22:13 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
Já nemám centos, akorát různé jiné redhaty...

Nechápu, proč ten kompilátor píše cosi o undeclared, když to po něm nikdo nechce (kód je platné K&R C a nic se deklarovat nemusí). To je ale jedno. Pokud se vytvořil a.out, tak se to slinkovalo a ta funkce tam je. Pokud ldd a.out vypíše stejnou -- správnou -- knihovnu, tak asi zbývají brtuální metody typu

LD_DEBUG=symbols pgsql

a pokusit se v tom najít, jak ten symbol resolvuje...
10.7.2005 22:26 David Flekna
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
Centos by měl být totéž co rhel včetně stejných balíčků. Ten a.out se neudělal. Jestli to dobře chápu, tak tam ta funkce buď není, nebo kompilátor nenašel tu knihovnu. Je to tak? Předpokládám, že cesty k prohledávání jsou v /etc/ld.so.conf. Tam ta cesta je. Takže v této knihovně asi ta funkce není ... ???
10.7.2005 22:41 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
OK, pokud to vypsalo něco jako
: undefined reference to `krb5_cc_get_principal'
collect2: ld returned 1 exit status
tak tam není, takže je to stará/špatná/nekompatibilní/blbě přilinkovaná knihovna. Pokud sis postgresql kompiloval sám, tak viz http://archives.postgresql.org/pgadmin-support/2004-08/msg00029.php. Jinak se pgsql musí zkompilovat a slinkovat pořádně pro tvůj systém, když ten symbol nikde není, tak holt nikde není.
10.7.2005 22:42 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
No, ještě bys mohl zkusit jinou (novější) verzi krb5-libs, ale tím snadno vyrobíš víc problémů než vyřešíš...
10.7.2005 20:58 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ty verze pgsql jsou zkompilované pro tvou verzi centosu? Zkoušel jsi google?

Máš nainstalovaný balíček krb5-lib nebo jak se v centosu jmenuje?
-- Nezdar není hanbou, hanbou je strach z pokusu.
10.7.2005 21:38 David Flekna
Rozbalit Rozbalit vše Re: relocation error v postgresu (Centos 3.3)
Vzal jsem verzi pro RHEL4, což by mělo být stejné, ale když to nešlo, nainstaloval jsem balíčky, které jsou na instalačce CentOs a výsledek je stejný ... Takže tím to asi nebude... V googlu jsem dal stejný odkaz, a prolezl odpovědi. Bohužel je odpověď asi v tom prvním odkazu, jenže ten je v japonštině. Všechno ostatní je o podobném problému v jiných programech a řešení směřujou k nastavení voleb linkování při kompilaci těch balíčků. Ale to nemůže být řešení, když to jsou balíčky zkompilované přímo pro tento systém a zjevně to ostatním chodí .... (Soudím podle toho, že jsem to jinde nenašel jako něčí problém). Balíčky od kerberosu mám nainstalované všechny, které jsou na instalačce ...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.