Old Windows Compilers support

Dear Tango-Controls community,

As you may know, we are currently using appveyor to automatically build the C++ Tango library on Windows.
With appveyor, it seems it is impossible to build for Visual Studio 2017 and 2015 and at the same time to build with old Windows compilers (MSVC9, MSV10, MSVC12) on the same branch.

What we propose is to build cppTango for Visual Studio 2017 and 2015 32 bits and 64 bits on tango-9-lts branch and to create a dedicated branch for the older compilers if they are still needed.

The question is, does anyone still needs to compile tango 9 LTS with MSVC9, MSVC10 or MSVC12?

Thanks for your input.
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
I Reynald,

I've just read your post and wanted to make you know that we are still using those old compilers at Thales (MSVC9 too sadly). Indeed, new versions appear faster than the acceptance of the previous version by our IT.

Best regards
Guillaume DI FRANCO
Thales - Software Engineer Manager
Edited 5 years ago
Thank you Guillaume for your feedback.
Do you need both x64-MSVC9-x64 and win32-MSVC9?
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Hello Reynald,

We only use 32bits.

Thank you for asking.
Guillaume DI FRANCO
Thales - Software Engineer Manager
Hello Reynald,

we are trying to use Tango 9 for our device servers with VC12,
could we have win32-MSVC12 libraries for Tango 9 available ?

Thank you for your consideration,

Shagufta KHIZAR
Thales - Software engineer
Dear all,

I come back to you to discuss about the Windows compilers support.

In the e-mail I sent on September on the tango-controls info mailing, I wrote at that time that we would build tango-9-lts with appveyor for:
  • Visual Studio 2015 (MSVC14) 32bits
  • Visual Studio 2015 (MSVC14) 64bits
  • Visual Studio 2017 (MSVC141) 32bits
  • Visual Studio 2017 (MSVC141) 64bits
In addition, we got requests to continue to support the following old compilers:
  • MSVC9 - 32 bits (Thales)
  • MSVC10 - 32 bits (Elettra)
  • MSVC10 - 64 bits (Elettra)
  • MSVC12 - 32 bits (Soleil, Thales)
Elettra is currently using MSVC10 32bits but is progressively switching to MSVC10-64bits or more recent 64bits MSVC versions.

Here are the versions which are currently compiled by appveyor:
  • MSVC9 - 32bits
  • MSVC9 - 64bits
  • MSVC10 - 32bits
  • MSVC10 - 64bits
  • MSVC12 - 64bits
  • MSVC14 - 64bits
So, in theory, we could get rid of:
  • MSVC9 - 64bits
  • MSVC12 - 64bits
  • and maybe MSVC10 - 64bits since Elettra could use more recent visual studio versions to compile code for 64bits.
So, if we combine all of this, we would need to compile (or at least provide stable cppTango release versions) for the following versions:
  • MSVC9 - 32bits
  • MSVC10 - 32bits
  • MSVC12 - 32bits
  • MSVC14 - 32bits
  • MSVC14 - 64bits
  • MSVC141 - 32bits
  • MSVC141 - 64bits
Did I forget some requests?
Maybe we could get rid of MSVC14-32bits too?
Anyone needing it?

Thank you very much for your feedback!
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Dear Reynald,

this may be a concern for PyTango, I am not sure.
Different versions of the python runtime (python.exe) require different compilers as per this table:
https://wiki.python.org/moin/WindowsCompilers

Therefore support of MSVC 9.0, 10.0 and 14.0, both 32/64bit, may be of interest to people relying on old python versions.
For future python versions I read somewhere it will use MSVC14.1, but I cannot find the reference right now, so it may still be 14.0 for Py3.7.

We are using the versions for Py3.6 x64 and 3.4 32bit, from the automated builds by https://github.com/NexeyaSGara/pytango/releases
As far as I know these builds rely on the appveyor artifacts from https://github.com/tango-controls/cppTango/releases to compile.
Hello Reynald,

This year, Soleil is going to upgrade its Windows Tango Devices to VC12.
So, if you could keep on building Tango 9 in VC12 32 bits and 64 bits versions, it will help us a lot.

I am currently working on this migration and I was not able to found a Tango 9 built for VC12 in 32 bits ; do you know where I could find one to work on 32 bits Tango devices ?

Best regards,

Cédric CASTEL
Soleil - Software engineer
Cédric.Castel
Hello Reynald,

This year, Soleil is going to upgrade its Windows Tango Devices to VC12.
So, if you could keep on building Tango 9 in VC12 32 bits and 64 bits versions, it will help us a lot.

I am currently working on this migration and I was not able to found a Tango 9 built for VC12 in 32 bits ; do you know where I could find one to work on 32 bits Tango devices ?

Hi Cédric,
I just saw your message on the forum. It looks like I didn't get any e-mail notification for this message.

I guess you already found the builds you were looking for.
They are provided as assets to the cppTango releases on Github: https://github.com/tango-controls/cppTango/releases
You will not find them for cppTango-9.3.4-rc2 because it is basically the same as cppTango 9.3.4-rc1.
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
 
Register or login to create to post a reply.