Portál AbcLinuxu, 26. července 2025 09:01


Dotaz: skoro kaźda kompilace hlasi error

pepe_ avatar 30.7.2010 21:23 pepe_ | skóre: 48
skoro kaźda kompilace hlasi error
Přečteno: 415×
Odpovědět | Admin
Zdravim , uz nevim co je spatne , at si stahnu vselikajej zdrojak a chci ho kompilovat ./configure , make tak vzdy bud v configure nebo v make chyba kterou nedokazu odstranit. Napriklad se si stahl ftp://ftp.skynet.be/mirror2/suse.com/projects/ham/10.0-i386/suse/i586/tnn-1.79-0.i586.rpm , rozbalil sem si tnn179.tar.bz2 a jelikoz v navodu je rovnou kompilace tak to skusim a zase chyba ... Jak se takove chyby osetruji ??
cz3dtc@NB-Pepe:~/.A-Pracovni-A./source/179$ make -f makefile 
bin
bin/cleaner done.
src/buffer.o
src/callstr.o
src/callstr.c: In function ‘pnmtch’:
src/callstr.c:324: warning: pointer targets in assignment differ in signedness
src/callstr.c: In function ‘c6mtch’:
src/callstr.c:385: warning: pointer targets in passing argument 2 of ‘pnmtch’ differ in signedness
src/callstr.c:316: note: expected ‘char *’ but argument is of type ‘UBYTE *’
src/cvs_cmds.o
src/cvs_cmds.c: In function ‘mode_command’:
src/cvs_cmds.c:1316: warning: operation on ‘c’ may be undefined
src/cvs_cmds.c: At top level:
src/cvs_cmds.c:2092: warning: ignoring #pragma warn 
src/cvs_cmds.c:2107: warning: ignoring #pragma warn 
src/cvs_cmds.c:2272: warning: ignoring #pragma warn 
src/cvs_cmds.c:2284: warning: ignoring #pragma warn 
src/cvs_cmds.c:2384: warning: ignoring #pragma warn 
src/cvs_cmds.c:2411: warning: ignoring #pragma warn 
src/cvs_cmds.c:2454: warning: ignoring #pragma warn 
src/cvs_cmds.c:2466: warning: ignoring #pragma warn 
src/cvs_cvsd.o
src/cvs_cvsd.c:1080: warning: ignoring #pragma warn 
src/cvs_cvsd.c:1143: warning: ignoring #pragma warn 
src/cvs_serv.o
src/cvs_cvrt.o
src/file.o
src/global.o
src/graph.o
src/l2dama.o
src/l2misc.o
src/l2rx.o
src/l2stma.o
src/l2timer.o
src/l2tx.o
src/l3ip.o
src/l3ip.c: In function ‘ip_route’:
src/l3ip.c:239: warning: suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’
src/l3ip.c: In function ‘rt_find’:
src/l3ip.c:500: error: lvalue required as left operand of assignment
src/l3ip.c: In function ‘res_arp’:
src/l3ip.c:752: error: lvalue required as left operand of assignment
src/l3ip.c: In function ‘arp_service’:
src/l3ip.c:1190: warning: pointer targets in passing argument 1 of ‘getfid’ differ in signedness
include/function.h:250: note: expected ‘char *’ but argument is of type ‘unsigned char *’
src/l3ip.c:1192: warning: pointer targets in passing argument 1 of ‘getfid’ differ in signedness
include/function.h:250: note: expected ‘char *’ but argument is of type ‘unsigned char *’
src/l3ip.c:1194: warning: pointer targets in passing argument 1 of ‘cmpid’ differ in signedness
include/function.h:148: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
src/l3ip.c:1205: warning: pointer targets in passing argument 3 of ‘arp_add’ differ in signedness
include/ip.h:299: note: expected ‘char *’ but argument is of type ‘unsigned char *’
src/l3ip.c:1217: error: lvalue required as left operand of assignment
src/l3ip.c:1218: warning: pointer targets in passing argument 2 of ‘cmpid’ differ in signedness
include/function.h:148: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
src/l3ip.c:1224: warning: pointer targets in passing argument 1 of ‘cpyid’ differ in signedness
include/function.h:150: note: expected ‘char *’ but argument is of type ‘unsigned char *’
src/l3ip.c:1224: warning: pointer targets in passing argument 2 of ‘cpyid’ differ in signedness
include/function.h:150: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
src/l3ip.c:1228: warning: pointer targets in passing argument 1 of ‘cpyid’ differ in signedness
include/function.h:150: note: expected ‘char *’ but argument is of type ‘unsigned char *’
src/l3ip.c:1232: warning: pointer targets in passing argument 2 of ‘arp_send’ differ in signedness
include/ip.h:321: note: expected ‘char *’ but argument is of type ‘unsigned char *’
src/l3ip.c: In function ‘arp_send’:
src/l3ip.c:1259: warning: pointer targets in passing argument 1 of ‘putfid’ differ in signedness
include/function.h:155: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
src/l3ip.c:1261: warning: pointer targets in passing argument 1 of ‘putfid’ differ in signedness
include/function.h:155: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
src/l3ip.c: In function ‘arp_request’:
src/l3ip.c:1289: warning: pointer targets in passing argument 1 of ‘cpyid’ differ in signedness
include/function.h:150: note: expected ‘char *’ but argument is of type ‘unsigned char *’
src/l3ip.c: In function ‘l2toip’:
src/l3ip.c:1314: error: lvalue required as left operand of assignment
make: *** [src/l3ip.o] Error 1

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

