Europe does rail pretty well, all things considered. Well enough that companies (like mine) eventually get subcontracted to build things for the North American market as well. Problem is, rail is a highly regulated industry, which means lots of mandatory software documentation.
European countries all use the EN documentation standards. The US and Canada tend to use the IEEE-1558 and its ilk. Neither document is a subset of the other; there exists no easy list of differences between the two standards to allow compatibility.
So the actual software development goes pretty smoothly -- then someone realizes there's no standard-conforming documentation and the whole project grinds to a halt. Often for years, because the number of people who are fluent in writing docs for/translating docs between both standards in any given country, you can count on one hand. I am rumored to be one of them.