My name is Lucas Griglicki
        Address: Poland, Minsk Maz Warszawska Street 196 flat 30
        Email Address:  [EMAIL PROTECTED]


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     [EMAIL PROTECTED]:/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:  [EMAIL PROTECTED]


        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


_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to