[ LUGOS ] tezave z MC in RLAB

Boris Benko boris.benko na telekom.si
Pon Jun 28 19:30:28 CEST 1999


Davor Guttierrez wrote:
> 
> Pozdravljeni
> 
> A je komu uspelo prevesti MC (midnight commander) 4.1.36 pod Caldero 2.2 in
> kernelom 2.2.5. Sistem se konfiguriraz vse v redu s ./configure toda pri make
> pa javi napako, da ne more najti nekaega programcka. V prilogi sem poslal
> mc.txt datoteko z nekaj zadnjimi vrsticami preden se prekine prevajanje.
> 
> Imam pa se podobne tezave z RLAB 2.1.04, tam pa mi javi napako ki sem jo pripel
> k datoeki rlab.txt.
> 
> Ce bi bil kdo tako dober in se bi mu to dalo pogledati kaj je narobe bi mi
> naredil veliko uslugo.

POD 1:

slint.o: In function `SLang_getkey2':
/home/INTERNET_DL/mc-4.1.36/src/slint.c:103: undefined reference to
`SLsys_getkey'
slint.o: In function `SLang_input_pending2':
/home/INTERNET_DL/mc-4.1.36/src/slint.c:115: undefined reference to
`SLsys_input_pending'

Prevajalnik je modul slint.c prevedel v objektno kodo (slint.o), vendar
je v modulu referenca na zgoraj omenjeni funkciji (SLsys_...), ki ju
linker ne more razresiti. Iz imen funkcij bi rekel, da so to funkcije,
ki so ne obstajajo v kaksni sistemski knjiznici (mogoce se motim) in se
mi zdi, da je do napake pri prevajanju prislo ze kaj prej. 

Po moje se ni v redu prevedel en drug .c modul, kjer so te funkcije
definirane. Na tvojem mestu bi pogrepal (man grep) direktorije z izvorno
kodo in pogledal, kje je funkcija SLsys_getkey() definirana in se
posebej pogledal, kako se je ta modul prevedel.

POD 2:

Linker pravi, da ne najde datoteke (knjiznice) g2c.

Poisci, z "locate" datoteko: libg2c.a

Pri meni napise:

[me na mymachine me]$ locate g2c
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/g2c.h
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/libg2c.a
[me na mymachine me]$ 

V kolikor najdes libg2c.a, jo vkljuci v pot, kjer linker isce datoteke:

man gcc (cc klice linker!):

...

       -llibrary
              Use the library named library when linking.

              The  linker searches a standard list of directories
              for the library, which is  actually  a  file  named
              `liblibrary.a'.   The linker then uses this file as
              if it had been specified precisely by name.

              The directories searched include  several  standard
              system  directories  plus any that you specify with
              `-L'.


Nato v Makefile popravi direktorije pri -L, kot je v manu napisano!

=b


-- 
============================================================================
mag. Boris Benko                      | E-mail: Boris.Benko na telekom.si
Telekom Slovenije, PE Murska Sobota   |         B.Benko na s-gms.ms.edus.si
Senior Prog./Sys admin./Informatik    |         Boris.Benko na computer.org
Slu§ba za informatiko                 | Phone: (work) +386 69 31 676
                                      |        (ISDN) +386 69 14 632
                                      |        (home) +386 69 37 499
===========================================================================




Dodatne informacije o seznamu Starilist