Page 1 sur 2

Pas d'initialisation du moteur3D sous linux

Publié : mar. 01/juil./2014 17:20
par translucidus
Bonsoir à tous je suis nouveau sur ce forum.
J'ai un problème l'initialisation du moteur D me retourne l'erreur (Can't initialize engine3D)
je suis sous linux Debian 7.1 j'ai une carte graphique GT620, pourtant je développe avec Opengl Glut et OpenInventor sans problème
mes programmes fonctionnent correctement.
Je souhaitais faire des essais avec PureBasic5.21 pour remplacer mes anciens programmes, mais je suis complètement bloqué et n'ai
trouvé aucune réponse pouvant résoudre mon problème sur le forum.
Merci de votre aide.
Pour info je fais de l'informatique depuis 1967....

Re: Pas d'initialisation du moteur3D sous linux

Publié : mar. 01/juil./2014 19:38
par falsam
Bonjour translucidus et bienvenue.

Pouvez vous remplacer InitEngine3D() par InitEngine3D(#PB_Engine3D_DebugLog).
Après exécution du code, pouvez vous faire un copier/colller du contenu du fichier Ogre.log

Re: Pas d'initialisation du moteur3D sous linux

Publié : mar. 01/juil./2014 20:25
par G-Rom
Sous linux, le reflexe à avoir lors des crashs de n'importe quel programme , c'est de récupérer la sortie , pour cela , il faut lancer PB via un shell et lancer la compilation voir d'ou viens le problème.
Sous Linux, c'est généralement un PB de dépendance non satisfaite.

Re: Pas d'initialisation du moteur3D sous linux

Publié : jeu. 03/juil./2014 17:08
par translucidus
Merci falsam et G-Rom de m'avoir répondu rapidement, je savais que mon problème était lié à la librairie engine3d, effectivement j'aurai du avoir le réflexe de lancer PB via le shell, mais j'ai plutôt l'habitude de travailler avec emacs.
Donc mon PB c'est la librairie engine3d.so qui utilise glib_2.14 or sous debian 7.1 libc.so.6 utilise glib_2.13, la 2.14 étant instable même sous les paquets expérimentaux elle n'éxite pas.
Le passage à glib_2_14 ne se fera pas il est qsuestion de passer à la 2.17 qui n'est pas encore officielle pour debian.

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/dan/purebasic/compilers/engine3d.so)

donc mon problème n'est pas résolu pour le moment.

Bonne soirée à tous.

Re: Pas d'initialisation du moteur3D sous linux

Publié : jeu. 03/juil./2014 17:13
par Fred
Apparement c'est supporté sur debian 7 en installant la 2.17 en plus:

http://unix.stackexchange.com/questions ... -on-wheezy

Code : Tout sélectionner

sudo apt-get install libc6-dev=2.17-7

Re: Pas d'initialisation du moteur3D sous linux

Publié : jeu. 03/juil./2014 22:06
par translucidus
Bonsoir Fred,
Je vous remercie pour l'info mais malheureusement pour le moment aucune version stable de la 2.17
de dispo pour debian 7.

# sudo apt-get install libc6-dev=2.17-7
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
E: La version « 2.17-7 » de « libc6-dev » n'a pu être trouvée

Re: Pas d'initialisation du moteur3D sous linux

Publié : ven. 04/juil./2014 9:40
par Fred
Et l'autre commande ?

Code : Tout sélectionner

sudo apt-get -t testing install libc6-dev

Re: Pas d'initialisation du moteur3D sous linux

Publié : ven. 04/juil./2014 13:58
par G-Rom
Vérifie que tu as bien la liste de tes dépôts à jour.
Vérifie aussi que tu as aussi dans tes dépots (/etc/apt/sources.list) les paquets experimental de debian
Ensuite un p'tit coup de sudo apt-get update , et la commande que Fred t'as filé , ça devrais roulé.

Re: Pas d'initialisation du moteur3D sous linux

Publié : ven. 04/juil./2014 16:40
par translucidus
Mes listes sont bien à jour rien sur paquets expérimentaux, rien sur testing et enfin j'ai réussi sur
deb ftp://mir1.ovh.net/debian/ testing main.
Donc plus de PB d'initialisation du moteur 3D, par contre j'ai un nouveau problème aucun des exemples 3D ne fonctionne

Result = OpenWindowedScreen(WindowID(#WINDOW_Screen3DRequester), 0, 0, ScreenWidth, ScreenHeight, 0, 0, 0)

me génère l'erreur Accès mémoire invalide !!!

merci pour vos réponses.

Re: Pas d'initialisation du moteur3D sous linux

Publié : ven. 04/juil./2014 19:20
par Fred
Tu as le fichier Ogre.log ?

Re: Pas d'initialisation du moteur3D sous linux

Publié : ven. 04/juil./2014 19:54
par translucidus
Bonsoir Fred,
Il n'y pas de fichier Ogre.log de généré.
Par exemple lorsque je compile spline.pb le prog ouvre la fenêtre de choix de la résolution je choisi 800*600 une fenêtre noire de demo s'ouvre puis cela plante avec
l'erreur Accès mémoire invalide.

Re: Pas d'initialisation du moteur3D sous linux

Publié : ven. 04/juil./2014 20:18
par falsam
Bonsoir translucidus. Avant de passer aux exemples 3D, pourriez vous enregistrer et tester cet exemple qui affiche un simple cube. Un fichier Ogre.log est en principe généré.
Un copier coller serait le bienvenu.

Code : Tout sélectionner

Enumeration
  #Mainform
EndEnumeration

Global WWIdth, WHeight
Global Event

If Not InitEngine3D(#PB_Engine3D_DebugLog)
  MessageRequester("Information", "InitEngine3D() Erreur")
  End
EndIf

If Not InitSprite()
  MessageRequester("Information","InitSprite() Erreur")
  End
EndIf

InitKeyboard()
InitMouse()

OpenWindow(#Mainform,0,0, 0, 0, "", #PB_Window_SystemMenu | #PB_Window_Maximize)
WWidth = WindowWidth(#Mainform, #PB_Window_InnerCoordinate)
WHeight = WindowHeight(#Mainform, #PB_Window_InnerCoordinate)
OpenWindowedScreen(WindowID(#Mainform),0,0,WWIdth,WHeight,0, 0, 0)

KeyboardMode(#PB_Keyboard_International)

;Lumiere et ombre
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
WorldShadows(#PB_Shadow_Additive)

; Une camera 
Camera = CreateCamera(#PB_Any,0,0,100,100)
CameraBackColor(Camera, RGB(145, 182, 201))


CreateEntity(#PB_Any, MeshID(CreateCube(#PB_Any, 2)), #PB_Material_None)

MoveCamera(Camera, 2, 5, 15, #PB_Absolute)  
CameraLookAt(Camera, 0,0,0)   

Repeat
  Repeat
    Event  = WindowEvent()
    Select Event
      Case #PB_Event_CloseWindow
        End
        
    EndSelect
  Until Event = 0
  
  If ExamineKeyboard()
    
    If KeyboardPushed (#PB_Key_Escape)
      Break
    EndIf
  EndIf
  
  ; Affiche le rendu de la scène
  ClearScreen(RGB(0, 0, 0))
  RenderWorld(80)
  FlipBuffers()    
ForEver

Re: Pas d'initialisation du moteur3D sous linux

Publié : ven. 04/juil./2014 20:22
par comtois
J'aime bien voir le résultat dans une console en ajoutant #PB_Engine3D_DebugOutput.

Code : Tout sélectionner

InitEngine3D(#PB_Engine3D_DebugLog | #PB_Engine3D_DebugOutput)

Re: Pas d'initialisation du moteur3D sous linux

Publié : ven. 04/juil./2014 22:03
par translucidus
Bonsoir Falsam et Comtois,

Voici le résultat :
** (purebasic:4235): CRITICAL **: clearlooks_style_draw_box_gap: assertion `height >= -1' failed

** (purebasic:4235): CRITICAL **: clearlooks_style_draw_box_gap: assertion `height >= -1' failed
Creating resource group General
Creating resource group Internal
Creating resource group Autodetect
SceneManagerFactory for type 'DefaultSceneManager' registered.
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type 'ParticleSystem' registered.
OverlayElementFactory for type Panel registered.
OverlayElementFactory for type BorderPanel registered.
OverlayElementFactory for type TextArea registered.
Registering ResourceManager for type Font
ArchiveFactory for archive type FileSystem registered.
ArchiveFactory for archive type Zip registered.
ArchiveFactory for archive type EmbeddedZip registered.
DDS codec registering
FreeImage version: 3.10.0
This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
Supported formats: bmp,ico,jpg,jif,jpeg,jpe,koa,iff,lbm,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,dds,gif,g3,sgi,j2k,j2c,jp2
PVRTC codec registering
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type 'Entity' registered.
MovableObjectFactory for type 'Light' registered.
MovableObjectFactory for type 'BillboardSet' registered.
MovableObjectFactory for type 'ManualObject' registered.
MovableObjectFactory for type 'BillboardChain' registered.
MovableObjectFactory for type 'RibbonTrail' registered.
*-*-* OGRE Initialising
*-*-* Version 1.8.2 (Byatis)
OpenGL Rendering Subsystem created.
Particle Emitter Type 'Point' registered
Particle Emitter Type 'Box' registered
Particle Emitter Type 'Ellipsoid' registered
Particle Emitter Type 'Cylinder' registered
Particle Emitter Type 'Ring' registered
Particle Emitter Type 'HollowEllipsoid' registered
Particle Affector Type 'LinearForce' registered
Particle Affector Type 'ColourFader' registered
Particle Affector Type 'ColourFader2' registered
Particle Affector Type 'ColourImage' registered
Particle Affector Type 'ColourInterpolator' registered
Particle Affector Type 'Scaler' registered
Particle Affector Type 'Rotator' registered
Particle Affector Type 'DirectionRandomiser' registered
Particle Affector Type 'DeflectorPlane' registered
PCZone Factory Type 'ZoneType_Default' registered
CPU Identifier & Features
-------------------------
* CPU ID: GenuineIntel: Intel(R) Core(TM) i5-3350P CPU @ 3.10GHz
* SSE: yes
* SSE2: yes
* SSE3: yes
* MMX: yes
* MMXEXT: yes
* 3DNOW: no
* 3DNOWEXT: no
* CMOV: yes
* TSC: yes
* FPU: yes
* PRO: yes
* HT: no
-------------------------
******************************
*** Starting GLX Subsystem ***
******************************
Registering ResourceManager for type Texture
SceneManagerFactory for type 'OctreeSceneManager' registered.
SceneManagerFactory for type 'BspSceneManager' registered.
Registering ResourceManager for type BspLevel
GLRenderSystem::_createRenderWindow "PureBasic Ogre", 1x1 windowed miscParams: FSAA=0 displayFrequency=0 parentWindowHandle=41943079 vsync=true


[Fatal Debugger Error] Broken communication pipe.

Re: Pas d'initialisation du moteur3D sous linux

Publié : ven. 04/juil./2014 23:00
par Fred
Quelle est ta carte graphique et les drivers installés ?