Jump to content

Linux Problem


Phil Deakins
 Share

You are about to reply to a thread that has been inactive for 330 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Summary of the current investigation.

An earlier version of Radegast will run on a 32-bit Raspberry PI distro (Raspbian, Buster, etc) using Mono, there is no need to find a linux version. (Mono will run a windows dotNet program by providing the necessary sub-system).

Local chat, IMs, friends, nearby objects all work. You can send and receive IMs, see nearby avatars on the radar, sit on objects, and engage in local chat.

It is text-only, the world map won't work.

I have no idea if voice will work, I'm going to guess it won't.

The version in question pre-dates some significant changes (such as inventory via http), and so although all the inventory folders show up, no individual contents show and there is no ability to create or edit notecards, scripts, or see textures. You can accept inventory offers, the blue popup appears as normal, but you can't see or open the item from inventory.

I don't have any Pis with 64bit versions of the OS so I cannot at present check if the 64-bit version will run any of the later versions of Radegast. They might, although it may be that there isn't an up-to-date enough mono version to cover the dotNet 4/5/5.0 requirements of the newer Radegasts.

Link to comment
Share on other sites

56 minutes ago, Profaitchikenz Haiku said:

From what Henri, Coffee and Beq have been saying, the problem with 32-bit programs isn't that they aren't capable of running, it's that many of the support libraries are no longer available in 32-bit versions.

The only problem with 32 bits Linux viewer is actually with boost::fiber and/or boost::context (I would rather suspect a bug in the latter, since it is the underlying and architecture-dependent code for fibers). The use of boost fibers causes an immediate crash with 32 bits Linux builds, when 64 bits builds run just fine and 32 bits Windows builds run just fine as well... With the old, Linden-patched/modified boost coroutines (IIRC, in boost v1.68) the 32 bits builds were working fine, so I kept for a while a dual-path code (coroutines and old boost for 32 bits Linux and up to date boost with fibers for everything else), but it was unpractical and held back some newer code from being backported in my viewer, and since, after a poll, I got the confirmation no one was running 32 bits Linux builds any more, I gave up on them (and on 32 bits Windows as well)...

2 hours ago, Profaitchikenz Haiku said:

Radegast 2.12

Yes, this is the last working Mono-compatible version... Sadly, Cinder's Radegast versions never properly worked under Linux+Mono for me.

However, this version is using old protocols (login and inventory, especially), and the old login protocol was supposed to be removed from LL's login server (but is still available for now), so using this version might become impossible at some point.

3 hours ago, Phil Deakins said:

I'm installing Ubuntu because Henri has an ARM viewer that runs on something. I'm simply trying various linux distros to see how it does on them.

To save your time, first check what glibc version the distribution you wish to try is supporting. The pre-built ARM libraries builder (bjdragon) apparently used a distro with glibc v2.32, so any 64 bits Linux distribution with a glibc version equal or newer to v2.32 should do and would normally be able to run the existing Cool VL Viewer ARM binary.

Edited by Henri Beauchamp
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, Henri Beauchamp said:

Yes, this is the last working Mono-compatible version... Sadly, Cinder's Radegast versions never properly worked under Linux+Mono for me.

I hesitate to suggest this as an option, but...people have installed Windows 10 on the Pi4Bs with 4G and 8G Ram, so you could then get dotNet 4.7 and run Cinders latest code. However, this to my mind is rather like using dynamite to remove an infected tooth.

  • Haha 2
Link to comment
Share on other sites

7 hours ago, Profaitchikenz Haiku said:

I hesitate to suggest this as an option, but...people have installed Windows 10 on the Pi4Bs with 4G and 8G Ram, so you could then get dotNet 4.7 and run Cinders latest code. However, this to my mind is rather like using dynamite to remove an infected tooth.

I installed Windows 11 on my 4G Pi4B, but it kept throwing up an Oops! when opening tabs in the browser so I abandoned it.

Link to comment
Share on other sites

13 hours ago, Profaitchikenz Haiku said:

Installed Mono from Synaptic (mono core library for CLI 4.5)

I think I've installed Mono correctly, and I've downloaded and unzipped Radegast, but I can't get the Radegast.exe file to run. Do it also need Wine?

mono Radegast.exe tells me mono command not found.
./Radegast.exe tells me I don't have permission.
sudo ./Radegast.exe tells me command not found.

So I'm stuck lol.

In other news...
I'm not far off succeeding with henri's full viewer, using Ubuntu. There is just one dependency missing (I had 10 missing with the Raspberry 64 bit OS). Only one  missing seems doable - if I knew how to get and install it. But I don't. I can do  sudo apt-get install <file> but I can't yet find the missing file - libopenal.0.1

Edited by Phil Deakins
Link to comment
Share on other sites

12 hours ago, Henri Beauchamp said:

To save your time, first check what glibc version the distribution you wish to try is supporting. The pre-built ARM libraries builder (bjdragon) apparently used a distro with glibc v2.32, so any 64 bits Linux distribution with a glibc version equal or newer to v2.32 should do and would normally be able to run the existing Cool VL Viewer ARM binary.

