Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 7 of 7

Thread: Suse doesn't Compile for OpenGL!

Hybrid View

  1. #1
    Junior Member Newbie
    Join Date
    Mar 2005
    Location
    California
    Posts
    4

    Suse doesn't Compile for OpenGL!

    I would love to see anyone compile the simple openGL program below
    without having problems under Suse. I've had no problems compiling under
    Redhat and Mandrake. Can it be done with suse?

    1) Someone try to compile this under there version of SUSE.
    2) If successful, what had to be changed? Using gcc, what did you
    type to compile it?

    //begin------: opengltest.c
    #include
    #include
    #include

    main(int argc, char *argv[])
    {
    glutInit(&argc, argv);
    return 0; /* ANSI C requires main to return int. */
    }
    //end opengltest.c

    I get:
    gcc -lm -lGL opengltest.c
    /tmp/ccAdiovA.o(.text+0x18): In function `main':
    : undefined reference to `glutInit'
    collect2: ld returned 1 exit status

    On my system:
    ../ldconfig -p | grep glut
    libglut.so.3 (libc6,x86-64) => /usr/lib64/libglut.so.3
    libglut.so.3 (libc6) => /usr/lib/libglut.so.3

    On my System:-------------------------------------------------
    > 3Ddiag
    3Ddiag version 0.722
    Verifying 3D configuration:
    Using 3dinfo
    ************************************************** **********

    ================================================== ==============
    No 3D capable graphic chipset found!
    ================================================== ==============

    Checking GL/GLU/glut runtime configuration:
    GL/GLU ... done (package xorg-x11-Mesa)
    glut ... done (package freeglut)

    How do i compile the above program (opengltest.c)?

    Thanks,
    Jason

  2. #2
    Senior Member OpenGL Pro
    Join Date
    Jul 2001
    Location
    France
    Posts
    1,749

    Re: Suse doesn't Compile for OpenGL!

    I think there are similar posts here on the linux forums, not forcedly with suze but redhat or other distributions.

  3. #3
    Junior Member Regular Contributor
    Join Date
    Aug 2004
    Location
    Angers, France
    Posts
    248

    Re: Suse doesn't Compile for OpenGL!

    I've posted a possibly source from error in beginner's forum
    The .Product will make you .Believe

  4. #4
    Junior Member Newbie
    Join Date
    Jun 2004
    Posts
    20

    Re: Suse doesn't Compile for OpenGL!

    Originally posted by jasonslife:
    [...]
    2) If successful, what had to be changed? Using gcc, what did you
    type to compile it?
    [...]

    I get:
    gcc -lm -lGL opengltest.c
    /tmp/ccAdiovA.o(.text+0x18): In function `main':
    : undefined reference to `glutInit'
    collect2: ld returned 1 exit status

    On my system:
    ../ldconfig -p | grep glut
    libglut.so.3 (libc6,x86-64) => /usr/lib64/libglut.so.3
    libglut.so.3 (libc6) => /usr/lib/libglut.so.3
    You have to link with the glut library, too:
    gcc -lm -lGL -lglut opengltest.c

    But your 3DInfo seems to indicate that you don't have a graphic card driver installed that gives you 3D acceleration. The installation of a driver can be slightly different for the different linux distributions so better check the suse help for this specific topic.

  5. #5
    Junior Member Newbie
    Join Date
    Mar 2005
    Location
    California
    Posts
    4

    Re: Suse doesn't Compile for OpenGL!

    First off I have 2 linux boxes running Suse 9.2.
    First Box: 32 bit Athlon running 32bit Suse
    Second Box: 64 bit AMD-64 running 64bit Suse

    Looking at Second Box (64 bit):--------------------------
    I have installed packages:
    freeglut-2.2.0-82.1.x86_64.rpm
    freeglut-32bit-9.2-200410201617.x86_64.rpm
    xorg-x11-Mesa-6.8.1-15.1.x86_64.rpm
    xorg-x11-Mesa-32bit-9.2-200410201617.x86_64.rpm

    Now if you search the ENTIRE system there simply is no "glut.h" anywhere in SUSE.

    My solution (which I don't know if its correct):
    Download:
    MesaDemos-6.2.1.tar.gz --> contains "glut.h"
    MesaLib-6.2.1.tar.gz --> contaings the GL library

    (In MesaLib-6.2.1.tar.gz we have): ../Mesa-6.2.1/include/GL/
    amesa.h glext.h glu_mangle.h internal svgamesa.h wmesa.h
    dmesa.h gl.h glxext.h mesa_wgl.h uglglutshapes.h xmesa.h
    fxmesa.h gl_mangle.h glx.h mglmesa.h uglmesa.h xmesa_xf86.h
    ggimesa.h glu.h glx_mangle.h osmesa.h vms_x_fix.h xmesa_x.h

    Copy the GL directory in the MesaLib-6.2.1.tar.gz into /usr/local/include/
    NOTE: there was no 'GL' directory in /usr/lib/include/ prior to me copying
    it into there.

    There's no "libglut.so" in /usr/lib/ but there is two libglut's:
    /usr/lib/libglut.so.3.8.0
    /usr/lib64/libglut.so.3.8.0

    So, I create a link:
    ln -s /usr/lib64/libglut.so.3.8.0 /usr/lib/libglut.so

    Now I want to run..."opengltest.c"
    NOTE: I will replace the GREATER than and LESS than with '(' and ')'
    so that I don't have problem pasting this to the forumn.

    All i'm trying to run is this:
    //begin------: opengltest.c
    #include (math.h)
    #include (stdlib.h)
    #include (GL/glut.h)

    main(int argc, char *argv[])
    {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_INDEX | GLUT_DOUBLE);

    glutCreateWindow("Bounce");
    //omit the rest since we can't get past above
    return 0; /* ANSI C requires main to return int. */
    }
    //end opengltest.c

    To compile: gcc -lglut -lGL -lm bounce.c
    We get actually compiling:
    MyMachine> gcc -lglut -lGL -lm bounce.c
    MyMachine> //We compile it fine, and no errors now.

    NOTE: before creating the link /usr/lib/libglut.so I got:
    (error 'cannot find -lglut'.)
    and to remedy that I had to do all the above to get the point
    where I can now compile.

    Now trying to run it:
    ./a.out
    Gives error: freeglut_window.c:300: fgOpenWindow: Assertion `window->Window.VisualInfo != ((void *)0)' failed.

    Doing the same thing on my first box (32-bit linux box) I link with:
    ln -s /usr/lib/libglut.so.3.8.0 /usr/lib/libglut.so
    instead of
    ln -s /usr/lib64/libglut.so.3.8.0 /usr/lib/libglut.so
    for the 64 bit box.

    The result is I get the same error when trying to compile:
    "freeglut_window.c:300: fgOpenWindow: Assertion `window->Window.VisualInfo != ((void *)0)' failed."

    So this fails to run. Am I supposed to get glut.h somewhere else? And maybe i don't need to create GL directory and put those files in there.

    NOTE: ./glxgears runs fine as a OpenGL program and so I know that I can run OpenGL programs.

    Any ideas?

  6. #6
    Advanced Member Frequent Contributor
    Join Date
    Jan 2003
    Location
    Virginia
    Posts
    601

    Re: Suse doesn't Compile for OpenGL!

    The issue is with GLUT_INDEX display mode. I tested it and came up with same errors as you - changing GLUT_INDEX to GLUT_RGB worked. I know that color indexes are no longer supported on newer video cards. I figured they would be supported through software (driver) but perhaps not. Or you might want to contact the developers of freeglut - perhaps it is a bug.

  7. #7
    Junior Member Regular Contributor
    Join Date
    May 2002
    Location
    Portland, OR
    Posts
    223

    Re: Suse doesn't Compile for OpenGL!

    You probably also need to install freeglut-devel-2.2.0-82.1.x86_64.rpm (or something) similar to get the header files and manual pages. This is pretty common. package-version.rpm contains the files needed for applications to use the library, but package-devel-version.rpm contains the files needed for to compile with the library.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •