CrossMgr in Linux in 2024

77 views
Skip to first unread message

stuart lynne

unread,
May 25, 2024, 11:46:09 PM5/25/24
to CrossMgrSoftware
What is the status of running CrossMgr in Linux currently (2024)?

My Windows 10 laptop is rapidly reaching End of Life for both Windows 10 and the hardware. 

Was contemplating CrossMgr in Linux as an alternative.

If anyone has some recent experience I would love to hear how it went.

Thanks!

Edward Sitarski

unread,
May 26, 2024, 1:46:47 PM5/26/24
to crossmgr...@googlegroups.com
CrossMgr is developed on Linux, so there is a way ;)

Because of wxpython builds, there isn't a PyPi installer for Linux, however, you can clone the github repo and run CrossMgr from source.
There is a trick (easy) to install wxpython on your flavor of Linux.
See here and read about the wxPython Extras Linux folder.

I am also sure you can figure out how to make a desktop icon.
All CrossMgr race files are OS/hardware independent, and you can work with .xlsx files in LibreOffice just as on Windows or Mac.

--
You received this message because you are subscribed to the Google Groups "CrossMgrSoftware" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crossmgrsoftwa...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/crossmgrsoftware/e29148a1-c949-482d-931e-1eddaaf9c665n%40googlegroups.com.


--

Edward Sitarski

Chris Clague

unread,
May 26, 2024, 3:09:34 PM5/26/24
to CrossMgrSoftware
100% of my usage is in Linux (Ubuntu 22.04) running on a variety of kit. The only issue I’ve seen is one of the screens when you open a race doesn’t disappear when you hit ok (don’t recall which off the top of my head, sorry). But you click outside the box and it’s fine. I run everything in docker containers though so it’s possibly related to that. In short, go for it - works great. 

stuart lynne

unread,
May 27, 2024, 2:55:02 AM5/27/24
to crossmgr...@googlegroups.com
I already know how to do wx Python apps in Linux and Windows. I don't envisage any problems getting it to run.

And use LibreOffice in Windows. 

Just went with the default Windows for years. And having been recalled from retirement by local organizers who didn't want to pay the Zone4 tax only had a few weeks to get the old gear running etc.

Now that we have the Spring Series and Provincials done, have some breathing space before Cross Season starts. So upgrading some of my apps (Qlmuxd for QL Label printers), and Traefik for wrapping everything in https. 

The goal is to make everything much simpler and easier for people who haven't been configuring Linux and Windows systems since before either of those actually existed :-)

Final issue was Windows just refusing to work with iPhone or Android hotspots to be able to download CrossMgr file and push results to the cloud. And the RaceDB computer (running Linux of course) just worked. Sigh. I'm sure I could figure it out but do I want to?

So contemplating just running CrossMgr in a Linux laptop. Probably I'll just keep the existing Windows 10 system and add a Linux laptop to the mix and run them in parallel for Cross Season. Saves me buying a new laptop for Windows 11 as I have a couple of older laptops that would easily run Linux Mint and should be OK for CrossMgr. 

As a sidenote, I do have Traefik working as a https proxy for RaceDB. The comments about the steep learning curve are understated, it is almost an overhang. But once you get it working it sort of just works. And IMHO the result is quite nice. I'll publish a GitHub archive sometime this week with a sample build for RaceDB use.






--
__________O___________
_______-\<,____________
_____(_)/_(_)___________
_________________________
Stuart_Lynne____<stuart...@gmail.com>____604-518-1749(m)__604-461-7532(h)

Edward Sitarski

unread,
Jul 15, 2024, 12:19:57 PM7/15/24
to CrossMgrSoftware
I created an  "experimental" alternative install (in github here: https://github.com/esitarski/CrossMgr/blob/master/crossmgr-install.py).

This install requires that Python has been installed on the machine.
This is the default with Linux, and can be downloaded for Mac (and Windows, for that matter).

Once you have Python installed, download crossmgr-install.py (use link above).
Open a terminal (or Powershell, if Windows) in the same directory you downloaded crossmgr-install.py.
Make sure you are connected to the internet.  Then enter:

    python3 crossmgr-install.py install

This command will create 3 directories in your home directory CrossMgr-master (source code), CrossMgr-env (local python environment) and CrossMgr-archive (the previous release, if present).
It will also create desktop shortcuts for all CrossMgr programs (not that you necessarily want all of them, but there it is).
It takes a minute or so on my machine, but the speed is probably limited by your internet connection.
The first install has to download all the modules.  Subsequent install take much less time as modules are updated only.

On Linux, to run the shortcuts, right-click on the shortcut and select "Allow Launching".  You can then double-click them as usual.
Not sure what happens on Mac or Windows.

Included is a very convenient "Update CrossMgr" shortcut.  It runs crossmgr-install.py again and will upgrade everything to the latest version.
Use this shortcut to update all the CrossMgr programs at once.

The crossmgr-install.py script also supports "uninstall" and "restore" commands.  These remove it and restore to the previous installed version, respectively.

The first advantage of crossmgr-install.py is that python and the CrossMgr dependent modules are downloaded once and reused for all the applications.
This is much faster and more efficient than using pyinstaller or nuitka, which much bundle the python run-time with each executable (the.dmg and .exe files are huge for this reason).
It is much more convenient and runs in a fraction of the time.

The script also solves the virus-warning issues on Mac and Windows as no .dmg or .exe files are downloaded or installed.
The biggest downside is that the user has to download Python, but this only has to be done once.

It takes longer to install the first time.  However, subsequent upgrades 

The script works for all versions of Mac and Windows.

Linux versions are restricted to what is in the wxPython "extras" folder here: https://extras.wxpython.org/wxPython4/extras/linux/gtk3/
Your Linux distro and version must match one on the list.
If you upgrade Linux to an unsupported version, crossmgr-install.py will continue to use the last wxPython it has, which is usually OK.
Then the wxPython community catches up to the new version, you will get that, but it may only be for the major releases.
It is recommended to check the "extras" folder before upgrading Linux.

I considered allowing Linux versions outside of "extras", but wxPython  would need to build itself from source on your machine, and this can take over an hour.
Park this for now...

I am not 100% sure what happens in Mac or Windows with the desktop shortcuts, especially if you "uninstall".

This approach is faster, smaller, portable and more convenient.  And, it avoids all the scary virus warnings on Windows and Mac.

Comments?

Craig MacIntyre

unread,
Jul 15, 2024, 4:43:03 PM7/15/24
to crossmgr...@googlegroups.com
Thanks Ed ... that will make life so much easier going forward.

Craig MacIntyre

spOKeLAHOMA
Custom Wheels and Bikes - Let us build your dream
111 N Broadway
Tecumseh, OK 74873
405-777-6213 (shop)


Edward Sitarski

unread,
Jul 17, 2024, 12:09:04 PM7/17/24
to crossmgr...@googlegroups.com
I am interested in hearing about your experiences with crossmgr-install.py on Linux and Mac (and Windows, for that matter).
If you have tried it, let me know about your experience.

Currently, "restore" backs up to the previous CrossMgr you installed.
This probably works the way people want it to as it restores the exact version you had.
I also haven't figured out how to get the releases from github, or how to download the source for the version.



--

Edward Sitarski

Craig MacIntyre

unread,
Jul 27, 2024, 3:08:45 PM7/27/24
to CrossMgrSoftware
Ed

I installed on 3 machines.  Worked fine ... seamless.  I like it.

mark....@gmail.com

unread,
Jul 29, 2024, 1:10:09 PM7/29/24
to CrossMgrSoftware
Usually, the trick with Python is getting all the Python stuff going in the first place:  I assume I missed a step in the Install Python portion:

C:\Users\marke\Downloads>py crossmgr-install.py install
Downloading CrossMgr source to: C:\Users\marke\CrossMgr-master... Done.
Creating python environment in C:\Users\marke\CrossMgr-env... Traceback (most recent call last):
  File "C:\Users\marke\Downloads\crossmgr-install.py", line 554, in <module>
    dispatch[args.sub_command]( args )
  File "C:\Users\marke\Downloads\crossmgr-install.py", line 548, in <lambda>
    'install':          lambda args: install( args.full ),
                             ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\marke\Downloads\crossmgr-install.py", line 439, in install
    python_exe = env_setup( full )
                 ^^^^^^^^^^^^^^^^^
  File "C:\Users\marke\Downloads\crossmgr-install.py", line 147, in env_setup
    subprocess.check_output( ['python3', '-m', 'venv', env_dir] )
  File "C:\Users\marke\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\marke\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\marke\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\marke\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1538, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified

Edward Sitarski

unread,
Jul 30, 2024, 7:54:04 AM7/30/24
to crossmgr...@googlegroups.com
Grrr.
Not my fault, but this is a known problem with subprocess on Windows (see here).
I will see if I can find a workaround.



--

Edward Sitarski

Edward Sitarski

unread,
Jul 30, 2024, 8:00:20 AM7/30/24
to crossmgr...@googlegroups.com
Actually, it may be on the python install side.
When you installed python, did you check the "update my PATH" option?
If not, you can re-install it and select this option.

The script is trying to call python3, but Windows can't find it.

I could also try to snoop around to find it as I expect this will be a common problem.
--

Edward Sitarski

Mark Erzen

unread,
Jul 30, 2024, 8:32:56 AM7/30/24
to crossmgr...@googlegroups.com
It's not that.  Windows can find python/python3.  I suppose it's the issue you mentioned.

-Mark



--

------------------------------------------------
Mark Erzen
2637 Saint Albans Circle NW
North Canton, OH 44720
(330) 685-5270

Edward Sitarski

unread,
Jul 30, 2024, 8:53:30 AM7/30/24
to crossmgr...@googlegroups.com
OK.  I changed the crossmgr-install.py to use a fully-qualified path the python instead of assuming that PATH is correct.
A new release of crosmgr-install.py should be available in an hour or so.

Apparently, Windows stopped using PATH when executing subprocess commands.
Malicious people were putting malware versions of common executables on the PATH so those versions would run, and the system versions wouldn't.
For example, if PATH had '.' in it, and there was a malicious "copy.exe" in the current folder, the malicious version would run, not the system's.

Using fully qualified path names should take care of the problem, and will make the script more secure also.



--

Edward Sitarski

Mark Erzen

unread,
Jul 30, 2024, 10:52:31 AM7/30/24
to crossmgr...@googlegroups.com
Different error this time:

C:\Users\marke\Downloads>python3 crossmgr-install.py install
Archiving current version to: C:\Users\marke\CrossMgr-archive\20240730T103621-646229... Done.

Downloading CrossMgr source to: C:\Users\marke\CrossMgr-master... Done.
Updating python environment (this can take a few minutes): C:\Users\marke\CrossMgr-env... Traceback (most recent call last):
  File "C:\Users\marke\Downloads\crossmgr-install.py", line 556, in <module>

    dispatch[args.sub_command]( args )
  File "C:\Users\marke\Downloads\crossmgr-install.py", line 550, in <lambda>

    'install':          lambda args: install( args.full ),
                             ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\marke\Downloads\crossmgr-install.py", line 441, in install

    python_exe = env_setup( full )
                 ^^^^^^^^^^^^^^^^^
  File "C:\Users\marke\Downloads\crossmgr-install.py", line 215, in env_setup
    subprocess.check_output( [python_exe, '-m', 'pip', 'install', '--upgrade', '--quiet', '-r', 'requirements_os.txt'] )

  File "C:\Users\marke\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\marke\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\marke\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\marke\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1538, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified

Edward Sitarski

unread,
Jul 30, 2024, 10:58:11 AM7/30/24
to crossmgr...@googlegroups.com
OK.  When I figure this out I will let you know.

Mário Trevelin Jr

unread,
Jun 4, 2025, 11:21:24 AMJun 4
to CrossMgrSoftware
Linux? Ubuntu or Mint?

Edward Sitarski

unread,
Jun 4, 2025, 1:01:47 PMJun 4
to crossmgr...@googlegroups.com
I use Ubuntu.
There isn't anything OS-specific in CrossMgr, but the biggest problem is getting the wxPython module for your flavor of linux.
There are a number of pre-built binaries for linux here with instructions on how to install them here.
Also according to this, some of the binaries are compatible with other linux flavors.
If your linux version is here.

I recommend using crossmgr-install.py (see the CrossMgr README).
This program automatically searches for the correct version of wxPython from the online "extras" folder to install.

By default, "pip install wxPython" will attempt to build wxPython on your system.
This can be a small science project as it requires that the python development library, and gtk library are installed on your system.
Otherwise, the build will fail.  Installing the missing libraires isn't difficult, and you only need to go through it once.
BTW, compiling wxPython can take a while (20-30 minutes, but again, only needs to be done once).




--

Edward Sitarski

Reply all
Reply to author
Forward
0 new messages