PDA

Afficher la version complète : probleme de compilation flight gear



Asmod_D
26/01/2007, 17h29
bonjour,

je suis sous linux suse 10.0 et je n'arrive pas à compiler les codes sources de flight gear . on me demande d'installer 3 programmes avant de compiler flight gear 1. la lib plib http://www.alionet.org/style_emoticons/<#EMO_DIR#>/ohmy.gifk pas de probleme.
2.l'openal : ok pas de probleme.
3.puis lors de la compilation du troisieme programmes : simgear 0.3.10 il y a les erreurs de compilation voici ces erreurs :


make[3]: *** [visual_enviro.o] Erreur 1
make[3]: Leaving directory `/home/domnik/Flight/SimGear-0.3.10/simgear/environment'
make[2]: *** [all-recursive] Erreur 1
make[2]: Leaving directory `/home/domnik/Flight/SimGear-0.3.10/simgear'
make[1]: *** [all] Erreur 2
make[1]: Leaving directory `/home/domnik/Flight/SimGear-0.3.10/simgear'
make: *** [all-recursive] Erreur 1

je voudrais savoir pourquoi ?

merci

Clark
26/01/2007, 19h17
Bonjour.
Les erreurs que tu nous montres ne peuvent suffire à répondre à ta question. Il nous faut le premier message signalant une anomalie, plusieurs lignes au dessus, juste après la bouillie de caractères sortie pendant la compilation.

Asmod_D
26/01/2007, 19h41
salut,

voici le code en dessus :
Making install in environment
make[2]: Entering directory `/home/domnik/Flight/SimGear-0.3.10/simgear/environment'
if g++ -DHAVE_CONFIG_H -I. -I. -I../../simgear -I../.. -I/usr/X11R6/include -g -O2 -D_REENTRANT -MT visual_enviro.o -MD -MP -MF ".deps/visual_enviro.Tpo" -c -o visual_enviro.o visual_enviro.cxx; \
then mv -f ".deps/visual_enviro.Tpo" ".deps/visual_enviro.Po"; else rm -f ".deps/visual_enviro.Tpo"; exit 1; fi
In file included from ../../simgear/sound/soundmgr_openal.hxx:53,
from visual_enviro.cxx:34:
../../simgear/sound/sample_openal.hxx:52:22: error: AL/alut.h: Aucun fichier ou répertoire de ce type
make[2]: *** [visual_enviro.o] Erreur 1
make[2]: Leaving directory `/home/domnik/Flight/SimGear-0.3.10/simgear/environment'
make[1]: *** [install-recursive] Erreur 1
make[1]: Leaving directory `/home/domnik/Flight/SimGear-0.3.10/simgear'
make: *** [install-recursive] Erreur 1


merci encore !

Asmod_D
26/01/2007, 21h05
salux,



en recherchant bien j'ai constater que je n'avais pas bien installé openAL donc en remettant tout en ordre j'ai recompilé est j'ai obtenue une nouvelle erreur :

