Thursday, September 17, 2009

AU program compilation issues

I dwelt earlier on the shared library issues with Topspin because of the 64 bit cyberworld in my workstation not able to emulate the 32 bit environment properly. The remedy was installing the 'needed' 32 bit libraries. The devil is indeed lurking in the 'needed' word. One of these days I will add the list of libraries I installed in another post (i.e. after FC10 crashes again,....:-{ ]

A related problem is compiling the AU programs from within Topspin. Since these are at the heart, C programs, they do need all your 'gcc' muscle to compile, which is what the command like 'cplbruk ' initiates by passing the appropriate call to the gcc.  Convenient yes, but we cannot switch on or off any extra options sent to gcc.  This means that, the compiler and all the libraries it needs (mostly the 32 variety) should be there.  There is no easy way to pass different path name, for instance, as you would do in a 'configure' step that typically precedes the 'make'.  


Ok, for Topspin this is what you do :

yum install glibc-devel.i386 

 AU program compilation works after this flawlessly  (...gulp....)  so far !

Monday, September 14, 2009

Lessons Learnt : Topspin Quirkies

Although Topspin need not be blamed for it, I can at least resent the fact that it is not 'forward looking' in that, out of the box the software cannot be installed on a 64 bit system and used.

The main problem, it turns out, is the fact that the software expects everyone on the planet to use only a 32-bit operating system with the shared libraries that come with it. This expectation is quickly getting outdated as 'quad core' technology is already showing up in personal computers.   Ok, back to the point.  What was needed to make Topspin work on my Intel 64 bit /Fedora 10 distro ?

  1. After installing, start TS, which will dependably crash, complaining that such and such shared library is corrupt. You can identify a 'family' of the library from the error message like "libXsomething.so.2". 
  2. With yum make sure that you can list a set of packages correponding to the above library family.  example : 
    1. yum search libX
  3. Once you confirm that the repository has what you need, simply install the .i386 version of the entire list of packages that yum displayed above for you: 
    1. yum install libX*.i386 -y
  4. Now, fireup TS again, expect it to crash again, look at the next set of libraries that are missing and loop through the steps 1 to 3 above. Do this, until, you can make Topspin stand on its two (perhaps wobbly) legs.   That's it.
I preferred to list this quick and dirty method instead of recording all the specific libraries I installed to make TS work, because, at the end, the former will turn out to be the more efficient approach if you were ever to resurrect your OS and install TS again (which, from my past experience, will certainly happen).