TANGO Applications cannot be started after Installation
Dear TANGO Controls community,
i want to test TANGO Controls. The goal is to find a suitable framework to develop a SCADA system that controls and monitors an experimental microgrid.
I have a question regarding the installation, respectively the first run of multiple Tango Apps. Everything works as expected, until i want to start the TANGO applications.
Specification of my development environment:
* My platform is: Windows 10 OS on a AMD64 architecture
* My Java version is: java version "15.0.1" 2020-10-20, Java(TM) SE Runtime Environment (build 15.0.1+9-18), Java HotSpot(TM) 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)
* My MySQL version is: mysql Ver 14.14 Distrib 5.5.62, for Win64 (AMD64)
* I have installed the following TANGO version: TANGO 9.2.2 based on the "Windows-Distribution"-Installation file "TangoSetup-9.2.2_win64.exe".
I followed the installation video on [https://tango-controls.readthedocs.io/en/latest/installation/tango-on-windows.html#tango-package-installation].
I have the environment variables set as required.
I have run create_db.bat.
I have run start-db.bat, which resulted in the expected output: main(): arrived; main(): export DataBase as named servant (name=database); Ready to accept request
Everything works as expected, until i want to start the different TANGO applications.
Here is a list, how each of them behaves, when i try to start them:
* Astor –> seems like it opens quickly (based on tab in task bar), but then closes immediately
* AtkMoni –> Opens :)
* AtkPanel –> Opens :) (and asks for device name)
* DeviceTree –> the initialization dialog opens, which then gets stuck at 90%
* JDraw –> seems like it opens quickly (based on tab in task bar), but then closes immediately
* Jive –> seems like it opens quickly (based on tab in task bar), but then closes immediately
* LogViewer (Dynamic) –> seems like it opens quickly (based on tab in task bar), but then closes immediately
* LogViewer (Static) –> seems like it opens quickly (based on tab in task bar), but then closes immediately
* Pogo –> Opens :)
* SynopticAppli –> "Open a synoptic file" dialog opens :)
Do you have an idea, what could be the problem?
Is my Java "too up-to date"?
Is there a newer Windows distribution of TANGO available (pre-built)?
Thank you very much and kind regards
Welcome to the tango forum!
9.2.2 is a bit too old for my taste. The last released version is 9.3.4. The disadvantage of 9.3.4 is that we don't have all things prebuilt (database, test) for windows.
- TangoSourceDistribution at https://github.com/tango-controls/TangoSourceDistribution/releases/tag/9.3.4, this has prebuilt java applications
- C++ core libraries are available from https://github.com/tango-controls/cppTango/releases/tag/9.3.4 prebuilt for windows and different visual studio versions
The errors you are seeing are most likely due to the java version you are using. I would try with java 8, at least 9.3.4 only works with that.
Thank you for the quick reply. :)
When i downgrade to Java 8 the TANGO applications work! Thank you!
I have now uninstalled TANGO 9.2.2 and instead installed TANGO, based on "libtango_9.3.4_v100_x64.msi" (from your second link). It seems like this is something different than the previous installation (e.g., there is no shared directory, there are no TANGO apps within the Windows start menu after the installation). I am a bit confused about that.
I also downloaded and unpacked the " tango-9.3.4.tar.gz" from your first link, but in the README it says: "This source code release is […] intended for Unix platforms." I am also confused about that.
Is there a step by step guide how to set up OR built the latest TANGO version on Windows? I want to be able to use it like i could use TANGO before i have uninstalled version 9.2.2 (i.e., apps in start menu, expected directory structure with scripts to create and start the database) or does this work differently in 9.3.4?
Thank you and kind regards
We don't yet have a full windows binary installer for 9.3.4 like we had for 9.2.2.
And also no build steps for the full windows binary installer, sorry.
|Thank you for the reply, I understand. Could you give me an idea how you would proceed if you want to get the newest version of TANGO run on a Windows machine? Or do you recommend another control tool for such a case?|
> Or do you recommend another control tool for such a case?
Nope sorry, tango is the best ;)
> Could you give me an idea how you would proceed if you want to get the newest version of TANGO run on a Windows machine?
I would do the following. But that requires some knowledge about CMake and C++ and assumes you have mariadb already installed.
- Get libtango_9.3.4_v100_x64.msi (or a package for a different Visual Studio version, this depends on your requirements)
- Grab https://github.com/tango-controls/TangoDatabase
- Adapt its CmakeLists.txt so that it compiles on Windows (https://github.com/tango-controls/TangoDatabase/issues/11)
- After installation of the database server, create the database
- Grab the java tools from the tango source distribution
- Start the database server and check if jive works
- For testing https://github.com/tango-controls/Tangotest is good, but that needs to be adapted for Windows as well
So depending on your mileage this procedure might be too much. In that case I would either stick with 9.2.2 and wait until we have a newer installer. Or, if that is an option, switch to Linux.
We are also currently trialing conda packages, but these are not yet done for Windows.
> Or do you recommend another control tool for such a case?
You can look into Waltz-Controls (link). It is reactive by design (very cool approach extensively used by the Enterprise). Absolutely platform agnostic, not even bound to any underlying transport (currently uses HTTP). Resides on top of Tango and any other existing control system. Allows fast and smooth migration from one control system to another and seamless integration between them. Hence extending Tango capabilities beyond the visible Universe!
Alas it is at yearly development stage, so requires a lot of RFC writing and some programming…
Introduction can be found here: slides from Summer Tango Zoom Users meeting