Odpovědi

30.7.2010 21:56 chrono
Rozbalit Rozbalit vše Re: skoro kaźda kompilace hlasi error
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příloha:
Opravuje sa to tak, že sa pozrieš do tých súborov, kde sú tie chyby a opravíš ich. Konkrétne v tom l3ip.c sú približne 4 rovnaké chyby, ktoré sú jednoduché. Okrem nich je ich tam ale viac (aj v iných súboroch), a niektoré môžu byť dosť zložité, takže si stiahni src.rpm balíček a vyber z neho diff súbor a použi ho (prípadne použi ten, čo som dal ako prílohu) Skopíruj ho do adresára 179 a použi patch -p1 < tnn179.diff.
pepe_ avatar 31.7.2010 00:40 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: skoro kaźda kompilace hlasi error
Po aplikaci patche je vše ok , jenže vůbec nechápu kde přijít na to jak co opravovat natož si udělat patch .. Děkuji za opravu
31.7.2010 02:37 zulu
Rozbalit Rozbalit vše Re: skoro kaźda kompilace hlasi error
Na opravování zdrojového kódu programu musíš rozumět programovacímu jazyku, ve kterém je napsán. Proč jsi prostě nenainstaloval ten připravený binární balíček?
31.7.2010 10:41 chrono
Rozbalit Rozbalit vše Re: skoro kaźda kompilace hlasi error
Opravuje sa to tak, že sa pozrieš do toho súboru, kde to píše chybu. Ak budeš mať šťastie, tak bude tá chyba presne na tom riadku a opraviť ju možno bude jednoduché. Inak sa nejaká chyba, ktorá je úplne inde, na tom riadku mohla iba prejaviť a hľadaj ju budeš musieť niekde inde.

Napr. sa pozrieš na chybu:
src/l3ip.c:500: error: lvalue required as left operand of assignment
Keď si ten súbor otvoríš a pozrieš sa na ten riadok, tak prídeš na to, v čom je problém (teda ak vieš aspoň trochu programovať). :)
pepe_ avatar 31.7.2010 12:37 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: skoro kaźda kompilace hlasi error
Ok , koukl sem se na ten radek kde je :

iprp = (IP_ROUTE *) iprp->nextip)

a po patchnuti je z nej radek

iprp = (IP_ROUTE *)iprp = iprp->nextip)

nechapu ale ze driv to skompilovat slo a nyni jiz ne.

to se kompilator gcc meni tak ze je zpetne nekompatibilni ?

mimochodem pred opravenim mi ten radek prisel srozumitelnejsi nez po oprave. (je pravda ze Ccku nerozumim)

Jinak moc dekuji vsem , aspon sem zjistil ze kdyz mam chybu na src/l3ip.c:500 tak ji mam hledat na radku 500 a ne ze mam googlit chybu cislo 500

31.7.2010 13:08 chrono
Rozbalit Rozbalit vše Re: skoro kaźda kompilace hlasi error
Pôvodne ten riadok bol iprp = (IP_ROUTE *)iprp = iprp->nextip) a až po aplikovaní záplaty bol správny (záplata sa dá aplikovať aj tak, aby sa vrátil ten pôvodný tvar, a to si urobil aj ty, ale program patch ťa na to upozorní).
stativ avatar 31.7.2010 16:48 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: skoro kaźda kompilace hlasi error
to se kompilator gcc meni tak ze je zpetne nekompatibilni ?
To není zpětná nekompatibilita. Standart C IIRC totiž nic neříká o tom, jak se to má v takémhle případě chovat. Tudíž se kompilátor může zachovat jak chce. GCC obvykle v takových případech vyhazuje různá varování. Nové verze gcc nasadili trend měnit varování za chyby. Je to pochopitelné, protože takový program se může chovat nepředvídatelně a často jsou za to pak biti vývojáři kompilátoru, kteří jsou v tom nevině.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk

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.