Portál AbcLinuxu, 1. června 2025 19:08


Dotaz: error GCC při instalaci programu

Dalibor Smolík avatar 1.3.2007 11:38 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
error GCC při instalaci programu
Přečteno: 676×
Odpovědět | Admin
Zdravím, snažím se v Debianu instalovat program shorten pro převod souborů .shh do wav, avšak při zadání příkazu make se objeví hlášení
make test
cc -O -c exit.c
In file included from exit.c:19:
/usr/lib/gcc/i486-linux-gnu/4.1.2/include/va.rargs..h:4:2: error: #error "GCC no longer implements varargs.h."
/usr/lib/gcc/i486-linux-gnu/4.1.2/include/v.arargs.h:5:2: error: #error "Revise your code to use stdarg.h."
exit.c: In function 'error_exit':
exit.c:60: error: expected declaration specifiers before 'va_dcl'
exit.c:101: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'va_dcl'
Něco dělám špatně, ale nejsem schopen error opravit. Má někdo nějaký nápad, v čem by mohl být problém? gcc, libgcc1 gcc-4.1 a gcc-4.1-base mám nainstalováno.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

stativ avatar 1.3.2007 12:03 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Hlavne bych rekl, ze chyba je na strane vyvojaru a ne na vasi. Zkuste nainstalovat jeste starsi verzi gcc (nejlip nejakou 3.x verzi) a zkusit ten program zkompilovat s ni.

Mozna ale bude stacit nahradit vsechny vyskyty varargs.h na stdarg.h. Treba takhle:

find . -type f -print0 | xargs -0 sed -i 's/varargs\.h/stdarg\.h/g'
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
Dalibor Smolík avatar 1.3.2007 12:20 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
No, já mám nainstalovány další verze (nevím, jak se mi to podařilo :-))
server:/home/dalibor# dpkg -l | grep gcc
ii  gcc                                4.1.1-15                        The GNU C compiler
ii  gcc-3.3-base                       3.3.6-15                        The GNU Compiler Collection (base package)
ii  gcc-3.4                            3.4.6-5                         The GNU C compiler
ii  gcc-3.4-base                       3.4.6-5                         The GNU Compiler Collection (base package)
ii  gcc-4.1                            4.1.1-21                        The GNU C compiler
ii  gcc-4.1-base                       4.1.1-21                        The GNU Compiler Collection (base package)
ii  libgcc1                            4.1.1-21                        GCC support library
V tom případě, jak donutit instalátor, aby vybral verzi 3.4.6? (/usr/lib/gcc/i486-linux-gnu/3.4.6 místo /4.1.2)? Nahrazení varargs.h na stdarg.h nepomohlo.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
1.3.2007 12:29 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Já to dělám třeba takhle..
user@stroj:~$ export MAKEFLAGS="CC=gcc-4.2"
Ještě před konfigurací deb balíku.. Ale snad by mělo stačit export CC="gcc-4.2"
1.3.2007 12:29 Boris Dušek | skóre: 22 | blog: everything
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Podívej se nejdřív, jak se jmenují binárky gcc (ls /usr/bin/gcc*), vyber si jednu (v Tvém případě asi gcc-3.4) a pak v Makefile uprav na 5. řádku CC = cc na CC = gcc-3.4. Snad to bude fungovat.
vim ~/.emacs
1.3.2007 12:30 Boris Dušek | skóre: 22 | blog: everything
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Pak samozřejmě "make clean" a "make".
vim ~/.emacs
Dalibor Smolík avatar 1.3.2007 13:11 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
díky, moc to nepomohlo :-) Po úpravě řádku v makefile na gcc-3.4 se objevila hláška podobná (vypíšu pouze začátek hlášení)
make test
gcc-3.4 -O -c exit.c
In file included from exit.c:19:
/usr/lib/gcc/i486-linux-gnu/3.4.6/include/varargs.h:4:2: #error "GCC no longer implements varargs.h."
/usr/lib/gcc/i486-linux-gnu/3.4.6/include/varargs.h:5:2: #error "Revise your code to use stdarg.h."
exit.c:60: error: syntax error before "va_dcl"
exit.c:60: error: syntax error before '{' token
exit.c:64: warning: parameter names (without types) in function declaration
exit.c:64: warning: data definition has no type or storage class
..
Takže problém bude asi opravdu u vývojářů :-), snad příště
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
stativ avatar 1.3.2007 14:13 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Zkousel jste ten find-sedovy prikaz, kterym by se nahradily hlavickove soubory za platne?
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
Dalibor Smolík avatar 1.3.2007 14:28 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Samozřejmě, zkoušel. Vyšla mi z toho tato chyba (kompletní výpis hlášení)
make test
cc -O -c exit.c
In file included from /usr/include/stdio.h:72,
                 from exit.c:8:
