Are we all doomed?
Glen Walker (2585) 469 posts |
Not sure if I’ve just had a gloomy weekend, but I have started looking at some programming for RISC OS and am feeling even more gloomy. It seems that everyone else in the world is keen to abandon RISC OS and I worry that we are going to be left behind. There are several examples I can think of but most recently I was looking at porting Synergy which requires Python – it seems that Python for RISC OS has stopped at version 2.4. Also, I was looking at compiling NetSurf on my RISC OS computer but found that the instructions for RISC OS were missing from the source repository (apparently the accepted way now is to cross-compile it using another platform). Doing a bit of digging it turns out that the older versions of NetSurf (not so long ago: 2013) could be compiled but they need Perl. “OK” I thought “I’ll get the latest Perl” but sadly the only version I could find has not been updated since 2006. The final straw came from the NetSurf developers mailing list in the form of this: It is six months since the 3.2 release and seems a reasonable time to release 3.3 which fixes many issues. I will, once again, be the release manager and intend to perform the release process on Saturday the 28th February 2015. The targeted release architectures currently include RISC OS although I have serious reservations about releasing on this platform. This is principally because the current maintainer has not had sufficient time to address the numerous bugs currently assigned. This also raises the question of who (if anyone) is assessing the impact of core changes on the RISC OS frontend. If the situation does not improve I shall be forced to remove RISC OS as a release architecture for subsequent releases. To be clear, this does not affect it being built as part of the development process, just having releases provided by NetSurf. What does everyone else think – am I being needlessly gloomy? |
Malcolm Hussain-Gambles (1596) 811 posts |
We’re doomed…clickty click ;-) |
Glen Walker (2585) 469 posts |
Exactly who I had in mind! :—) |
Robert Hampton (1923) 57 posts |
My own observation is that a lot of developers abandoned RISC OS from the mid-noughties onwards. I think at the time the prevailing wisdom was that the platform was dead, and Linux provided a better “hobby” system for people to experiment. As you’ve seen, this has led to a lot of apps being simply abandoned. With the arrival of the Pi, the opportunity is there to introduce RISC OS to a whole new audience. The question is: how do we tempt people (both old hands and new users) back and get them developing software again? There is new stuff appearing but much of it is in the form of small utility apps rather than the “killer apps” a platform needs. The Netsurf situation is serious. One of the main reasons for the initial decline of RISC OS was the lack of a credible web browser. If Netsurf is abandoned, we might as well all go home. It is very frustrating, given its use in numerous “learning programming is FUN!” books available now, that there is no current version of Python for RISC OS. If there were (and it supported add-ons such as PyGame) I would go as far as to say that RISC OS would be a better learning platform than Raspbian. Not sure what the solution is, other than to find a way to encourage development. It’s always been my belief that the remaining commercial organisations with a significant stake in the platform (RComp, CJE etc) should maybe take a role in sponsoring development of apps. After all, what use is a fabulous system like the ARMX6 if there’s no software to run on it? |
Rob Kendrick (86) 50 posts |
Anybody is welcome to submit patches to NetSurf to improve it in any way (including the RISC OS front end); after a period of sustained good contributions, we then tend to provide direct version control access. NetSurf is cross-compiled from Linux because it’s too slow on native hardware (we’re talking 15 seconds vs. 20 minutes) and RISC OS’s idiosyncrasies make maintaining the build system a chore. I think the project as a whole would welcome code contributions from the commercial organisations still involved in RISC OS. I don’t think any of the current developers have enough time for financial contributions to be meaningful. |
Steve Fryatt (216) 2105 posts |
That’s because it’s significantly easier to cross-compile. I can’t remember the figures, but my recollection is that building NetSurf on RISC OS took several minutes; on Linux, it takes less than 30 seconds. When you add in the additional shell support on Linux, it became a no-brainer. [I see Rob’s put some figures on it; they match my recollection of working on an Iyonix.] So much so, in fact, that all of my RISC OS software (including the stuff written in BASIC) is now developed in the main on Linux.
I don’t think anyone has abandoned NetSurf: the core developers still seem fairly active. The main RISC OS maintainer might no longer be active on the project, but that’s because he’s back developing his own software for RISC OS instead (having had to put it all in limbo to find the time to work on NetSurf). That’s not abandoning the platform. As Rob says, anyone is free to submit patches to NetSurf; there could even be several people collaborating on maintaining the RISC OS front-end, as there’s plenty to be done. I’m more than happy to spend time helping other developers get familiar with the RISC OS code, and explain where the changes that I’ve made were heading. More importantly, perhaps, I’d be very likely to come back and help out if the workload was shared out to a more manageable level such that I could do it alongside interesting projects of my own. Any takers? |
Robert Hampton (1923) 57 posts |
What Glen quoted suggested that “official” RISC OS releases could stop. If that’s not the case, I’m happy (and grateful). And I appreciate (because it affects me too) that there are time and other pressures. No criticism intended of anyone who is still around doing stuff for RISC OS. |
Chris Evans (457) 1614 posts |
I can assure that we here at CJE have continued to invest in RISC OS1, and in recent years that investment is more than the profits we make (before paying myself anything!). i.e. we are subsidising RISC OS. The problem is that our other markets are not making a fortune. |
Steve Fryatt (216) 2105 posts |
I don’t think anyone has abandoned NetSurf: the core developers still seem fairly active. You’re comparing two different things. NetSurf can continue without a RISC OS maintainer: it just means that “our” platform won’t get official releases if the team aren’t happy that they can be guaranteed to be of sufficient quality (which I think is what’s been said), and that test builds for the platform could stop being produced at any time if changes to the core prevent the RISC OS target from building and no-one fixes the RISC OS code. NetSurf itself would carry on, for other platforms. |
Steve Fryatt (216) 2105 posts |
As an aside, Glen: are you still interested in building NetSurf, or is the cross-compilation requirement a deal-breaker? If you are, the offer of some guidance still stands. |
Michael Emerton (483) 136 posts |
Hi Steve, I have no dealing with cross-compiling…yet (I did manage to get the hang of compiling C) I have a PC with Windows on kicking around, more than happy to attempt to compile….I have VirtualBox with Ubuntu installed. any beginners guide for compiling NetSurf? :) |
Chris Evans (457) 1614 posts |
Back to Glen’s original comment: |
Robert Hampton (1923) 57 posts |
I remember reading (possibly on riscos.info somewhere) that the GCCSDK cross-compiler can be set up on Windows under Cygwin.
Yes, me too. I hope that this starts to bear fruit (and that I myself will get time to do some actual programming and join their ranks!) |
Glen Walker (2585) 469 posts |
I knew I’d be opening a small can of worms here ;—) Its great to see such a quick and varied response from everyone and that gives me hope! (contrast that to a post I put on the Jolla Developers forum which has had no replies…and that is supposed to be a “new/exciting” platform…)
Thanks! I have managed to go as far as installing GCC (although it is very temperamental) and Perl on my RPCEmu. As I understand it, now I need to get OSLib and NSTools? (I am following the BUILDING_RISC_OS document from the netsurf-3.0 source – the latest I could find). I don’t think we should let a compile time of a minute or so stand in the way of compiling on RISC OS – it will be invaluable to keep the toolchain alive for when we get faster hardware (ARMx6? Pi 2?)
Any info would be appreciated but if there is nothing out there I’ll do my best to document my experiences!
Me too! :—) The crux for all of us is the “getting time” part I suppose… |
h0bby1 (2567) 480 posts |
aaaaa |
Steve Fryatt (216) 2105 posts |
I don’t have time to give a full answer now, but I think you might find that NSTools isn’t up to date enough for the current NS source. A lot of the libraries that NS uses are ports, and they’re built using the GCCSDK Autobuilder – a tool that makes use of the Linux environment to save having to change things like Automake and Autoconf scripts when porting software (meaning that it’s often possible to just build new upstream versions with no changes). NSTools was manually assembled by someone using the Atobuilder and collecting its output together, to make these libraries available on RISC OS – with no-one building on RISC OS, there might not be much point keeping it up to date.
We’re not talking “a minute or so”, I’m afraid… |
WPB (1391) 352 posts |
@Steve, can NS be built on Cygwin? Is there a guide to setting that up at all? |
Rob Kendrick (86) 50 posts |
It is probably possible to build under Cygwin, but it will be a lot of effort. For a start, you’ve got to build the cross compiler and all the libraries. The NetSurf autobuilder has already done all that work for you under Linux; you just extract the archive available from http://ci.netsurf-browser.org/ I would strongly suggest anybody who is interested in building NetSurf use Debian GNU/Linux; it’s what most of the developers use and what the instructions/documentation is tuned for. (You can run this in a VM just fine.) |
Michael Drake (88) 336 posts |
It was over 20 mins to build a few years ago on my Iyonix. I doubt its got any faster since; NetSurf has grown more complex. Also the >20 mins doesn’t include the time spent building all the NetSurf project libraries (LibDOM, LibCSS, Hubbub, etc), which take a lot of time themselves. The scripts to automate the building of all our libs and placing them in the right place to be found by the NetSurf build don’t run on RISC OS. So you have to make and install each one manually, taking care to do it in the right order for their deps. Also we have an SDK that automatically builds all the correct versions of 3rd party libraries, applying any patches needed for RISC OS. That only works on linux too. If you don’t use that, you have to either port all the libs yourself or find ports of ancient versions (that’s what NSTools was). The other problem you’ll have building on RISC OS is that RISC OS has no Git client, so it will be difficult to acquire and contribute changes. |
Jeffrey Lee (213) 6048 posts |
Newer machines will certainly be faster (just look at some of the figures for how long it takes to compile RISC OS ROMs – down from ~45 minutes on an Iyonix to ~10 minutes on the ARMX6, or ~5 minutes if you use a RAM disc). But if I were working on Netsurf I’d still do all the compiling on Linux, for all the other reasons stated here. The build system is too Unix-centric for it to make sense to try building on RISC OS (unless someone feels like investing hundreds of hours on improving GCCSDK), and for at least the next few years we’re still going to be hobbled by the fact that we’re only able to make use of 1 CPU core. Just use your favourite text editor to edit the source over a network share and run the compiler through ssh. IIRC you can even get GCCSDK to send throwback messages over the network to RISC OS. It won’t really be that much different to native development. |
Michael Drake (88) 336 posts |
Yep, that’s exactly what I used to do. (Zap, obviously.) Also, if you’re working on stuff in NetSurf’s multi-platform core code, the debugging tools are much better on Linux. |
Chris Johnson (125) 825 posts |
I think Michael has summarised the problem well. I had a look at doing something with NetSurf a while back when Steve Fryatt was trying to get some interest going. However, I soon found the catch 22 situation. I do not use any form of unix so woulod have to set up an environment on RISC OS from scratch, and with no Git it was rather difficult obtaining up to date source. The compilation time is not so important, since once you were actually in business, it would be unlikely you would need to compile the whole thing every time – just the sources you were working and any others that had changed. |
Rob Kendrick (86) 50 posts |
In summary;
There are much better things to be spending time on in NetSurf than restoring building on RISC OS. We don’t support building the Windows version on Windows, or the AmigaOS version on AmigaOS etc either. (BeOS and OS X versions are both built natively, but they’re UNIXesque and you can’t cross-compile to them.) |
Glen Walker (2585) 469 posts |
Thanks everyone for shining a torch on some darkened corners of the build process! It looks like its quite a bit more involved than I expected and I can appreciate now why it is built on Linux and cross-compiled – in fact I don’t really have any strong objections to doing so (especially now that I appreciate how much it relies on unix stuff), I was just hoping to be able to do some coding & building natively on RISC OS… Recently I was asked what I would choose for an operating system given a free choice and I said Debian Linux without any hesitation. RISC OS is fun, fast and remarkably easy to use and I will continue to use it where-ever possible. Maybe with time the software will increase with new hardware and more new users such as myself (and others who are coming it through the Pi phenomenon), but for now if I want to do work my first practical choice would be Debian Linux and second choice Windows – even though in my heart I’d love to use RISC OS… |
Rob Kendrick (86) 50 posts |
I shall make an effort to write an article on NetSurf’s wiki about how to set up a cross-building environment on Debian for building RISC OS NetSurf, if people think that’ll be helpful. (The same environment can also be used for general RISC OS software development!) |