Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Error raro en X11 (linux)

Iniciado por zupervaca, 17 de Enero de 2007, 11:58:30 PM

« anterior - próximo »

zupervaca

Hola, estoy intentado compilar la libreria multiplataforma en el portatil con el nuevo ubuntu linux y me dice este error despues de ejecutarse la aplicacion y cerrarse del tiron sin mas:

cc -o linux_ogl -s main.cpp -lstdc++ -lGL -lopenal -lpthread -D dib_Linux
./linux_ogl
X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
 Major opcode of failed request:  142 (GLX)
 Minor opcode of failed request:  1 (X_GLXRender)
 Serial number of failed request:  123
 Current serial number in output stream:  125
make: *** [linux_ogl] Error 1

¿Alguien sabe que puede ser?

Editado: Vaya ya lo he solucionado, no obstante por si ha alguien le pasa... tuve que instalar el paquete libgl1-mesa-swx11-dev y desinstalar el paquete libgl1-mesa-dev

1cacalvo

Y como llegastes a esa solución????  :?

zupervaca

jeje me rio por no llorar, la verdad es que fue pura suerte, simplemente esta una debajo de la otra y al seleccionar la otra la primera se desinstalo sola, no obstante como mesa es una libreria a alto nivel y venia el sufijo x11 me parecio que tendria mas dependencias e instalaria mas cosas. Lo dicho pura suerte y que no falte para estas cosas :wink:

Buffon

es el problema de linux, que los .so son enlaces a los .a o que por la distribución dentro de los directorios escoja una antes que la otra >.<

A mi me pasaba que cuando instalaba desde cero Debian Ubuntu Edgy y le ponía las librerías glut.
% sudo aptitude install libglut3
sólo se instalaban las librerías de glut, pero los *.h sólo tenían un #include "freeglut-lib.h"

Para que hace la gente librerías gratuitas de otras que ya lo son ? <.<

Kain

Hola

Me extraño tu pregunta, como llegaste a la solucion, es casi bien simple si has compilado algunos programas, al decir linux_ogl, se refiere a OpenGL, y si tuviste una Voodoo de 3dfx sabras que Mesa es la version de OpenGL, que portaron a Linux es la que ocupa

Siempre cuando uno va compilar y ve que falta algo, en este caso viste que faltaba algo al ver el error, era buscar las librerias de desarrollo, en linux siemrpe llevan un DEV entremedio o al final, e instalarlas, aunque debio haberte dado el error en el configure, debe haber creido que no era importante  :lol:

Mas o menos esa es la metodologia de compilar, en pasos :

1. Compilar
2. Si no da error has compilado bien, si da error sigue leyendo.
3. Revisa el error, la mayoria de las veces es que falta alguna libreria, tienes que ver segun el fallo que te de con que se trata, sonido, video... y relacionar con libreria, aveces, es una mala ruta en el Makefile, hay que cambiarlo, pero la mayoria de las veces el GCC da un numero de error, error 1, error 2 asi que por eso se sabe.
4. Crear unas Hipotesis, varias son siempre mejores.
5. Buscar la solucion segun las hipotesis, si no es instalar la libreria faltante o cambiar la ruta, en fin solucionar el problema.

Si te daras cuenta, sigue totalmente el Procedimiento Cientifico, debe ser por que es un derivado de la ciencia :lol:, espero que les sirva de algo al compilar.

Buffon, te equivocas, lo SO, son por decirlo así Ejecutables, que estan hechos de tal forma que un programa ocupa sus funciones, no son enlaces, tal ves ocupan otros programas, pero no la mayoria de las veces.

Y si ocupas una distribucion basada en debian ocupa :

$sudo apt-get install PROGRAMA

:wink: es mejor, los mensajes de error llegan directo, y es menos trabajo para el micro, el synaptic ocupa apt-get, ap-get, ocupa dpkg y dpkg ocupa uno que se me olvido el nombre, es sobrecargar el micro, con tantos programas,q eu ahcen lo mismo y los cargan todos.

Saludos. :wink:
b]"La Unica Iglesia Que Ilumina Es La Que Arde"[/b]

zupervaca

Gracias a todos por las respuestas ya he logrado compilar todo  :D

senior wapo

Teoricamente:

libgl1-mesa-swx11-dev = opengl por software
libgl1-mesa-dev = opengl acelerado hardware (glx)

¿ No te va más lento el programa ahora que enlazas con la versión swx11 ?

zupervaca

Umm, pues la verdad lo que compile es el ejemplo de la libreria multiplataforma, que solo reproduce una musica, muestra un texto en pantallay pinta un sprite, con lo que no he podido notar nada, cuando compile algo mas cañero os comento.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.