/usr/include/libio.h:53:21: error: stdarg.h: není souborem ani adresářem
In file included from /usr/include/stdio.h:72,
                 from exit.c:8:
/usr/include/libio.h:475: error: expected declaration specifiers or '...' before '__gnuc_va_list'
/usr/include/libio.h:477: error: expected declaration specifiers or '...' before '__gnuc_va_list'
In file included from exit.c:8:
/usr/include/stdio.h:337: error: expected declaration specifiers or '...' before '__gnuc_va_list'
/usr/include/stdio.h:342: error: expected declaration specifiers or '...' before '__gnuc_va_list'
/usr/include/stdio.h:345: error: expected declaration specifiers or '...' before '__gnuc_va_list'
/usr/include/stdio.h:356: error: expected declaration specifiers or '...' before '__gnuc_va_list'
In file included from /usr/include/stdio.h:828,
                 from exit.c:8:
/usr/include/bits/stdio.h:34: error: expected declaration specifiers or '...' before '__gnuc_va_list'
/usr/include/bits/stdio.h: In function 'vprintf':
/usr/include/bits/stdio.h:36: error: '__arg' undeclared (first use in this function)
/usr/include/bits/stdio.h:36: error: (Each undeclared identifier is reported only once
/usr/include/bits/stdio.h:36: error: for each function it appears in.)
/usr/include/bits/stdio.h:36: error: too many arguments to function 'vfprintf'
exit.c: In function 'error_exit':
exit.c:60: error: expected declaration specifiers before 'va_dcl'
exit.c:101: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'va_dcl'
exit.c:143: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'va_dcl'
exit.c:184: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'va_dcl'
exit.c:215: error: expected '{' at end of input
make: *** [exit.o] Error 1

Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Dalibor Smolík avatar 1.3.2007 14:32 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Při nastavení makefile na gcc-3.4 pak vypadá hlášení trochu jinak, a to:
gcc-3.4 -O -c exit.c
exit.c:60: error: syntax error before "va_dcl"
exit.c:60: error: syntax error before '{' token
exit.c:64:16: macro "va_start" requires 2 arguments, but only 1 given
exit.c:64: warning: data definition has no type or storage class
exit.c:65: error: conflicting types for 'fmt'
exit.c:62: error: previous declaration of 'fmt' was here
exit.c:65: error: `args' undeclared here (not in a function)
exit.c:65: warning: initialization makes integer from pointer without a cast
exit.c:65: error: initializer element is not constant
exit.c:65: warning: data definition has no type or storage class
exit.c:68: error: syntax error before "if"
exit.c:82: error: syntax error before string constant
exit.c:82: error: conflicting types for 'strcat'
... a dále pokračování obdobně ..
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
1.3.2007 17:08 Boris Dušek | skóre: 22 | blog: everything
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Zkuste to možná ještě s gcc-3.3.
vim ~/.emacs
stativ avatar 1.3.2007 16:38 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Zkusil bych tedy mrknout po netu po souboru stdarg.h a soupnout ho do stejneho adresare jako jsou zdrojaky popr. rovnou zkusit najit a pouzit varargs.h
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
Dalibor Smolík avatar 1.3.2007 17:19 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
stdarg.h - to jsem udělal, bez výsledku. varargs.h je součástí gcc a vypadá takto:
#ifndef _VARARGS_H
#define _VARARGS_H

#error "GCC no longer implements varargs.h."
#error "Revise your code to use stdarg.h."

#endif
server:/home/instal/SHNnaWAV/shorten-2.3a# cat varargs.h
#ifndef _VARARGS_H
#define _VARARGS_H

#error "GCC no longer implements varargs.h."
#error "Revise your code to use stdarg.h."

#endif

Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
1.3.2007 17:16 razor | skóre: 33
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdar, možná že toto půjde zkompilovat bezproblémově.
Dalibor Smolík avatar 1.3.2007 17:33 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
shorten 3.6: Dík, ./configure make a make check proběhlo bezproblémově, ale při zadání make install to opět vyhodilo chyby:
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/instal/SHNnaWAV/shorten-3.6.0/src'
make[2]: Leaving directory `/home/instal/SHNnaWAV/shorten-3.6.0/src'
make[1]: Leaving directory `/home/instal/SHNnaWAV/shorten-3.6.0/src'
Making install in tests
make[1]: Entering directory `/home/instal/SHNnaWAV/shorten-3.6.0/tests'
make[2]: Entering directory `/home/instal/SHNnaWAV/shorten-3.6.0/tests'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/instal/SHNnaWAV/shorten-3.6.0/tests'
make[1]: Leaving directory `/home/instal/SHNnaWAV/shorten-3.6.0/tests'
make[1]: Entering directory `/home/instal/SHNnaWAV/shorten-3.6.0'
make[2]: Entering directory `/home/instal/SHNnaWAV/shorten-3.6.0'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/instal/SHNnaWAV/shorten-3.6.0'
make[1]: Leaving directory `/home/instal/SHNnaWAV/shorten-3.6.0'
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
1.3.2007 17:48 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: error GCC při instalaci programu

Co tě vede k názoru, že to jsou chyby? Já v tom výpisu teda žádný nevidim...

Každý má právo na můj názor!
1.3.2007 17:48 razor | skóre: 33
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Podle mě to nevyhodilo chyby :) . Hele mě to teda fachá na gentoo. Existuje po tom make install /usr/local/bin/shorten ?
Dalibor Smolík avatar 1.3.2007 18:39 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Tak tohle zabralo, moc díky! Program shorten je možné spustit
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Dalibor Smolík avatar 1.3.2007 19:24 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Ještě jedna věc: když se přepnu do adresáře, kde jsou soubory .shn plus soubor .md5 a zadám příkaz:
shorten soubor.shn soubor.wav
vyhodí to hlášení:
shorten: input file is not a valid RIFF WAVE file
shorten: for more information use: shorten -h
Je někde chyba nebo může jít o poškozené soubory? Dík
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
David Watzke avatar 1.3.2007 20:46 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Chyba je mezi židlí a klávesnicí, aneb vstup má být WAV, jasně to tam píše (nepřevádí SHN do WAVu, ale naopak).
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Dalibor Smolík avatar 1.3.2007 21:49 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
aha, tak to se povedlo :-) já to samozřejmě potřeboval shn -> wav, omlouvám se.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
1.3.2007 17:32 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Přestaň šašit s verzema GCC a na začátek souboru exit.c přidej řádek:

#define HAVE_STDARG_H
Každý má právo na můj názor!
Dalibor Smolík avatar 25.6.2007 17:43 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: error GCC při instalaci programu
Vyřešeno. stačilo nainstalovat program shorten a v příslušném adresáři s .shn soubory zadat příkaz shntool conv "soubor.shn", bez dalších atributů to převede do formátu soubor.wav.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.

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.