VRweb FAQ for UNIX


Note: the newest version of this document is always available at http://hyperg.iicm.tu-graz.ac.at/vrweb.FAQ.UNIX

Recently added or updated questions/answers are marked with *.

Question Overview

Downloading

  1. I have difficulties on downloading the binary.
  2. Is there a VRweb version for system XXX?
  3. Is there anything in German/French/Italian/Spanish/...?
  4. * What is the correct spelling of VRweb?

Getting started

  1. How do I set up VRweb to run with my Web Browser?
  2. How do I set up VRweb to run with Harmony?
  3. How do I set up my Server to offer VRML scenes?
  4. How is compression handled?
  5. What does the error "no GLX extension on X-Display!" mean?
  6. I get an error about incompatible shared libraries.
  7. Where is the on-line help?

Source Code Compilation

  1. What means the error "Can't open include file 'XXX.cf'"
  2. What means "WARNING: OS release must be N.NN for XXX."
  3. * How can I tell the compiler where to find the X11 include files?
  4. g++ gives the error "`void ios::init(...)' is protected"
  5. g++ gives the error "`true' was not declared in this scope"
  6. * I get the error "imake: No such file or directory: ... Stop."
  7. * The compiler gets strange flags which I cannot find in config files.
  8. * What means the error "no member function dprpcbuf::naccept"?
  9. Why didn't you use Motif? What's it called again, "Interviews"?

Rendering Questions

  1. * Where have the questions about hints/lighting/texturing gone?
  2. What is Mesa? Do you have an OpenGL version for system XXX?
  3. What means "NN out of 216 allocated colors do not match exactly."?
  4. * VRweb/OpenGL shows up strange colors or all black. Why?
  5. * VRweb/Mesa shows up strange colors or uses a "bad" visual.
  6. * Can I "tune" the Mesa version to be somewhat faster?



Downloading

  1. I have difficulties on downloading the binary.
    
    Did you follow the instructions on the installation page? Make sure to use binary ftp transfer mode. The binaries are distributed as
    gzipped executables (no tar necessary); some browsers cut off the extension. Compare the file size with the one listed in
    README-Unix. 
    
    
    
    If you download via your Web browser and you get the decompressed binary as text use the option "save link as" (typically available
    with the right mouse button). 

  2. Is there a VRweb version for system XXX?
    
    If it is not listed on the VRweb home page: not as precompiled binary. However, you can compile the source yourself for your system
    (see below). These include also systems like FreeBSD, Solaris x86, SCO UNIX, Novell Unixware (source code patches already included
    for the last two). 
    
    
    
    The Macintosh Version is being developed by the University of Minnesota (see notes on home page). In parallel we try to
    cross-compile the Windows version on the Macintosh. We hope to be able for an alpha-release soon. 

  3. Is there anything in German/French/Italian/Spanish/...?
    
    

    The User interface was translated into German, French, Italian, and Spanish. Use the appropriate commandline argument -lang german|french|italian|spanish. Up to now we did not have persons for translations into other languages or keeping Web pages and Help files up to date in other languages than English.

  4. * What is the correct spelling of VRweb?
    
    Just VRweb, neither VRWeb, nor VR-web, nor VR-WEB, nor ... :-)



Getting started

  1. How do I set up VRweb to run with my Web Browser?
    
    Follow the instructions on the installation page. Make sure to use the full file name in your ~/.mailcap, e.g.
    vrweb-1.0BetaX-SystemY when you did not rename the binary to a shorter name. The binary must have execution rights and must be found
    in your PATH or you include the full path of the binary. Yes, with your Web browser you need the vrweb... binary; no, you cannot use
    harscened without Harmony, it will just wait forever. 

  2. How do I set up VRweb to run with Harmony?
    
    Copy the newest harscened version into $HARMONY_HOME/bin and rename it to harscened. Next time you start harmony it will use the new
    VRweb version. 

  3. How do I set up my Server to offer VRML scenes?
    
    Hyper-G servers support VRML scenes as integral document type. For other web servers you have to create a VRML mime type. It must
    declare VRML files as x-world/x-vrml. See also next question. 

  4. How is compression handled?
    
    Again, Hyper-G servers are automatically prepared for this: gzipped VRML files are recognised as such. Be aware that there is no
    special mime-type for gzipped VRML data, instead the normal type x-world/x-vrml is used and the compression method x-gzip is
    reported as such. Look into the installation guide for example mime type entries for different servers. 

    See also the VRML FAQ for further information.
    Both the UNIX and the Windows version of VRweb are able to gunzip compressed VRML data themselves.

  5. What does the error "no GLX extension on X-Display!" mean?
    
    You are trying to run an OpenGL version on a non-OpenGL capable display. See also Question "What is
    Mesa?". 

  6. I get an error about incompatible shared libraries.
    
    This occurs mainly for the Linux version, where system header files change quite often. The error message looks like "using
    incompatible library '/lib/libm.so.4.5.XX' Desire minor version >= 6 and found 5" or: "Undefined C library function: light C shared
    image". You must either upgrade your OS or compile VRweb yourself. If you have problem finding the appropriate shared libraries, you
    can also contact us. 

  7. Where is the on-line help?
    
    Here it is: it is included in the VRweb distribution as file help.tar.gz. Unpack it as described in README-Unix or the Installation
    page and browse install.html for installation instructions, and the main page vrwebhlp.html as user-guide when VRweb is
    running.