Making install in sound
make[2]: Entering directory `/home/domnik/Flight/SimGear-0.3.10/simgear/sound'
g++ -g -O2 -D_REENTRANT -L/usr/X11R6/lib -o openal_test1 openal_test1.o ../.. /simgear/debug/libsgdebug.a -lopenal -lm
openal_test1.o: dans la fonction « main »:
/home/domnik/Flight/SimGear-0.3.10/simgear/sound/openal_test1.cxx:120: référence indéfinie vers « alutCreateBufferFromFile »
collect2: ld returned 1 exit status
make[2]: *** [openal_test1] Erreur 1
make[2]: Leaving directory `/home/domnik/Flight/SimGear-0.3.10/simgear/sound'
make[1]: *** [install-recursive] Erreur 1
make[1]: Leaving directory `/home/domnik/Flight/SimGear-0.3.10/simgear'
make: *** [install-recursive] Erreur 1

je constate que l'erreur se trouve dans le fichier source openal_test.c

voici le code :
#include <stdio.h>

#ifdef __MINGW32__
// This is broken, but allows the file to compile without a POSIX
// environment.
static unsigned int sleep(unsigned int secs) { return 0; }
#else
#include <unistd.h> // sleep()
#endif

#if defined( __APPLE__ )
# define AL_ILLEGAL_ENUM AL_INVALID_ENUM
# define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION
# include <OpenAL/al.h>
# include <OpenAL/alc.h>
# include <OpenAL/alut.h>
#else
# include <AL/al.h>
# include <AL/alc.h>
# include <AL/alut.h>
#endif

#include <simgear/debug/logstream.hxx>

static void print_openal_error( ALuint error ) {
if ( error == AL_INVALID_NAME ) {
SG_LOG( SG_GENERAL, SG_ALERT, "AL_INVALID_NAME" );
} else if ( error == AL_ILLEGAL_ENUM ) {
SG_LOG( SG_GENERAL, SG_ALERT, "AL_ILLEGAL_ENUM" );
} else if ( error == AL_INVALID_VALUE ) {
SG_LOG( SG_GENERAL, SG_ALERT, "AL_INVALID_VALUE" );
} else if ( error == AL_ILLEGAL_COMMAND ) {
SG_LOG( SG_GENERAL, SG_ALERT, "AL_ILLEGAL_COMMAND" );
} else if ( error == AL_OUT_OF_MEMORY ) {
SG_LOG( SG_GENERAL, SG_ALERT, "AL_OUT_OF_MEMORY" );
} else {
SG_LOG( SG_GENERAL, SG_ALERT, "Unhandled error code = " << error );
}
}


int main( int argc, char *argv[] ) {
// initialize OpenAL
ALCdevice *dev;
ALCcontext *context;

// initialize OpenAL
if ( (dev = alcOpenDevice( NULL )) != NULL
&& ( context = alcCreateContext( dev, NULL )) != NULL ) {
alcMakeContextCurrent( context );
} else {
context = 0;
SG_LOG( SG_GENERAL, SG_ALERT, "Audio initialization failed!" );
}

// Position of the listener.
ALfloat listener_pos[3];

// Velocity of the listener.
ALfloat listener_vel[3];

// Orientation of the listener. (first 3 elements are "at", second
// 3 are "up")
ALfloat listener_ori[6];

listener_pos[0] = 0.0;
listener_pos[1] = 0.0;
listener_pos[2] = 0.0;

listener_vel[0] = 0.0;
listener_vel[1] = 0.0;
listener_vel[2] = 0.0;

listener_ori[0] = 0.0;
listener_ori[1] = 0.0;
listener_ori[2] = -1.0;
listener_ori[3] = 0.0;
listener_ori[4] = 1.0;
listener_ori[5] = 0.0;

alListenerfv( AL_POSITION, listener_pos );
alListenerfv( AL_VELOCITY, listener_vel );
alListenerfv( AL_ORIENTATION, listener_ori );

// Buffers hold sound data.
ALuint buffer;

// Sources are points emitting sound.
ALuint source;

// Position of the source sound.
ALfloat source_pos[3];

// Velocity of the source sound.
ALfloat source_vel[3];

// configuration values
ALenum format;
ALsizei size;
ALvoid* data;
ALsizei freq;
ALboolean loop;

source_pos[0] = 0.0; source_pos[1] = 0.0; source_pos[2] = 0.0;
source_vel[0] = 0.0; source_vel[1] = 0.0; source_vel[2] = 0.0;

// create an OpenAL buffer handle
alGenBuffers(1, &buffer);
ALuint error = alGetError();
if ( error != AL_NO_ERROR ) {
print_openal_error( error );
SG_LOG( SG_GENERAL, SG_ALERT, "Failed to gen OpenAL buffer." );
} else {
SG_LOG( SG_GENERAL, SG_ALERT, "Buffer created ok!" );
}

// Load the sample file
#if defined(ALUT_API_MAJOR_VERSION) && ALUT_API_MAJOR_VERSION >= 1

buffer = alutCreateBufferFromFile("jet.wav"); // voici l'erreur du code[/color]
if (buffer == AL_NONE) {
SG_LOG( SG_GENERAL, SG_ALERT, "Failed to buffer data.");
}

#else
# if defined (__APPLE__)
alutLoadWAVFile( (ALbyte *)"jet.wav", &format, &data, &size, &freq );
# else
alutLoadWAVFile( (ALbyte *)"jet.wav", &format, &data, &size, &freq, &loop );
# endif
if (alGetError() != AL_NO_ERROR) {
SG_LOG( SG_GENERAL, SG_ALERT, "Failed to load wav file.");
}

// Copy data to the internal OpenAL buffer
alBufferData( buffer, format, data, size, freq );
if (alGetError() != AL_NO_ERROR) {
SG_LOG( SG_GENERAL, SG_ALERT, "Failed to buffer data.");
}

alutUnloadWAV( format, data, size, freq );
#endif

alGenSources(1, &source);
if (alGetError() != AL_NO_ERROR) {
print_openal_error( error );
}

alSourcei( source, AL_BUFFER, buffer );
alSourcef( source, AL_PITCH, 1.0 );
alSourcef( source, AL_GAIN, 1.0 );
alSourcefv( source, AL_POSITION, source_pos );
alSourcefv( source, AL_VELOCITY, source_vel );
alSourcei( source, AL_LOOPING, loop );

alSourcePlay( source );

sleep(10);

return 0;
}

je suis desolé je ne connais absolument pas openAL

merci encore
[color=#CC0000]

Clark
26/01/2007, 22h43
Première chose, quand tu cites du code assez long, encadre-le des balises :
Ça évite d'avoir des messages trop long et difficilement lisible.

Ensuite, j'ai trouvé ici (http://doc.ubuntu-fr.org/flightgear) une façon de compiler la 0.9.9. As-tu bien installé les paquets suivants : g++, build-essential, libopenal-dev, plib1.8.4-dev, automake, zlib1g-dev et libfltk1.1-dev ?

Asmod_D
27/01/2007, 00h04
salux,

je te remercie beaucoup pour ton aide mais malheusement ça ne fonctionne pas :
j'ai installer apt ,j'ai suivi à la lettre les informations sur le site ubunto mais rien ni fait il y a toujours le meme probleme :

Making install in sound
make[2]: Entering directory `/home/domnik/Flight/SimGear-0.3.10/simgear/sound'
g++ -g -O2 -D_REENTRANT -L/usr/X11R6/lib -o openal_test1 openal_test1.o ../.. /simgear/debug/libsgdebug.a -lopenal -lm
openal_test1.o: dans la fonction « main »:
/home/domnik/Flight/SimGear-0.3.10/simgear/sound/openal_test1.cxx:120: référence indéfinie vers « alutCreateBufferFromFile »
collect2: ld returned 1 exit status
make[2]: *** [openal_test1] Erreur 1
make[2]: Leaving directory `/home/domnik/Flight/SimGear-0.3.10/simgear/sound'
make[1]: *** [install-recursive] Erreur 1
make[1]: Leaving directory `/home/domnik/Flight/SimGear-0.3.10/simgear'
make: *** [install-recursive] Erreur 1

merci !

Carnaby
27/01/2007, 00h26
Y'a pas de rpm pour la 10.0?

Dans la 10.2 ça fait partie des packages de base (d'ailleurs si il faut ils fonctionneraient avec la 10.0).

Asmod_D
27/01/2007, 01h13
salux,

merci je sais qu'il y a des rpm pour installer flightgear mais je veux compiler le programme afin de comprendre comment on compile

et de plus j'ai une petite une idee de suite pour le jeu.

Carnaby
27/01/2007, 01h37
Dans ce cas là tu devrais pouvoir corriger ton problème en ajoutant les librairie pour la fonction "alutCreateBufferFromFile"

Comme le nom l'indique c'est une fonction qui fait partie de ALUT il te faut donc probablement l'installer ou rajouter le devel (sous les distribution récente ces libraire son dans le package freeALUT).

Asmod_D
27/01/2007, 11h52
salut,

j'ai reussi l'installation de flight gear sous suse linux, mais ho la la :

effectivement , j'ai du telecharger et installer les nouvelles librairies de l'openal 0.0.8 ainsi que les librairies freealut 1.1.0.

lors de la compilation je n'ai pas eu de probleme
mais il y a eu un autre probleme celui de la librairie de freeglut : lorsque je lancer le programme il y avait une erreur initialisation de glut ,j'ai donc chercher un peu sur le net et j'ai pu constater qu'il fallait remplacer la version freeglut 2.4 a la version freeglut 2.2 a cause des bugs de la librairie de la version 2.4 puis hop ça fonctionne !

je vous remercie beaucoup pour vos aides .

phoenix
27/01/2007, 12h36
Ne pas oublier de mettre [Réglé]