AU programs and Compilation
Since the AU compilation issues have been vexing me for a while, I moved in the direction of creating couple of CentOS 7 virtual machines to run Topspin, hopefully with no issues. My previous posts in relation to Topspin3.5 on CentOS 7 were driven by this workaround.
The bad news is that, even within the CentOS 7 (both 32 bit and 64 bit), I have been running into AU compilation errors. This pointed to a common source of the pain and so I decided to take a stab at making TS3.5PL6 play nicely with my Fedora 27, once again.
The good news is that, it works !
The take home message is that :
- Bruker did make progress to keep up with the current advances in the Linux world, by providing a systemd unit file to start the bruker license manager script at boot time.
- But, not all the components of the Topspin software (upto 3.5, that is) have been ported to play well with 64 bit libraries.
If you get an error message similar to the following, when you compile a stock AU program, this means that, you are still missing the 32 bit libraries.
cplbruk : Compilation of angle failed with exit(1)
09-13:42:33.098 external cmd from "/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -ldl
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
It turns out that the linker is missing some of the libraries such as crti.o from /usr/lib tree, even though they do exist in /usr/lib64.
Solution
Fedora 27 :
dnf install glibc-devel.i686
did it for me. You can now check that indeed the object libraries crt1.o and crti.o are found in /usr/lib.