Source Code Compilation

  1. What means the error "Can't open include file 'XXX.cf'"
    
    This is the X11 imake config file. We assume them to be installed in directory /usr/lib/X11/config. If it is on another place on
    your system, change this path in bin/scripts/hgmkmf (and on further occurances in the configuration files). When you have root
    access, you could also make a symbolic link from your X11 installation directory to /usr/lib/X11. Future VRweb config environments
    may no longer need this file. 

  2. What means "WARNING: OS release must be N.NN for XXX."
    
    This means you could eventually run into problems, because you have another OS release than we developed on (although there should
    be no troubles to expect). bin/scripts/hgimake will make the specific defines for the platform we compiled on, you may need to
    slightly modify them. Be sure to run hgmkmf -a again after any changes in configuration files or scripts to make changes take
    effect. 

  3. * How can I tell the compiler where to find the X11 include files?
    
    If not handled properly by X11 config environment, define the X11 include directory (to be accurate, the parent of the X11 subdir)
    in config/params.h (somewhere at the beginning); e.g. on SUNs: 
    
    
    #define XIncDir /usr/openwin/include

  4. g++ gives the error "`void ios::init(...)' is protected"
    
    This is a g++ bug. g++ seems to be confused about multiple level virtual base classes and protected member functions etc. The
    simplest workaround we found, is to insert a line "public:" into g++-include/streambuf.h to make the init function of class ios
    accessible to derived classes (very near to the end of class ios). 

  5. g++ gives the error "`true' was not declared in this scope"
    
    Newer releases of g++ have predefined constants for true and false. Go into vrweb/include/hyperg/utils/types.h and reactivate true
    and false definitons for g++ (should be near line 45). 

  6. * I get the error "imake: No such file or directory: ... Stop."
    
    This very strange error occured on a SUN, producing a lots of successive errors like "makedepend: [mM]akefile is not present". It
    happened that cpp was called in a wrong way or was not found by SUN's native make command. Try to use GNU make instead by having the
    path of it (`which gcc`) before /usr/ccs/bin. 

  7. * The compiler gets strange flags which I cannot find in config files.
    
    An example for this may be "EXTRA_CCFLAGS = -Aa +ESlit" on HPUX machines. Such flags may come from X11 configuration files like
    /usr/lib/X11/config/[sys].cf or xparams.cf. 
    
    
    
    You can override it by defining the appropriate mixed-case definition for the preprocessor, e.g. #define ExtraCCFlags /**/ for the
    example above, in vrweb/config/iv-[sys].cf (append it at the end). 
    
    
    
    Internally we have already switched over to a config environment independent from X11 config files. Probably the next release
    incorparates this. 

  8. * What means the error "no member function dprpcbuf::naccept"?
    
    These errors come from a #define accept naccept in sys/socket.h on AIX. If you have root access you may wish to remove this define
    in socket.h entirely. If not, add a line #undefine accept at the places the compiler reports the errors (rpcbuf, Socket,
    INETSocket). 

  9. Why didn't you use Motif? What's it called again, "Interviews"?
    
    Motif would imply a runtime licence and we like you to use VRweb for free. Also we made quite a lot changes and extensions to the
    original Interviews library, so we call it from now "IICM-Views". Also Interviews includes a very good and stable Dispatcher (at
    least since our adaptions :-). If you really hate Interviews you are invited to replace the user interface with another library -
    this is at least possible, as the Windows version of VRweb uses the MS window classes for the interface.



