Update Igor Pro bindings to create 64bit XOP

Hi,

I’m using the tango bindings for Igor Pro available here 1.
We now have to switch to Igor Pro 7 64bit. I have not yet found a 64bit XOP. Is that available?

Can someone guide me to the steps in compiling the current 32bit XOP? I’ve found the code at 2. Is that the most recent one? Which version of tango should I compile against? Can I compile it against tango 9 and it still works with tango 8 servers?

I’m fluent in C++ and writing XOPs.

Thanks
Thomas

Hi Thomas,

No choice, you have to recompile the whole Tango 9 software chain and the binding itself.
So the procedure would be:

0 - do you really want to do that?

1 - are you sure, you really you want to do that?

2 - download/compile zmq >= 4.0.5

3 - download/compile omniorb 4.2.0 (4.1.7 & 4.1.6 are also compatible with Tango 9)

4 - download/compile tango 9.1.0
http://www.tango-controls.org/downloads/source/

5 - download/compile yat 1.10.3

6 - download compile yat4tango 1.9.3

7 - download compile the binding

8 - done!

Please note that the Igor Binding has never tested against Tango 9. It has also never been tested with Igor Pro 7.

Good luck,
N.

Thanks Nicolas,

thats indeed more involved than I hoped. I guess I frist port the existing XOP to 64bit and stick with tango 8. And then later port the XOP from tango 8 to tango 9.

In any case, as soon as I have results, I’ll send an email or file a bug report with the updates.

Thomas

Thomas,
If the binding binary is compiled in 32 bits mode, it means that the provided dependencies (i.e. the zmq, omniorb, tango, … libraries) are also compiled in 32 bits mode. Consequently, you can’t simply recompile the binding in 64 bits mode cause you won’t be able to link it against the provided libraries. You can’t mix 32 & 64 bits code in the same binary.

Nicolas,

of course I can’t mix 32bit and 64bit binary code.

But it should be enough to download Download tango812_win64_vc11a.zip (TANGO Control System) as all dependencies are already compiled in 64bits? So I “just” have to port the XOP from 32bit to 64bit?

Not that I dislike compiling stuff :wink:

don’t forget to recompile yat & yat4tango - they are not part of the official binary package.

Hi Nicolas,

I suceeded in recompiling the XOP against tango 8.1.2 and converting it to 64bit. Compiled against XOPSupport Toolkit 6.40.
Tested with Igor Pro 7 beta5 and your regression test suite.

I also fixed a few bugs in the Igor procedures and added a small howto for the next recompilation.

Everything can be found at http://byte-physics.de/Downloads/tango-cs-code.zip.

Very impressive! Well done!

Andy

Thomas,
Thanks a lot for your contribution.
Concerning you mods in the Igor procedures, which version of code did you modified? The sourceforge trunk?
Will try to validate your mods asap.
Thanks again.
N.

One more question, did you also validate your mods with Igor Pro 6?

Ok, it seems Igor Pro 7 has ab better compiler. Never had a single second to give a try.

The adapted igor code also runs on IP6. The compiler in IP7 just got better.

My patches are against svn trunk from a week ago.

I would have added a new 32bit XOP as well but unfortunately there are no VC11 32bit binaries available, and I did not want to do everything from scratch again.

I finally found some time to apply t-b’s patch to the Igor procedures (Igor 7 compiler errors fixed).
Bindings tested on Igor Pro 7.0.0.8 (beta) with Tango 9.2.1.
Regression test successfully passed.
Will try to upload a binary package asap.