Proposition to help for PyTango 9
|
|
---|---|
Hi guys, I don't know what is the status for PyTango9 but there are few guys@MAXIV who propose to help with the development. We would like to migrate to Tango 9 in January but 95% of our control system is based on Python. Cheers, Vincent
Vincent Hardion
Control System MAX IV Laboratory |
|
|
---|---|
Dear Vincent, thank you very much for your offer. We are currently planning the porting of PyTango9. We will send you more details next week on when the port can be done and where you can help. Help with testing will be very useful. Do you know if you need the new features of Tango9 (e.g. Pipes) in order to move your control system to Tango9 or if a port of PyTango8 to Tango9 will be sufficient in the first instance? Kind regards Andy |
|
|
---|---|
Great news! We can help on both test and development, maybe to make Pogo compatible, to migrate PyTango to github … A port of PyTango8 to Tango9 can be a first step so the people will be able to deploy only one version of Tango. The Solaris guys have currently some trouble with that. But definitively we will use the feature of Tango9 forwarded attributes, pipes, enumeration, … In waiting for next week is there any materials to read about compilation, code generation, …? Thanks for your answer we are very impatient to add that in our scrum planning. Cheers, Vincent
Vincent Hardion
Control System MAX IV Laboratory |
|
|
---|---|
|
Hi Vincent, Thanks for your offering to help. I have recently pushed a branch in github (called tango9') which compiles with Tango C++ 9. It doesn't implement any of the new Tango 9 features but it should work (I tested with a Lima device server). The major items that need attention are:
The first three items need discussion before implementation. I propose to create an issue (of type question) in github to make proposals for these three critical items and start discussion. In the mean time if you can test the tango9 branch already it would be of great help. Thanks again |
|
|
---|---|
Hi Tiago, good work. I compiled PyTango 9.1.0 on Ubuntu 15.10 without problems. I got a number of warnings mostly like this:
and
and
I don't know if they are serious or not. Just thought I would let you know. How can I test PyTango9 without breaking my current PyTango8 installation ? Andy |
|
|
---|---|
|
First warning comes from ZMQ. Normally PyTango (and other C++ tango clients or servers) should not have access to zmq or orb definitions. This is normally due to the fact that the tango library is including zmq header in tango.h (directly or indirectly). I will talk to Emmanuel Taurel to see if it can be cleaned (BTW, this is one of the reasons why compilation takes soo long . Second warning is because boost is not prepared for C++ 11 and I still need to use the old auto_ptr. Third warning comes because numpy changed its API in version 1.7. Carlos Falcon already sent a patch some time ago and I need to apply it. Neither of the warnings are in any worrying. If you need to have both installations I suggest you use virtualenv. Tiago |
|
|
---|---|
Hi Tiago, I noticed that PyTango9 does not print the usual message on the stdout when the device server starts up. It is completely silent. The message is useful to know when the server has finished initialising and is ready. Could you add following message to the startup:
Thanks Andy |
|
|
---|---|
Hi all, I built and installed Tango+PyTango 9 today, so I wrote a report of the different issues and warnings I ran into: PyTango 9 installation report. It covers the following points: - Tango build warnings - Error while loading libzmq library - PyTango build warnings - IPython warnings - Database hostname issue Also: AndyFunny, I do get the usual message on my setup… Vincent |
|
|
---|---|
|
Hi Vincent, Thanks for trying PyTango and for the complete report. I did not understand your database test: in tango 8 you tested with short host name but in tango 9 you test with the full host name. Does tango 8 work with full host name? Does tango 9 work with short host name? Usually, the ready to accept request message is not in the core library (PyTango/C++). Instead it is coming from the code generated by Pogo. However, if you use the PyTango high level API, the server_init and server_run methods are hidden behind the server.run method. In this case PyTango generates the ready to accept request message since it is not possible in the user code. Tiago |
|
|
---|---|
Hi Tiago,TCoutinhoBoth versions fail with to initialize the Database object with the long host name, and both of them succeed with the short one. The problem has to do with the hostname used when no argument is given to the Database client object. Using Tango 8 I get: and using Tango 9: But the ITango code gets the hostname using: And then use it in __get_db: Which fails and triggers the following error:
TCoutinhoI used the high level API so that makes sense! Vincent |