Rendering Questions

  1. * Where have the questions about hints/lighting/texturing gone?
    
    As they apply to both the Windows and UNIX version of VRweb they have been moved to a "VRweb VRML
    Rendering FAQ". 
    (See http://hyperg.iicm.tu-graz.ac.at/vrweb.FAQ.rendering.)

  2. What is Mesa? Do you have an OpenGL version for system XXX?
    
    Mesa is a library that maps OpenGL graphic calls to the X-protocol. You need it to get VRweb displayed on a non-OpenGL capable
    machine. Mesa neither needs nor benefits from any special graphics hardware. Do not expect the mesa version to run at speed of a
    hardware acceleated OpenGL version (see also below how to "tune" the Mesa version to your environment). 

    
    We have compiled VRweb with OpenGL for SGI and Dec Alpha. (Almost) all SGI machines include OpenGL support. On Dec Alpha, OpenGL is
    part of the Open3D package. Run xdpyinfo on your display; it must list the extension "GLX" to be OpenGL capable. If you have OpenGL
    support on another platform and want to use it for VRweb, you will have to compile the source code yourself.
    

  3. What means "NN out of 216 allocated colors do not match exactly."?
    
    It means that Mesa is unable to allocate all colors it would like to. However these colors are approximated by the next available
    one, to get the best possible output - this is a very user-friendly behaviour as opposed to other programs. 
    
    
    
    To work against this, you can close other color intensive application before starting VRweb or starting VRweb first. See also the
    question dealing with visual selection below. If you wonder why you get this message twice, see about "tuning" for Mesa below. 

  4. * VRweb/OpenGL shows up strange colors or all black. Why?
    
    VRweb does not change the color map between the main window (menus, buttons) and the OpenGL window to avoid color-map flashing. The
    drawback is that you may have to select an appropriate visual for the main window by hand when the buttons/menus look right, but the
    scene window shows up as "technicolor" or completely black. As most SGIs are able to manage multiple color maps, this error rarely
    occurs with OpenGL. 
    
    
    
    Some SGI entry systems however only support a double buffered RGB visual with 4 bits (1+2+1 for RGB, with Z buffer in software), no
    multiple colormaps. In this case you must either select the appropriate visual for VRweb (-visual_id 0x..), or use single buffering,
    or use the slower mesa version, or upgrade graphics HW, or ... 
    
    
    
    You can use xglinfo to get more information about your configuration (available in source from
    ftp://sgigate.sgi.com/pub/opengl/contrib and as precompiled binary in the VRweb distribution, subdir utils). It is an extended
    version of xdpyinfo telling OpenGL Xvisual information. Then you can compare it to the visual selection of VRweb (run vrweb -verbose
    or vrweb -singlebuf -verbose). 

  5. * VRweb/Mesa shows up strange colors or uses a "bad" visual.
    
    For OpenGL, VRweb relies on the visual selection mechanism of OpenGL. It requires a double buffered TrueColor RGB visual with depth
    buffer. You may get a visual with greater color depth by using command line option -singlebuf (turns of double buffering). 
    
    
    
    For Mesa, VRweb always uses the default visual of your Xserver (it is listed with the xdpyinfo command). The advantage is that no
    color map flashing ("technicolor") occurs this way on 8 bit displays. 
    
    
    
    If you want VRweb to use another visual you can give the type with argument -visual (available: PseudoColor, TrueColor, DirectColor)
    or the exact visual id with argument -visual_id (e.g. 0x31, see xdpyinfo). Future versions may include an option for installing a
    private colormap. The MESA* environment variables used by other applications based on Mesa are not supported in this release (they
    are not part of the Mesa GL/GLU core libraries). 
    
    
    
    If scenes are too dark, the Mesa version offers a gamma correction (many scenes are originally designed for SGIs where Xservers do
    gamma correction). Set enironment variable MESA_GAMMA as described in the on-line help under "Display Settings". You may
    alternatively try to turn on the headlight and adjust its color. 

  6. * Can I "tune" the Mesa version to be somewhat faster?
    
    If you have upgraded from earlier versions, you will have noticed that Mesa 1.2.6 (linked to VRweb 1.1.2) is considerably faster
    than previous versions. However, of course, it cannot compete with hardware accelerated graphics systems. There are several aspects
    that determine how fast Mesa will be: 

    
    The default settings should give you almost the fastest display under most circumstances. For special situation however, you can
    experiment with the settings. By default, VRweb switches to wireframe while navigating through the scene.
    



Last updated: Michael Pichler, March 19 1996.