The glibc version is 2.35 so that's good :)

 

Edited by Phil Deakins
Link to comment
Share on other sites

1 hour ago, Phil Deakins said:

I think I've installed Mono correctly, and I've downloaded and unzipped Radegast, but I can't get the Radegast.exe file to run. Do it also need Wine?

No.

which mono should give you a path, if it returns nothing then the installation wasn't successful.

When successfully installed mono --version should give you the installed version.

In synaptic there is a load of potential hits when you search for mono, the one you want is one of the earleir entries in the list, the key thing to look for is CLI (Command Line Interface).

 

 

Link to comment
Share on other sites

2 hours ago, Profaitchikenz Haiku said:

In synaptic there is a load of potential hits when you search for mono, the one you want is one of the earleir entries in the list, the key thing to look for is CLI (Command Line Interface).

I installed Synaptic and did a search for 'mono'. There are 2 that match the description you wrote on the previous page - "Installed Mono from Synaptic (mono core library for CLI 4.5)"

1. libmono-corlib4.5.cil
2. libmono-corlib4.5.ddl

I installed the second one, and the installation appeared to install perfectly well, but which mono and mono --version returned nothing.

On selecting the first one to install, I'm informed, "Could not mark all packages for installation or upgrade". So I assume that the dll is the correct one, and I get nowhere with it :(

I'm installing into the Raspberry Pi 64 bit OS. Maybe that's getting in the way.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Phil Deakins said:

On selecting the first one to install, I'm informed, "Could not mark all packages for installation or upgrade". 

That's suggesting that there isn't a full implementation for the 64-bit. You could try expanding the error report to see if it gives you any idea what it's choking on. My thoughts are that there still isn't full support in Raspian 64-bits for everything that is in the default 32-bit system. A quick look through some forum postings that search brought up show quite a lot of fairly important things like VLC were not there in the early 64-bit release plus quite a few other things would need to be recompiled with graphics libraries pointing to a different location because a lot of the stuff (I noticed GlibC in there), was being chucked into /usr rather than /lib. Such changes are non-trivial slightly-difficult, as the Japanese like to say.

Quick thought, stick your other card with the 32-bit OS back in and try on that? It's easy enough to just swap cards over to get a different OS to play with.

Link to comment
Share on other sites

 

