Getting Lidia Mangu’s Consensus Code to Run on a Recent Machine

I just noticed that confusion network code is available on line. The code is a little bit vintage these are the steps I took to get it to run on Fedora Core 10.

  1. Locate an an old linux machine (or install one in a VM) with a sub gcc 3 installed, mine was gcc296.
  2. Unpack the code and in the src directory make the changes to the following files.
  3. Comment out the line 25 in //extern "C" void *__builtin_alloca(...);
  4. Comment out line 35 in  //extern int errno;
  5. In CLP/src type the following: 
  6. make -f Make.depend depend 
  7. Edit the makefile based on you compiler location, I added static linkage to the move the binary too machine. CXX = /usr/bin/g++296 CC = /usr/bin/gcc296 LDLIBS = -lm –static
  8. Now build the code with make Consensus

If it worked the CLP/bin dir should contain the program called Consensus . Copied everything to an F10 machines and successfully by by:

cd List

../bin/Consensus -i latlist -R ../data/prons

The produced the output

OKAY GOOD (sw2121A-ws97-l-0001)

The –R and –i and command are essential if they are missing or invalid the application segmentation faults.

This entry was posted by Edobashira. Bookmark the permalink.

5 thoughts on “Getting Lidia Mangu’s Consensus Code to Run on a Recent Machine”

  1. Hey, I have updated all the code to compile cleanly with GCC 4.4, plus removed the non-free and mostly unused zio files, and checked this into CMU Sphinx's Subversion (for lack of a better place to put it):

    svn co

    There's also a little PyOpenFST script to convert sausages to OpenFST lattices (mainly so that I can view them with ...)

    Probably going to fix the Makefiles at some point soon...

Leave a Reply

Note: only a member of this blog may post a comment.