syncTERM on RPi - how, exactly? reddit / bbs ---------------------------------------------------------------------- jimh12345 · 2022-06-14 16:40 I want to get on some BBSs from an RPi 400. So I need a terminal app with good ANSI BBS support that runs on the Pi. I've heard that SyncTERM is good, and I found (on the RPi forum) a shell script to get and build SyncTERM. But the build fails, with lots of "undefined reference to 'vstat'" and a couple other things. Obviously the build is missing some library on the RPi, but trying to unwind that just led me down a series of nested rabbit holes. Is there a way I can get SyncTERM? ---------------------------------------------------------------------- CharlieBrown197 · 2022-06-14 17:06 sudo apt install build-essential libncurses5-dev libncursesw5-dev ---------------------------------------------------------------------- jimh12345 · 2022-06-14 19:48 Just tried that. No joy. Same undefined references to vstat, vstatlock, aspect\_fix. ---------------------------------------------------------------------- GrimpenMar · 2022-06-15 07:18 I'm going through a similar experience, trying to improve on PuTTY for Linux (a week ahead of you). Netrunner compiled in one attempt, Syncterm took a couple of rounds of failing and tracking down dependencies. The documentation for Netrunner was just a tad better for Linux. Of course I wasn't targeting ARM. ---------------------------------------------------------------------- dgeurkov · 2022-06-15 09:00 Compiling software from source is always an adventure ---------------------------------------------------------------------- rlauzon · 2022-06-15 09:49 Then google what you need to install for those. I know it works because I've compiled SyncTerm on my Pis. It may take a bit of work, but it will compile and run. ---------------------------------------------------------------------- jimh12345 · 2022-06-15 15:15 I've googled extensively but have not found a solution for SyncTERM. Where is the Netrunner project? ---------------------------------------------------------------------- GrimpenMar · 2022-06-15 16:58 I just tried compiling SyncTerm on another machine, and it seems to have gone flawlessly on the first go. Curious. I'm no Linux pro, and usually don't compile from source, but a couple of notes. Usually you run two commands from the directory containing the main "source". `./configure` followed by `make`. The `configure` script will output a *makefile*, which is used by the `make` step. There was no `./configure` step required, since there is already a *makefile* in the `/syncterm-1.1/src/syncterm/` directory. I just navigated to the `/syncterm-1.1/src/syncterm/` directory and ran make, and the executable was in the `/syncterm-1.1/src/syncterm/gcc.linux.x64.exe.debug/` directory, and seems to work fine. [NetRunner](http://mysticbbs.com/downloads.html) has an executable and that worked the first time without any fussing about. I only had to install one dependency, `libsdl2-dev`. The package name might be different on your distribution, but you will need SDL2 graphics package. Because you are on ARM IIRC with Raspberry Pi, NetRunner may not be so flawless, although there is a wrapper for non ARM executables I think. --- Edit: make sure you are getting the `syncterm-1.1-src.tgz` file from https://sourceforge.net/projects/syncterm/files/latest/download. Edit 2: A *Post Script* and opinion. There are a few ANSI BBS terminals in the Ubuntu package system, QTerm, cuteCom, and miniCom as I recall. NetRunner and SyncTerm seem a little more straighforward, and arguably more capable than others. *Someone*, not me, should get one or both of them into the package manager system. It would make it far easier for a BBS-curious aficionado playing with a Raspberry Pi 400 to quickly and easily install good BBS terminal software and connect to a retro computing BBS. PuTTY is about the best of the usual suspects, improving ANSI BBS support on PuTTY would be another option. This would be a way to really lower the barrier of access. ---------------------------------------------------------------------- jimh12345 · 2022-06-15 18:16 Some other old posts indicate SDL2 might be the problem. I'm not a Linux guy, although I used to write Windows applications - so this whole 'package' thing still seems like chaos to me; you're always just one dependency away from success. :-) I'll try and figure out how to get libsdl2-dev into whatever magic location is required. ---------------------------------------------------------------------- GrimpenMar · 2022-06-15 19:37 Honestly, if software is in the repositories, it's like an open source app store. Select install, and away you go. I so rarely have to build from source, I have to refresh my memory every time. There is a text file in the SyncTerm directory named `COMPILING` that provides some instruction, and most of it's requirements are met as long as you download the default package. I suspect you were right about the SDL2 requirement being what messed me up the first time with SyncTerm. I installed SDL2 for NetRunner, as it was flagged when I tried the executable. That's probably why it compiled flawlessly after I already got NetRunner running. As to SDL 2, on Ubuntu I just searched Synaptic (a graphical package manager) for SDL 2, and found that the package was called `libsdl2-dev`. Checked it, applied the changes, and it automagically installed it where it needed to go with all it's dependencies. This is the Linux experience 90%+ of the time. I think Raspberry PI OS/Raspbian has a graphical package manager as well, so that would be the easiest way to go. The [libsdl.org](https://wiki.libsdl.org/Installation) site has information on installing on various platforms as well. ---------------------------------------------------------------------- jimh12345 · 2022-06-15 19:48 Great tips, thanks. I haven't quite given up yet :-) With Windows, there was one canonical system to deal with - and users never had to build anything. The world of linux - with open source, and a proliferation of platform variants - is a head-twister to me. ---------------------------------------------------------------------- GrimpenMar · 2022-06-15 20:14 For sure. Every distribution has it's own little quirks, so it's really more of a family of operating systems. Having said that, there are a few common ways of doing things, and once you wrap your head around those commonalities, the differences become less troublesome. This is one of the advantages of sticking with the more popular distributions. Most of the time, someone has done the legwork and everything "just works". Generally, I recommend using your distribution's package manager to install everything. Everything just works, and stays up to date (more or less). In this case though, you're straying into the fringe of the fringe, so adventure awaits! ---------------------------------------------------------------------- jimh12345 · 2022-06-16 00:15 >libsdl2-dev Once I realized that libsdl2-dev was the name of the package I needed, I was able to get it with apt-get. SyncTERM then linked and ran. Thanks for your help. Linux is a strange world, though. I see value in the model of open- source, multiple distributions, local build; but the build process itself hasn't kept up with these advances. In my case I could see the names of the unresolved symbols, but nothing in the build output told me where, exactly, the developer expected them to be resolved. Instead I had to do a lot of Googling and read the results of experiments by others having the same problem. The problem is that all these 'distributions' don't contain the same 'packages' by default - and although you may be able to get what's missing, you have no obvious way to learn its name. Or maybe you do, and I just haven't learned how to do that yet. ---------------------------------------------------------------------- PaulLee420 · 2022-06-18 19:53 For installing SyncTerm on an Ubuntu based nix, I highly suggest using MeaTLoTioNs guide. You can follow along and enter the commands manualls, or he's written a bash script file that you can trust and run...: [Quantum Wormholes Guide to SyncTerm Building](https://www.erb.pw/how- to-install-syncterm-for-linux-from-source/) Secondly, SyncTerm is... while its not super HEAVY, I don't get the best results on a Raspberry Pi... I suggest you check out APAM's MagiTerm. He's been developing it actively in the past month, and it has some great support... be sure to press Alt-Z to see commands for DOUBLING screen size, and/or going full-screen, which looks great and is very true to historical bbS terms: [MagiTerm](https://gitlab.com/magickabbs/MagiTerm) To build MagiTerm, just: git clone [https://gitlab.com/magickabbs/MagiTerm.git](https://gitlab. com/magickabbs/MagiTerm.git) cd Magiterm mkdir build cd build cmake .. make sudo make install ​ After which you can just type 'MagiTerm' in the terminal, and/or create a shortcut to your start menu or desktop... MagiTerm has come a long way and is LIGHT. Cheers. ---------------------------------------------------------------------- jimh12345 · 2022-06-19 15:33 I got SyncTERM to build, and also Qodem (which is retro cool). MagiTerm sounds good, too.