Synaptic-synaptoc- they all look the same to me :(

Greatly embarrassed and apologetic. I said I had installed mono from synaptic thinking that the Preferences->add/remove software choice was a front-end for Synaptic, and now I find it isn't. On my Linux box synaptic, which I use extensively, looks remarkably similar to what the Raspian software package manager looks like.

Try whatever software management package you have available to you from the Pi menus, hopefully there is one. That might then do a better job of pulling in the required dependencies for mono.

Link to comment
Share on other sites

@Profaitchikenz Haiku

Thank you for the posts. I wondered why your Synaptic looked very different to mine lol.

I found the manager you used and it offers a file just like the one you installed but a later version (6.12.0.182-0xamarin1+ubuntu2004B1. I clicked Apply and something very short happened but it didn't install.

I've just taken delivery of a 128G card and I'm going to put the 32 bit Pi OS on it to try with that. I was switching cards until I managed to disconnect the shield for the card on my 4G Pi. So now I leave that alone and running, and I'm using a 2G Pi as well. That's the one that I'm trying to get Henri's viewer running on (I'm closer than I was before :) ), but I'll use that Pi with the new card for this test.

 

  • Like 1
Link to comment
Share on other sites

8 hours ago, Phil Deakins said:

In other news...
I'm not far off succeeding with henri's full viewer, using Ubuntu. There is just one dependency missing (I had 10 missing with the Raspberry 64 bit OS). Only one  missing seems doable - if I knew how to get and install it. But I don't. I can do  sudo apt-get install <file> but I can't yet find the missing file - libopenal.0.1

Hi. I haven't used Linux for a while, but would it be possible to use libopenal1 and create a symbolic link? You've probably already thought of this (if it is even a reasonable possibility), but I wanted to offer the suggestion just in case. (Google search also tells me a possibility might be libopenal.so.1.)

Edited by SeattleChris
correct improper word use
Link to comment
Share on other sites

@SeattleChris

Thank you for the suggestion. I've got past that though by trying to run the viewer in Ububtu. Atm, there are no missing dependencies, but there's still a problem to overcome. The viewer window opens but it gets stuck.

I wrote this somewhere:- by choice I skipped linux entirely, and I'm a complete dummy with it. I'm pretty much working blind but I'm making progress on 2 fronts with the help of a few people. One front is getting henri's viewer to run, which is what people here want, especially Monty Linden I think. The other front is now getting Radegast to run on my computer, because that will suit me.

 

  • Like 1
Link to comment
Share on other sites

@Monty Linden

Not working for you, no, but, rightly or wrongly, I've got the impression that you'd like to see SL run on an off-the-shelf Pi.

1 hour ago, Monty Linden said:

Victory is the goal!

It is. I'd be happy with Radegast. That would be my victory. On the not too rare occasions when I need a full viewer, I can always fire up the tower. I'd like to be logged in the rest of the time, for IMs and such, and Radegast will suit that. I'm persevering with the full viewer because I'd like it to happen.

Edited by Phil Deakins
Link to comment
Share on other sites

Radegast update:

With the Raspberry Pi 32 bit OS installed, I followed Profaitchikenz Haiku's steps on page 3 of this thread:-

1. In Add / Remove Software I installed mono (I was offered both of the files I mentioned earlier. I chose the cil one. When I looked back, both were ticked as installed.

1a. which mono returned the path, and mono --version returned a list of data.

2. I downloaded and unzipped radegast-2.12.zip from the link provided.

3. I opened a terminal in the folder and ran mono Radegast.exe which returned a WARNING first, followed by an Unhandled exception, and finally a FATA ERROR EXCEPTION.

In other words, it didn't work for me :(   Sad to say, I do think that Radegast has beaten me. I still have henri's viewer on the go though, and henri has given me something to try - tomorrow - so all is not lost.

During the day I wondered what a Raspberry Pi 400 is, as I hadn't heard of it before this thread. So I looked it up, and found that one is actually available in the UK at around £80, which doesn't seem too bad for what it is. My desire to run Radegast in a Pi isn't worth that much though :)

 

Edited by Phil Deakins
Link to comment
Share on other sites

The mono issue is that

a) After Microsoft took over the mono project they basically froze it in place. There has since virtually been only a minor update that Microsoft needed to make Visual Studio for macOS work on macOS 12.3 or higher on Intel.  VS on Apple Silicon (64-bit ARM) ran under Rosetta2 translation.

b) Microsoft has since release Visual Studio 2022 for Apple Silicon without mono, but rather native .NET6 support. The implication being they never supported mono on 64-bit ARM and never will. 

c) The situation for mono on Raspbian OS is that the previous version based on Debian 10 (buster) has support for mono up to version 6.12. This version of Raspian OS exists as 32-bit only. 

Raspbian OS has since been updated to be based on Debian 11 (bullseye) and only this version has a 64-bit version in addition to the 32-bit version.

The 32-bit version can be coerced to install the buster version of mono 6.12, but Raspbian OS is shipped with mono 5.11 only. That 5.11 version has  both 32 and 64 bit support. 

I don't know if Radegast will run on mono 5.11, but current versions of opensim won't.

If you try and add mono 6.12 support to the 64-bit version of Debian (both Intel and ARM) or Raspbian OS by downloading the source and compiling it, it will install, but some of the development tools are missing.

For opensim it means that it will no longer compile on Debian 11 (64-bit Intel or ARM) or Raspbian OS (64-bit ARM) with a mono 6.12 built for that system version. It also won't run even if compiled elsewhere and you have native built 64-bit libraries for ubODE and such.

The 64-bit Intel version of Debian 11 can be coerced to install the buster version of mono 6.12, and it will then both compile and run opensim.

Obviously with mono being frozen by Microsoft without an update for 2+ years, the entire mono environment will increasingly get flaky and eventually fall apart on new versions of operating systems it once was supported on. 

 

Edited by Gavin Hird
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Gavin's post about mono reminded me that there was a difference between Profaitchikenz Haiku's mono installation and mine. Prof's was 5.18.2.240+dfsg-3, whereas mine was 6.8.0.105+dfsg-3.2. Perhaps that's the reason why Radegast didn't run for me.

Edited by Phil Deakins
Link to comment
Share on other sites

11 hours ago, Phil Deakins said:

3. I opened a terminal in the folder and ran mono Radegast.exe which returned a WARNING first, followed by an Unhandled exception, and finally a FATA ERROR EXCEPTION.

It's a long shot, but try 

sudo mono Radegast.exe

Just in case there's some permissions issues with accessing shared stuff.

It might also be helpful to post the warning and errors sequence, just on the off-chance.

Link to comment
Share on other sites

The long shot didn't work but it was worth a try. The short list of errors were identical to those without sudo:-

phil@raspberrypi:~/Radegast $ mono Radegast.exe
WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v4.0.30319

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
phil@raspberrypi:~/Radegast $ 

Link to comment
Share on other sites

I've given up on running a viewer, and it looks like I have to give up on Radegast too. Henri tried hard to help me get the viewer running but it's been problem after problem, and my linux dumbness couldn't contribute anything.

I still don't want to run the tower so my solution will be to install Windows 11 on  my 128G card and run it on the 4G Pi. If it won't handle web and viewer, then I'll use a separate 2G Pi4 for the web. That's my plan, anyway :)

 

Edited by Phil Deakins
Link to comment
Share on other sites

1 hour ago, Phil Deakins said:

System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.

You just need to install the mono package that brings Mono Windows Forms support, which is likely named ”mono-winforms”, or something in that vein... Simply fire 'synaptic' (your package manager) and search for ”mono”, or ”forms” to find the proper package.

Edited by Henri Beauchamp
  • Thanks 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 330 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...