Petit problème : mon compilateur ne sait pas compiler !

Petit problème : mon compilateur ne sait pas compiler ! - Logiciels - Linux et OS Alternatifs

Marsh Posté le 23-03-2003 à 13:56:16    

Salut à tous !
J'aîmerais mettre en place un serveur IceCast sur ma Sid flambant neuve. Jusque là tout va bien, j'installe IceCast, qui sert de serveur, et LiveIce, qui me permet d'envoyer du bon son au serveur. IceCast semble marcher plutôt bien, d'ailleurs il a été mis à jour au début du mois (v1.3.12), mais pour ce qui est de LiveIce ca marche beaucoup moins bien. J'ai bien configuré mon fichier liveice.cfg que voici :

Citation :

# liveice configuration file
# Automatically generated
SERVER localhost
PORT 8000
NAME Fred's Streamed MP3
GENRE Live
URL http://xpfred.dyndns.org
PUBLIC 1
X_AUDIOCAST_LOGIN
PASSWORD letmein
SAMPLE_RATE 32000
STEREO
NO_SOUNDCARD
FULL_DUPLEX
USE_LAME3 lame
BITRATE 32000
VBR_QUALITY 1
MIXER
PLAYLIST /etc/icecast/playlist.m3u
DECODER_COMMAND mpg123
MIX_CONTROL_MANUAL
CONTROL_FILE mix_command
TRACK_LOGFILE track.log


... mais lorsque je le lance, j'ai un "Output-Level:Segmentation fault", l'interface plante dès l'affichage. J'ai vu une option qui lui permet de tourner sans interface, avec le paramètre -@2, mais dans ce cas j'ai un "Segmentation fault" tout court ... vraiment curieux pour un paquet qui se trouve d'ailleurs dans cette même version en sid !
 
Donc je me suis dit que je pourrais recompiler le code source, je vais donc télécharger les sources et dès le ./configure j'obtiens une erreur plutôt ... curieuse :

Citation :

fred:~/liveice# ./configure
loading cache ./config.cache
FSSTD DISABLED
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.


Je suis en dernière Sid, donc avec GCC-3.2 et je n'ai pas vraiment osé retoucher le script configure. J'attend vos suggestions parce que ce comportement me paraît vraiment bizarre ...


Message édité par - Fred - le 23-03-2003 à 17:02:25

---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 23-03-2003 à 13:56:16   

Reply

Marsh Posté le 23-03-2003 à 17:12:57    

hmmm... tu peux compiler autre chose ? (pour savoir si tu as la même erreur)
 
enfin ça peut provenir de cflags incorrects, du genre une optimisation pour processeur inconnu suffit parfois... dans le pire des cas c'est un problème de lib, ça peut parfois provenir d'un problème de binutils ou, à l'extrème, de glibc, bref une version incompatible quelque part


Message édité par BMOTheKiller le 23-03-2003 à 17:13:30
Reply

Marsh Posté le 23-03-2003 à 18:27:18    

Je sais pas, c'est généré par autoconf ... mais j'ai compilé d'autres programmes sans problèmes !
 
Sinon, le prog est un peu vieux, mais il est plutôt simple donc la retouche devrait pas poser trop de pbs. S'il existe d'autres progs qui permettent la même chose, je suis preneur :D


Message édité par - Fred - le 23-03-2003 à 18:29:50

---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 23-03-2003 à 18:40:41    

tu peux toujours te promener dans le fichier "configure".... mais peut-être est-ce que le problème vient du fait que tu n'a pas de variable CC ou CC1, tu peux toujours essayer de faire :
 
export CC=gcc
export CC1=gcc
 
