OpenGL problem, need HEEELP!
Morgoth
morgothdbma at go2.pl
Thu Aug 7 08:32:51 PDT 2003
My name is Lucas Griglicki
Address: Poland, Minsk Maz Warszawska Street 196 flat 30
Email Address: morgothdbma at o2.pl
I have a problem with OpenGL on FreeBSD, it cannot link
My system is:
FreeBSD starlight.morgoth.domain 5.1-RELEASE FreeBSD 5.1-RELEASE #1: Tue Jul 22 02:07:13 CEST 2003 root at starlight.morgoth.domain:/usr/src/sys/i386/compile/STARLIGHT i386
My X Server is:
XFree86 Version 4.3.0
Release Date: 27 February 2003
X Protocol Version 11, Revision 0, Release 6.6
Build Operating System: FreeBSD 5.1 i386 [ELF]
Build Date: 24 May 2003
Before reporting problems, check http://www.XFree86.Org/
to make sure that you have the latest version.
Module Loader present
My NVIDIA drivers are:
-r--r--r-- 1 root wheel 4522076 Jul 18 23:04 /data/pkgs/nvidia/nvidia_freebsd_x86_10_4365-FOR_FREEBSD51.tar.gz
/boot/kernel/nvidia.ko: ELF 32-bit LSB shared object, Intel 80386, version 1 (FreeBSD), not stripped
My hardware is:
Athlon XP 2200+
NVIDIA GeForce II MX 400
DDR 512MB
HDD 114GB
My GCC is:
gcc (GCC) 3.2.2 [FreeBSD] 20030205 (release)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
My glxinfo output is:
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.3
server glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer
client glx vendor string: NVIDIA Corporation
client glx version string: 1.3
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync,
GLX_SGIX_swap_group, GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_NV_float_buffer
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_ARB_get_proc_address
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce2 MX/AGP/SSE/3DNOW!
OpenGL version string: 1.4.0 NVIDIA 43.65
OpenGL extensions:
GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_point_parameters,
GL_ARB_texture_compression, GL_ARB_texture_cube_map,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_window_pos, GL_S3_s3tc, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_minmax,
GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
GL_EXT_compiled_vertex_array, GL_EXT_draw_range_elements,
GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels,
GL_EXT_paletted_texture, GL_EXT_point_parameters, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_shared_texture_palette, GL_EXT_stencil_wrap,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod,
GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array,
GL_IBM_texture_mirrored_repeat, GL_KTX_buffer_region, GL_NV_blend_square,
GL_NV_fence, GL_NV_fog_distance, GL_NV_light_max_exponent,
GL_NV_packed_depth_stencil, GL_NV_pixel_data_range, GL_NV_point_sprite,
GL_NV_register_combiners, GL_NV_texgen_reflection,
GL_NV_texture_env_combine4, GL_NV_texture_rectangle,
GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_program,
GL_NV_vertex_program1_1, GL_NVX_ycrcb, GL_SGIS_generate_mipmap,
GL_SGIS_multitexture, GL_SGIS_texture_lod
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x21 24 tc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x22 24 dc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x23 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x24 24 tc 0 32 0 r . . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x25 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x26 24 tc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 0 0 None
0x27 24 tc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 0 0 None
0x28 24 tc 0 32 0 r . . 8 8 8 0 0 16 0 16 16 16 16 0 0 None
0x29 24 tc 0 32 0 r . . 8 8 8 8 0 16 0 16 16 16 16 0 0 None
0x2a 24 tc 0 32 0 r y . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x2b 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
0x2c 24 tc 0 32 0 r . . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x2d 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
0x2e 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x2f 24 dc 0 32 0 r . . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x30 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x31 24 dc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 0 0 None
0x32 24 dc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 0 0 None
0x33 24 dc 0 32 0 r . . 8 8 8 0 0 16 0 16 16 16 16 0 0 None
0x34 24 dc 0 32 0 r . . 8 8 8 8 0 16 0 16 16 16 16 0 0 None
0x35 24 dc 0 32 0 r y . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x36 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
0x37 24 dc 0 32 0 r . . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x38 24 dc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
On my system works (with no problems):
glxgears
ut2003_demo for linux (Linux binary emulation)
MPlayer 0.90 with -vo gl and -vo gl2
Mplayer -vo help output:
Using GNU internationalization
Original domain: messages
Original dirname: /usr/local/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale
MPlayer 0.90rc5-3.2.2 (C) 2000-2003 Arpad Gereoffy (see DOCS)
CPU: Advanced Micro Devices Athlon 4 PM Palomino/Athlon MP Multiprocessor/Athlon XP eXtreme Performance (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
Reading config file /usr/local/etc/mplayer/mplayer.confReading config file /root/.mplayer/config
Available video output drivers:
xv X11/Xv
x11 X11 ( XImage/Shm )
gl X11 (OpenGL)
gl2 X11 (OpenGL) - multiple textures version
dga DGA ( Direct Graphic Access V2.0 )
sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
svga SVGAlib
aa AAlib
png PNG file
jpeg JPEG file
gif89a animated GIF output
null Null video output
pgm PGM file
md5 MD5 sum
mpegpes Mpeg-PES file
yuv4mpeg yuv4mpeg output for mjpegtools (to "stream.yuv")
xvidix X11 (VIDIX)
============ My problem is: LINKING =====================
Cmdline:
g++ -I/usr/X11R6/include -L/usr/X11R6/lib -o GLhello HELLO.C -lX11 -lglut -lGL -lGLU
Gcc Output is:
/usr/X11R6/lib/libglut.so: undefined reference to `glXBindChannelToWindowSGIX'
/usr/X11R6/lib/libglut.so: undefined reference to `glXQueryChannelDeltasSGIX'
/usr/X11R6/lib/libglut.so: undefined reference to `glXChannelRectSyncSGIX'
/usr/X11R6/lib/libglut.so: undefined reference to `glXChannelRectSGIX'
/usr/X11R6/lib/libglut.so: undefined reference to `glXQueryChannelRectSGIX'
I've tried many thing to make it work:
1) Linked with all shared library in /usr/X11R6/lib
2) With all posible shared library (wrote special shell-script)
3) Read documentation (no more linking is needed, but dont work!)
4) Grepped for any lib*[gG][lL]*[xX]*.so in my /
5) Used /usr/X11R6/lib/modules/extensions/libglx.so.1 (more unresolved symbols)
6) Objdum for glX*:
CmdLine:
objdump -t /usr/X11R6/lib/libglut.so.3 | grep glX
Output:
00000000 *UND* 00000000 glXBindChannelToWindowSGIX
00000000 *UND* 00000000 glXCreateContextWithConfigSGIX
00000000 *UND* 00000000 glXGetFBConfigAttribSGIX
00000000 *UND* 00000000 glXQueryExtension
00000000 *UND* 00000000 glXQueryChannelDeltasSGIX
00000000 *UND* 00000000 glXMakeCurrent
00000000 *UND* 00000000 glXQueryExtensionsString
00000000 *UND* 00000000 glXChooseVisual
00000000 *UND* 00000000 glXChannelRectSyncSGIX
00000000 *UND* 00000000 glXDestroyContext
00000000 *UND* 00000000 glXChannelRectSGIX
00000000 *UND* 00000000 glXWaitX
00000000 *UND* 00000000 glXQueryVersion
00000000 *UND* 00000000 glXQueryChannelRectSGIX
00000000 *UND* 00000000 glXGetClientString
00000000 *UND* 00000000 glXGetFBConfigFromVisualSGIX
00000000 *UND* 00000000 glXIsDirect
00000000 *UND* 00000000 glXSwapBuffers
00000000 *UND* 00000000 glXCreateContext
00000000 *UND* 00000000 glXGetConfig
needed symols are in the shared objject but in *UND* section
So implementation is in other library ?????
Which one ?????????
XOpenDisplay is also in *UND* and implementation ins in libX11.so.6
May I have incomplete GL ??
Where can I find complete GL (no unresolved symbols) for FreeBSD 5.1 and NVIDIA GeForce II ?
7) I cant find libglut.a in my /, IS IT PROBLEM OR NOT ?????
8) I've made shell-script to find any lib*.so* and for each ``objdump -t'' it and grep for glX
for file in /usr/X11R6/lib/lib*.so*; do; ls -l $file; objdump -t $file | grep glX > out 2>/dev/null; done
9) I searched file ``out'':
lrwxr-xr-x 1 root wheel 12 Jul 29 15:22 libglut.so -> libglut.so.3
00000000 *UND* 00000000 glXBindChannelToWindowSGIX
00000000 *UND* 00000000 glXCreateContextWithConfigSGIX
00000000 *UND* 00000000 glXGetFBConfigAttribSGIX
00000000 *UND* 00000000 glXQueryExtension
00000000 *UND* 00000000 glXQueryChannelDeltasSGIX
00000000 *UND* 00000000 glXMakeCurrent
00000000 *UND* 00000000 glXQueryExtensionsString
00000000 *UND* 00000000 glXChooseVisual
00000000 *UND* 00000000 glXChannelRectSyncSGIX
00000000 *UND* 00000000 glXDestroyContext
00000000 *UND* 00000000 glXChannelRectSGIX
00000000 *UND* 00000000 glXWaitX
00000000 *UND* 00000000 glXQueryVersion
00000000 *UND* 00000000 glXQueryChannelRectSGIX
00000000 *UND* 00000000 glXGetClientString
00000000 *UND* 00000000 glXGetFBConfigFromVisualSGIX
00000000 *UND* 00000000 glXIsDirect
00000000 *UND* 00000000 glXSwapBuffers
00000000 *UND* 00000000 glXCreateContext
00000000 *UND* 00000000 glXGetConfig
-rwxr-xr-x 1 root wheel 301580 May 24 10:13 libglut.so.3
00000000 *UND* 00000000 glXBindChannelToWindowSGIX
00000000 *UND* 00000000 glXCreateContextWithConfigSGIX
00000000 *UND* 00000000 glXGetFBConfigAttribSGIX
00000000 *UND* 00000000 glXQueryExtension
00000000 *UND* 00000000 glXQueryChannelDeltasSGIX
00000000 *UND* 00000000 glXMakeCurrent
00000000 *UND* 00000000 glXQueryExtensionsString
00000000 *UND* 00000000 glXChooseVisual
00000000 *UND* 00000000 glXChannelRectSyncSGIX
00000000 *UND* 00000000 glXDestroyContext
00000000 *UND* 00000000 glXChannelRectSGIX
00000000 *UND* 00000000 glXWaitX
00000000 *UND* 00000000 glXQueryVersion
00000000 *UND* 00000000 glXQueryChannelRectSGIX
00000000 *UND* 00000000 glXGetClientString
00000000 *UND* 00000000 glXGetFBConfigFromVisualSGIX
00000000 *UND* 00000000 glXIsDirect
00000000 *UND* 00000000 glXSwapBuffers
00000000 *UND* 00000000 glXCreateContext
00000000 *UND* 00000000 glXGetConfig
lrwxr-xr-x 1 root wheel 17 Jul 29 15:22 libqt-mt.so -> libqt-mt.so.3.1.2
00000000 F *UND* 00000124 glXQueryServerString
00000000 F *UND* 0000010d glXUseXFont
00000000 F *UND* 00000071 glXQueryExtension
00000000 F *UND* 000000aa glXDestroyGLXPixmap
00000000 F *UND* 0000058f glXMakeCurrent
00000000 F *UND* 000000ac glXQueryExtensionsString
00000000 F *UND* 00000ace glXChooseVisual
00000000 F *UND* 0000001c glXDestroyContext
00000000 F *UND* 000000ed glXWaitX
00000000 F *UND* 00000048 glXGetClientString
00000000 F *UND* 00000038 glXIsDirect
00000000 F *UND* 00000126 glXSwapBuffers
00000000 F *UND* 00000032 glXCreateContext
00000000 F *UND* 000001e2 glXGetConfig
00000000 F *UND* 000000d0 glXCreateGLXPixmap
lrwxr-xr-x 1 root wheel 17 Jul 29 15:22 libqt-mt.so.3 -> libqt-mt.so.3.1.2
00000000 F *UND* 00000124 glXQueryServerString
00000000 F *UND* 0000010d glXUseXFont
00000000 F *UND* 00000071 glXQueryExtension
00000000 F *UND* 000000aa glXDestroyGLXPixmap
00000000 F *UND* 0000058f glXMakeCurrent
00000000 F *UND* 000000ac glXQueryExtensionsString
00000000 F *UND* 00000ace glXChooseVisual
00000000 F *UND* 0000001c glXDestroyContext
00000000 F *UND* 000000ed glXWaitX
00000000 F *UND* 00000048 glXGetClientString
00000000 F *UND* 00000038 glXIsDirect
00000000 F *UND* 00000126 glXSwapBuffers
00000000 F *UND* 00000032 glXCreateContext
00000000 F *UND* 000001e2 glXGetConfig
00000000 F *UND* 000000d0 glXCreateGLXPixmap
lrwxr-xr-x 1 root wheel 17 Jul 29 15:22 libqt-mt.so.3.0 -> libqt-mt.so.3.0.5
00000000 F *UND* 00000124 glXQueryServerString
00000000 F *UND* 00000071 glXQueryExtension
00000000 F *UND* 000000aa glXDestroyGLXPixmap
00000000 F *UND* 0000058f glXMakeCurrent
00000000 F *UND* 000000ac glXQueryExtensionsString
00000000 F *UND* 00000a9a glXChooseVisual
00000000 F *UND* 0000001c glXDestroyContext
00000000 F *UND* 000000ed glXWaitX
00000000 F *UND* 00000043 glXGetClientString
00000000 F *UND* 00000038 glXIsDirect
00000000 F *UND* 00000146 glXSwapBuffers
00000000 F *UND* 00000032 glXCreateContext
00000000 F *UND* 000001e2 glXGetConfig
00000000 F *UND* 000000d0 glXCreateGLXPixmap
-rwxr-xr-x 1 root wheel 7462481 Jan 4 2003 libqt-mt.so.3.0.5
00000000 F *UND* 00000124 glXQueryServerString
00000000 F *UND* 00000071 glXQueryExtension
00000000 F *UND* 000000aa glXDestroyGLXPixmap
00000000 F *UND* 0000058f glXMakeCurrent
00000000 F *UND* 000000ac glXQueryExtensionsString
00000000 F *UND* 00000a9a glXChooseVisual
00000000 F *UND* 0000001c glXDestroyContext
00000000 F *UND* 000000ed glXWaitX
00000000 F *UND* 00000043 glXGetClientString
00000000 F *UND* 00000038 glXIsDirect
00000000 F *UND* 00000146 glXSwapBuffers
00000000 F *UND* 00000032 glXCreateContext
00000000 F *UND* 000001e2 glXGetConfig
00000000 F *UND* 000000d0 glXCreateGLXPixmap
lrwxr-xr-x 1 root wheel 17 Jul 29 15:22 libqt-mt.so.3.1 -> libqt-mt.so.3.1.2
00000000 F *UND* 00000124 glXQueryServerString
00000000 F *UND* 0000010d glXUseXFont
00000000 F *UND* 00000071 glXQueryExtension
00000000 F *UND* 000000aa glXDestroyGLXPixmap
00000000 F *UND* 0000058f glXMakeCurrent
00000000 F *UND* 000000ac glXQueryExtensionsString
00000000 F *UND* 00000ace glXChooseVisual
00000000 F *UND* 0000001c glXDestroyContext
00000000 F *UND* 000000ed glXWaitX
00000000 F *UND* 00000048 glXGetClientString
00000000 F *UND* 00000038 glXIsDirect
00000000 F *UND* 00000126 glXSwapBuffers
00000000 F *UND* 00000032 glXCreateContext
00000000 F *UND* 000001e2 glXGetConfig
00000000 F *UND* 000000d0 glXCreateGLXPixmap
-rwxr-xr-x 1 root wheel 7805717 May 24 17:29 libqt-mt.so.3.1.2
00000000 F *UND* 00000124 glXQueryServerString
00000000 F *UND* 0000010d glXUseXFont
00000000 F *UND* 00000071 glXQueryExtension
00000000 F *UND* 000000aa glXDestroyGLXPixmap
00000000 F *UND* 0000058f glXMakeCurrent
00000000 F *UND* 000000ac glXQueryExtensionsString
00000000 F *UND* 00000ace glXChooseVisual
00000000 F *UND* 0000001c glXDestroyContext
00000000 F *UND* 000000ed glXWaitX
00000000 F *UND* 00000048 glXGetClientString
00000000 F *UND* 00000038 glXIsDirect
00000000 F *UND* 00000126 glXSwapBuffers
00000000 F *UND* 00000032 glXCreateContext
00000000 F *UND* 000001e2 glXGetConfig
00000000 F *UND* 000000d0 glXCreateGLXPixmap
All needed functions are in *UND* section, I cant find IMPLEMENTATION
IS IT SOMEWHERE IS DEVICE-DRIVER ???? (nvidia.ko) ? (couldn't grep any glX symbol in it)
Can somebody halp me?
Here is my HELLO.C file:
#include <GL/glut.h>
void display(void)
{
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glEnd();
glFlush ();
}
void init (void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (250, 250);
glutInitWindowPosition (100, 100);
glutCreateWindow ("hello");
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0; /* ANSI C requires main to return int. */
}
========================= EOF =========================
If it matters, this is my AS version:
GNU assembler 2.13.2 [FreeBSD] 2002-11-27
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
This assembler was configured for a target of `i386-obrien-freebsd5.0'.
My name is Lucas Griglicki
Address: Poland, Minsk Maz Warszawska Street 196 flat 30
Email Address: morgothdbma at o2.pl
Please help me, I want to write some funny programs using OpenGL
Any sugestions, doc please sent to my e-mail
Thank You very very much for help
Morgoth DBMA
Written in VIM 6.1
More information about the freebsd-questions
mailing list