Portál AbcLinuxu, 7. června 2024 21:03


Dotaz: Kylix (Delphi) nespusti program

1.12.2005 15:46 --- | skóre: 13 | blog: LINUXDRAK
Kylix (Delphi) nespusti program
Přečteno: 211×
Odpovědět | Admin
Ahojky , kdyz napisi v Kylixu program a prelozim jej ( napriklad pokus ) . V MC kliknu na pokus a mel by se spustit , ale nespusti se , jen vypisuje same chyby . Jak dál ?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.12.2005 15:50 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Kylix (Delphi) nespusti program
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přečíst si ty chybové hlášky a odstranit příčinu?
1.12.2005 16:07 alex
Rozbalit Rozbalit vše Re: Kylix (Delphi) nespusti program
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud se program stezuje na undefined symbol: initPAnsiStrings pak nemate spravne nastavenou cestou k dynamickym knihovnam Kylixu. Budete muset pred spoustenim programu napsat export LD_LIBRARY_PATH=/kde/te/knihovny/mate.
1.12.2005 17:05 --- | skóre: 13 | blog: LINUXDRAK
Rozbalit Rozbalit vše Re: Kylix (Delphi) nespusti program
Presne to pise !!!! A kde je najdu ?
1.12.2005 17:14 alex
Rozbalit Rozbalit vše Re: Kylix (Delphi) nespusti program
Moznosti je vic. Muzete se treba podivat na program kylix, je to jenom shellovsky skript ktery pak zavadi skutecny Kylix a tam uvidite spravne nastaveni promenne LD_LIBRARY_PATH. Nebo muzete spustit ldd vas_program a z vypisu poznate ktere knihovny program potrebuje a ktere mu chybi. Pak uz to muzete vyhledat pomoci find nebo v MC, pokud preferujete tento file manager.
1.12.2005 17:19 --- | skóre: 13 | blog: LINUXDRAK
Rozbalit Rozbalit vše Re: Kylix (Delphi) nespusti program
Je tento zapis spravny ? :

/home/linux/startdelphi

export LD_LIBRARY_PATH=/home/linux/kylix3/bin/mozilla:$LD_LIBRARY_PATH
export MOZILLA_FIVE_HOME=$HOME/.borland/borpreview

source /home/linux/kylix3/bin/kylixpath /home/linux/kylix3 >/dev/null
/home/linux/kylix3/bin/delphi $*
1.12.2005 17:33 alex
Rozbalit Rozbalit vše Re: Kylix (Delphi) nespusti program
Nepochopil jsem presne kam to chcete umistit. Zkuste na prikazovem radku napsat export LD_LIBRARY_PATH=/home/linux/kylix3/bin:$LD_LIBRARY_PATH. Pak spustte svuj program. Pokud to bude fungovat, pak mate 2 moznosti.

1) Muzete pridat tento radek export ... do souboru .bashrc ve vasem domovskem adresari. Toto reseni bude fungovat jenom pro jeden ucet.

2) Pridejte do souboru /etc/ld.so.conf radek /home/linux/kylix3/bin a spustte jednou program ldconfig (jako root, samozrejme). Pak to bude fungovat u vsech uzivatelu.
1.12.2005 17:50 --- | skóre: 13 | blog: LINUXDRAK
Rozbalit Rozbalit vše Re: Kylix (Delphi) nespusti program
hura ! pomohlo to !

A co znamena presne ten radek ?
1.12.2005 18:27 alex
Rozbalit Rozbalit vše Re: Kylix (Delphi) nespusti program
Pokud mate dynamicky slinkovany program, pak pri jeho zavadeni do pameti je nutno tam natahnout (nebo namapovat do jeho virtualniho prostoru uz drive natazene) dynamicke knihovny ve formatu .so. V ELF-binarce jsou ulozeny jenom nazvy techto knihoven, bez absolutni cesty k nim (vyjimkou je dynamicky loader /lib/ld-linux.so.2, ale to je kapitola sama o sobe). Informaci o tom, jake knihovny program vyzaduje, muzete ziskat pomoci ldd:
[~]$ ldd /bin/bash
	linux-gate.so.1 =>  (0xffffe000)
	libncurses.so.5 => /lib/libncurses.so.5 (0xb7f07000)
	libdl.so.2 => /lib/tls/libdl.so.2 (0xb7f03000)
	libc.so.6 => /lib/tls/libc.so.6 (0xb7dcc000)
	/lib/ld-linux.so.2 (0xb7f56000)
Z tohoto vypisu muzete videt, ze napr. pro knihovnu libc.so.6 bude pouzit soubor /lib/tls/libc.so.6 a tato knihovna bude namapovana do virtualniho prostoru procesu na adrese (0xb7dcc000). Otazka zni, jak z nazvu knihovny ziskat absolutni cestu. Tak pro tyto ucely se pouziva systemova databaze cest ke knihovnam /etc/ld.so.conf. Pokud mate soubor knihovny ulozeny nekde jinde, pak potrebujete nastavit promennou prostredi LD_LIBRARY_PATH, ze ktere dynamicky loader ziska informaci o ceste. Porovnejte vystup ldd vas_program pred tim nez jste zadal radek export LD_LIBRARY_PATH a po tom. Uvidite, ze v druhem pripade ldd byl schopen chybejici knihovny dohledat.

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.