ça peut venir de là des fois aussi... enfin en parsant le script configure (ou Makefile si c'est un make directement) tu devrais en apprendre un peu plus

Reply

Marsh Posté le 25-03-2003 à 07:20:25    

Ca n'a pas l'air de mieux marcher malheureusement ...

Citation :

fred:~/liveice# export CC=gcc
fred:~/liveice# export CC1=gcc
fred:~/liveice# ./configure
FSSTD DISABLED
checking for gcc... gcc
checking for C compiler default output... configure: error: C compiler cannot create executables
See `config.log' for more details.


Voici une partie du fichier log :

Citation :

## ---------------- ##
## Cache variables. ##
## ---------------- ##
 
ac_cv_env_CC_set=set
ac_cv_env_CC_value=gcc
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=set
ac_cv_env_CPP_value=cpp
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_prog_ac_ct_CC=gcc
 
## ----------------- ##
## Output variables. ##
## ----------------- ##
 
BINDIR='/usr/local/icecast/bin'
CC='gcc'
CFLAGS=''
CPP='cpp'
CPPFLAGS=''
DEFS=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
ETCDIR='/usr/local/icecast/etc'
EXEEXT=''
INSTALL_DATA=''
INSTALL_PROGRAM=''
INSTALL_SCRIPT=''
LDFLAGS=''
LIBOBJS=''
LIBS=''
LOGDIR='/usr/local/icecast/log'
LTLIBOBJS=''
OBJEXT=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
SHELL='/bin/sh'
ac_ct_CC='gcc'
bindir='${exec_prefix}/bin'
build_alias=''
datadir='${prefix}/share'
exec_prefix='NONE'
host_alias=''
includedir='${prefix}/include'
infodir='${prefix}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
oldincludedir='/usr/include'
prefix='/usr/local'
program_transform_name='s,x,x,'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 25-03-2003 à 09:33:36    

Tu peux envoyer le resultat d'un :
grep -A 10 -B 25 "C compiler cannot create executables" configure
 
Histoire de voir a quoi ressemble test de gcc


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 25-03-2003 à 14:45:34    

Voili voilou :

Citation :

# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
echo "$as_me:$LINENO: checking for C compiler default output" >&5
echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"" ) >&5
  (eval $ac_link_default) 2>&5
  ac_status=$?
  echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; then
  # Find the output, starting from the most likely.  This scheme is
# not robust to junk in `.', hence go to wildcards (a.*) only as a last
# resort.
 
# Be careful to initialize this variable, since it used to be cached.
# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
ac_cv_exeext=
# b.out is created by i960 compilers.
for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
do
  test -f "$ac_file" || continue
  case $ac_file in
    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
        ;;
    conftest.$ac_ext )
        # This is the source file.
        ;;
    [ab].out )
        # We found the default executable, but exeext='' is most
        # certainly right.
        break;;
    *.* )
        ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
        # FIXME: I believe we export ac_cv_exeext for Libtool,
        # but it would be cool to find out if it's true.  Does anybody
        # maintain Libtool? --akim.
        export ac_cv_exeext
        break;;
    * )
        break;;
  esac
done
else
  echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
 
{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
   { (exit 77); exit 77; }; }
fi


Bon, spa très très clair ... je suis pas un expert du script shell, et la double accolade en fin avant l'echo, de même que la synthaxe globale, me paraîssent un peu étranges :D
 
Donc si vous pouviez m'aider ...


Message édité par - Fred - le 25-03-2003 à 14:49:41

---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 25-03-2003 à 14:53:40    

en fait je comprends pas bien comment tu l'utilses, IceCast c'est le serveur, je comprends bien... mais LiveIce, c'est bien le plugin xmms ou une applie à part entière qui permet de lire à "vide" une liste en la retransmettant à la machine IceCast ?

Reply

Marsh Posté le 25-03-2003 à 14:58:38    

ça à l'air bon pour l'accolade, tu peux donner un lien pour choper les sources stp ? je dois avoir la polio su google/linux j'ai pas fait recette :o

Reply

Marsh Posté le 25-03-2003 à 17:27:16    

Pour avoir les sources, c'est le premier site que te donne Google quand tu cherches 'LiveIce' :D :
http://star.arm.ac.uk/~spm/software/liveice.html
http://star.arm.ac.uk/~spm/software/liveice.tar.gz
 
Sinon, j'ai remarqué, par hasard que je recompilais mon kernel, que gcc m'a l'air d'avoir des comportements très bizarres : lorsque je lance la compilation du fameux kernel, il me lance bien mkdep.c mais dès les premiers include qui sont tout de même élémentaires, il ne trouve pas les fichiers :

Citation :

make[1]: Leaving directory `/usr/src/linux-2.4.20'
/usr/bin/make -f ./debian/rules dummy_do_dep
make[1]: Entering directory `/usr/src/linux-2.4.20'
/usr/bin/make EXTRAVERSION=25.03.2003   \
                                 ARCH=i386  dep
make[2]: Entering directory `/usr/src/linux-2.4.20'
gcc -Wall -Wstrict-prototypes -O3 -fomit-frame-pointer -pipe -o scripts/mkdep scripts/mkdep.c
scripts/mkdep.c:33:19: ctype.h: No such file or directory
scripts/mkdep.c:34:19: fcntl.h: No such file or directory
In file included from /usr/lib/gcc-lib/i386-linux/3.2.3/include/syslimits.h:7,
                 from /usr/lib/gcc-lib/i386-linux/3.2.3/include/limits.h:11,
                 from scripts/mkdep.c:35:
/usr/lib/gcc-lib/i386-linux/3.2.3/include/limits.h:132:75: limits.h: No such file or directory
In file included from scripts/mkdep.c:36:
/usr/lib/gcc-lib/i386-linux/3.2.3/include/stdio.h:37:23: features.h: No such file or directory
In file included from /usr/lib/gcc-lib/i386-linux/3.2.3/include/stdio.h:43,
                 from scripts/mkdep.c:36:
/usr/lib/gcc-lib/i386-linux/3.2.3/include/stddef.h:213: syntax error before "typedef"
/usr/lib/gcc-lib/i386-linux/3.2.3/include/stdio.h:45:25: bits/types.h: No such file or directory


Ais-je oublié d'installer un certain package ? J'ai installé gcc et cpp en dernière version sur ma Sid, pour information voici les détails de version :

Citation :

fred:~/kernel# gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/3.2.3/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,pascal,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.2 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-java-gc=boehm --enable-objc-gc i386-linux
Thread model: posix
gcc version 3.2.3 20030316 (Debian prerelease)


Il faut également signaler qu'il s'agit d'un kernel 2.4.20 patché avec le dernier package gentoo-r2, qui prétend activer gcc-3.2 dans lesdites sources ... je vais tout de même tenter avec un kernel non patché, on ne sait jamais !


Message édité par - Fred - le 25-03-2003 à 17:29:40

---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 25-03-2003 à 17:27:16   

Reply

Marsh Posté le 25-03-2003 à 17:48:42    

ah vi pour google, c'est sûr que moi j'étais plutôt parti sur une recherche google/linux, m'enfin merci je vais essayer voir ce que ça donne
 
tiens, t'aurais pas parlé de sid, j'aurais dit que tu étais sous RH 8, ça me fait penser à un problème de variable SYSINCLUDE ton problème là ou alors à des règles prédéfinies pour gentoo vu que tu utilises des sources gentoo si j'ai bien compris

Reply

Marsh Posté le 25-03-2003 à 17:55:05    

Bon, j'ai essayé avec un kernel "propre" (non patché) : même résultat, je n'arrive même pas à faire un make xconfig, ces erreurs de headers ont l'air plutôt corriaces. J'ai tenté l'installation du package fixheaders mais sans succès : il manque visiblement toujours les fichiers headers de base. Si vous pouviez m'aider, je pense que c'est un pb assez simple puisque tout un chacun arrive à compiler son kernel sur sa Deb. A noter que j'avais mis à jour la libc6 juste avant la compilation avec apt, je ne sais pas si ça a un rapport ...


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 25-03-2003 à 17:56:02    

aucun soucis, j'ai enchainé le ./configure et le make sans un seul warning [:spamafote]  

Reply

Marsh Posté le 25-03-2003 à 18:00:11    

- Fred - a écrit :

Bon, j'ai essayé avec un kernel "propre" (non patché) : même résultat, je n'arrive même pas à faire un make xconfig, ces erreurs de headers ont l'air plutôt corriaces. J'ai tenté l'installation du package fixheaders mais sans succès : il manque visiblement toujours les fichiers headers de base. Si vous pouviez m'aider, je pense que c'est un pb assez simple puisque tout un chacun arrive à compiler son kernel sur sa Deb. A noter que j'avais mis à jour la libc6 juste avant la compilation avec apt, je ne sais pas si ça a un rapport ...


 
si ça risque fortement :/ m'enfin c'est peut-être pas cassé
 
que te dit : echo $SYSINCLUDE
si elle est définie ?
 
sinon tu peux éditer les Makefile et modifier les ligne include "-I....." toi-même

Reply

Marsh Posté le 25-03-2003 à 18:07:09    

Ca m'apprendra à ne pas installer les bon packets ... j'avais tout simplement oublié d'installer g++ !
 
Donc, maintenant la compilation marche, mais le segmentation fault est toujours là ! Aurais-tu une idée pour éviter cette situation ? D'ou est-ce que ça pourrait venir dans le code ?


Message édité par - Fred - le 25-03-2003 à 18:19:01

---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 26-03-2003 à 07:10:35    

Donc personne pour un segfault sauvage comme celui-ci ?
Au pire, vous n'auriez pas d'autres steamer mp3 pour icecast ?


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 26-03-2003 à 15:19:49    

essaye avec xmms et le plugin liveice, tu le trouveras là :
 
http://www.google.fr/linux?hl=fr&i [...] ogle&meta=

Reply

Marsh Posté le 26-03-2003 à 16:35:22    

Je sais qu'il existe un plugin Xmms, mais mon driver audio (aureal ...) marche très mal sous KDE, et j'aîmerais pouvoir faire du streaming sans avoir à lancer X. D'ailleurs, les dernières versions de IceCast ont un nouveau diffuseur de contenu, mais il n'accepte que les ogg ... et tout chez moi est en mp3 :D


Message édité par - Fred - le 26-03-2003 à 16:36:50

---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 26-03-2003 à 16:40:13    

- Fred - a écrit :

Je sais qu'il existe un plugin Xmms, mais avec mon driver audio il ne marche pas correctement a


 
normalement xmms-liveice est un plugin de sortie, il ne se base pas sur tes drivers audio (aucun son ne sortira sur tes enceintes car ce sera streamé directement vers le serveur icecast
 
edit : ah vi oki, peut-être avec mp3blaster ou mpg321, je sais pas... sinon le site de icecast proposait d'autres streamers il me semble


Message édité par BMOTheKiller le 26-03-2003 à 16:42:06
Reply

Marsh Posté le 26-03-2003 à 18:39:46    

Bon, finalement liveice c'est vraiment trop pourri, je vais donc me tenter une compilation de IceS dans une version encore compatible avec le mp3 ... mais cette fois ci il n'arrive pas à trouver les librairies de Lame pour se compiler ! J'ai pourtant installé le package liblame-dev et le fichier lame.h est bien détecté, mais le dossier contenant les headers et autres librairies semble introuvable ...


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 26-03-2003 à 19:20:39    

lame, lame-devel, liblame, liblame-devel
 
tu seras tranquille.... regarde la version qu'il cherche aussi, si ça se trouve ta version de lame est trop récente :/

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed