wbCalib+stack+smashing+error

If you instruct wbCalib to run with a large number of input files, eg:

//$// //wbCalib etaBoo.cs /mnt/hgfs/patronella/projects_aux/ptidata/100/*.sum150 > etaBoo_070619a.wbOut//

you'll probably get an output that looks like this:

//*** stack smashing detected** *: /home/mscuser/mscSoftware/bin/wbcEngine terminated//

This appears to be a command line expansion buffer overflow error. You can fix this by recompiling the version of wbCalib that is running under Ubuntu and turning off the stack smashing protection.

First of all, change your directory to where I carelessly left the wbCalib source code lying around:
 * Recompiling wbCalib**

//$// //cd /home/mscuser/tmp/V2Calib-1.4.3//

Then, clean up after me:

//$ make clean//

Now, recompile the code, turning off the stack smashing protection. You do this by executing the proper configure command, making the code, and installing it:

//$ env CPPFLAGS=-fno-stack-protector ./configure --prefix=/home/mscuser/mscSoftware $ make $ make install//

These steps are commented upon in the //INSTALL// file in that directory.

Your wbCalib (and associated subroutines) should now work without a problem.


 * Update 2009-06-15**: Running a version of this under Ubuntu 9.04, I had problems with the recompile (eg. "strcat" not found sorts of things). This was overcome by compiling with the 4.2 (not 4.3, as is default for 9.04) versions of gcc and g++, using the CC and CXX flags of configure:

//$ env CPPFLAGS=-fno-stack-protector CC=/usr/bin/gcc-4.2 CXX=/usr/bin/g++-4.2 ./configure --prefix=/home/mscuser/mscSoftware//

(these compilers need to be installed, of course, for this to work.)