McCode icon indicating copy to clipboard operation
McCode copied to clipboard

McXtrace python suite on CentOS

Open farhi opened this issue 5 years ago • 12 comments

New job, new particle !

Installation of McXtrace 1.4 / Python on CentOS fails with unmet dependencies:

  • python3-pyqt4 (called PyQT4 in CentOS7)
  • python3-matplotlib (not available in CentOS7)
  • mcxtrace-tools-python-mxplot-chaco-1.4 (does not exist any more in McCode)

One solution is to request package:

  • python-matplotlib-qt4 or PyQt4

there is very limited python3 support in CentOS7 )-:

farhi avatar Jun 12 '19 15:06 farhi

Manual selection of any mcxtrace-python package:

  • mcxtrace-tools-matlab-mxplot-1.4-rpm64.rpm ( 22 k )
  • mcxtrace-tools-python-mccodelib-1.4-rpm64.rpm ( 43 k )
  • mcxtrace-tools-python-mxgui-1.4-rpm64.rpm ( 82 k )
  • mcxtrace-tools-python-mxplot-pyqtgraph-1.4-rpm64.rpm ( 24 k )
  • mcxtrace-tools-python-mxrun-1.4-rpm64.rpm ( 21 k )

brings an error from dependency miniconda:

  • Error in yum : File /usr from mcxtrace-miniconda3-1.4-1.0-1.x86_64 conflicts with package filesystem-3.2-25.el7.x86_64

farhi avatar Jun 12 '19 15:06 farhi

Congrats on the new particle!!

When I upgraded the python tools to python3, there were a few real differences in the PyQt calls. I believe we upgraded to PyQt5 and this was the main cause of the differences. Could the mcxtrace build packages/dependencies be out of date? You could try to manually run a PyQt5 tool on CentOS - starting with mcgui.

climbcat avatar Jun 12 '19 17:06 climbcat

I believe most issues will be resolved by building a new, complete McXtrace against the current master branch - 1.4 dates back to 2017 if I remember correctly, and many things were fixed in the meantime. (E.g. a miniconda with all python is what the rpms should depend on, not the system python packages)

I think I have a CentOS 7 VM somewhere, will try to roll a fresh set of packages to play with.

willend avatar Jun 12 '19 17:06 willend

  • and the /usr issue I believe also dates back to a different way of packaging than what we currently do on the McStas side

willend avatar Jun 12 '19 17:06 willend

Hi folks,

I am currently building a set of beta packages and will post a download link here. Gives us a better idea what issues are solved or not.

(I am sure that the python stuff is solved on master, but also sure that the solution is based on python3 / miniconda3)

willend avatar Jun 13 '19 06:06 willend

Hi @farhi,

Try with the packages located here: http://tmp.mccode.org/McXtrace-1.5beta/

  • Remember the beefy miniconda3 package also, all of the .py stuff runs from that...

willend avatar Jun 13 '19 08:06 willend

(I've removed the suite packages that indeed need updating in the repo, also mcxtrace-tools-matlab-mxplot-1.5beta-rpm64.rpm which relies on iFit, so an rpm -i * should be enough)

willend avatar Jun 13 '19 08:06 willend

After install, everything should be in /usr/local/mcxtrace/1.5beta/ and the command mcxtrace-1.5beta-environment in /usr/local/bin

Run

sudo /usr/local/mcxtrace/1.5beta/bin/postinst set_mccode_default

to make it the default McXtrace on the system

willend avatar Jun 13 '19 08:06 willend

OK, everything installed here - but a number instruments don't currently compile due to recent changes "nowritefile" on the monitors...

I will create a separate issue on that after an mxrun.pl --test

willend avatar Jun 13 '19 08:06 willend

Yes, all is fine when manually installing 1.5 beta:

wget -r http://tmp.mccode.org/McXtrace-1.5beta/ 
sudo rpm -i *
sudo /usr/local/mcxtrace/1.5beta/bin/postinst set_mccode_default

And I've seen before that not all instruments compile indeed #801 As far as the infrastructure is all set, that's a good start.

Still broken and minor stuff:

  • The Python MxGUI/Help/Manuals point to 'McStas' items. The Perl McGUI is OK.
  • The Python MxDoc seems to fails, and results in an infinite loop. The mxdoc.pl works OK.
  • The Help web page points to mcstas.org

farhi avatar Jun 13 '19 08:06 farhi

@farhi great with this detailed input. I will formulate individual tickets for the mxgui/doc-oriented things.

@ebknudsen and I just agreed to try to do a common work-camp for McXtrace in a few weeks (meetings and conferences before)

willend avatar Jun 13 '19 08:06 willend

Also from here - thanks for the detailed input. We will get to work :-)

ebknudsen avatar Jun 13 '19 09:06 ebknudsen