Consulting
Services

Software
Eyore
Freeware

Hosting
Hosting
Blogs
Domain Names
Email Accounts

Cobalt RAQ XTR Issues

cced.socket

Problem: CONSTRUCTOR: Could not connect to /usr/sausalito/cced.socket: Connection refused as noted in /var/log/messages

Resolution Steps:

Review

  • tail /var/log/messages
    look at end of message log
     
  • /usr/sausaliot/sbin/cced -V -d -1
    invoke cced socket builder, verbose, debug

    Response:
    Verbose mode enabled.
    Debugging mask=0x1.
    [3653] (src/main.c:147): main: starting up (pid 3653)
    Cobalt Configuration Engine (CCE) version 0.76.6.2.2
    Copyright (c) 1999,2000 Cobalt Networks, Inc.
    starting up (pid 3653)
    ./cced: relocation error: ./cced: undefined symbol: g_hash_iter_new


    Problem:
    The system has an updated glib.   The Cobalt version of glib has a custom-built set of "g_hash*" functions that are required for the cced application.  You need to restore the original glib file from the Cobalt source or locate a patched version that has the bastardized Sun/Cobalt "g_hash" functions within.

Retrieve Glib Hash Patch

  • wget ftp://bluequartz.org/pub/BlueQuartz/5100R/i386/os/SRPMS/glib-ghash-1.0-1BQ1.src.rpm

    BlueQuartz is a Japanese consortium that is porting the original Raq550 source code as released from Sun onto the RedHat Fedora Core.   This command retrieves the file from BlueQuartz.  If it has moved, look for the new source at www.bluequartz.org.

    This file will have the extra Sun functions used to bastardize the glib object library.  Luckily they have separated these functions from the standard glib so future upgrades to glib should not break cced.  That means you will need to upgrade the cced program from the source files as well.
     
  • rpm -Uvvh glib*hash*rpm

    Unpack the rpm archive.  It will store the source files in /usr/src/redhat/SOURCES/glib-ghash*tar.gz
     
  • cp /usr/src/redhat/SOURCES/glib-ghash*gz .

    Copy the source tarzip archive over to a working directory, I prefer to work under my download directory so I just copy it here.
     
  • tar xvfz glib-ghash*gz

    Unpack the tarzip.
     
  • cd glib-ghash*0
     
  • make

    Response:
    cc `glib-config --cflags` -c -o glib-ghash.o glib-ghash.c
    In file included from glib-ghash.c:3:
    /usr/include/glib.h:66: glibconfig.h: No such file or directory
    make: *** [glib-ghash.o] Error 1

    Problem:
    Our glib-config has the wrong values set for the include libraries (the glib--config --cflags result).  See fix glib-1.2.10 Upgrade install.

    Our issue was that the old glib-config program was being called.  The ln -s command fixes the problem.
     
  • Execute fix glib (below)
     
  • make

    Response:
    cc `glib-config --cflags` -c -o glib-ghash.o glib-ghash.c
    cc `glib-config --libs` -shared -dynamic -o libghash.so glib-ghash.o
     
  • make install

    Response:
    install -d /usr/local/include
    install -m 644 glib-ghash.h /usr/local/include
    install -d /usr/local/lib
    install -m 755 libghash.so /usr/local/lib

     

Fix glib-1.2.10 Upgrade Install

  • rpm -q glib

    Find out what glib version we are running on our server.

    Response:
    glib-1.2.10-10
     
  • wget ftp://195.220.108.108/linux/redhat/9/en/os/i386/SRPMS/glib-1.2.10-10.src.rpm

    Retrieve our glib source, we found ours using www.rpmfind.net and searching for glib.  Set the system to redhat to narrow the search results.
     
  • Save our current files:
    • mv /usr/lib/glib/include/glibconfig.h /usr/lib/glib/include/glibconfig.h_saved
    • mv /usr/include/glib.h /usr/include/glib.h_saved
    • mv /usr/include/gmodule.h /usr/include/gmodule.h_saved
    • mv /usr/bin/glib-config /usr/bin/glib-config-old
  • ./configure
  • make
  • make install
  • ln -s /usr/local/bin/glib-config /usr/bin/glib-config

New cced Install

  • wget ftp://bluequartz.org/pub/BlueQuartz/5100R/i386/os/SRPMS/sausalito-cce-0.80.2-1BQ9.src.rpm
     
  • rpm -Uvvh saus*rpm
     
  • cp /usr/src/redhat/SOURCES/saus*gz
     
  • tar xvfz saus*gz
     
  • cd cce
     
  • make

    Response:
    re2c txn/odb_txn_lexer.re2c > txn/odb_txn_lexer.c
    re2c: error while loading shared libraries: libstdc++-libc6.1-2.so.3: cannot open shared object file: No such file or directory
    make[2]: *** [txn/odb_txn_lexer.c] Error 127
    make[2]: Leaving directory `/home/download/cce/codb/src'
    make[1]: *** [src/codb.o] Error 2
    make[1]: Leaving directory `/home/download/cce/codb'
    make: *** [codb/codb.a] Error 2
     
  • Rebuild the re2c binary (see below)
     
  • mkdir /etc/php.d
  • make clean
  • make
  • make install
     
  • /usr/sausaliot/sbin/cced -V -d -1
    invoke cced socket builder, verbose, debug

    Response:
    Verbose mode enabled.
    Debugging mask=0x1.
    [869] (src/main.c:140): main: starting up (pid 869)
    Cobalt Configuration Engine (CCE) version 0.80.2
    Copyright (c) 1999,2000 Cobalt Networks, Inc.
    starting up (pid 869)

    SUCCESS!

     

Upgrading the PHP Hook

  • PROBLEM: After install the cced patch you may get a "Call to undefined function ccephp_new()" error when bringing up the interface.
    This is because the new cced binaries are in a different location, especially if you've updated PHP since the original RAQ install.
     
  • RESOLUTION:  Link to the new cce.so module
    • mv /usr/lib/apache/php/cce.so /usr/lib/apache/php/cce.so_saved
    • ln -s /usr/lib/php4/cce.so /usr/lib/apache/php/cce.so

Build The New re2c Binary

 Related Links: