trunkmaster / nextspace

NeXTSTEP-like desktop environment for Linux
https://trunkmaster.github.io
GNU General Public License v3.0
1.89k stars 69 forks source link

How to actually get it running under Debian? #319

Closed tanshoku closed 4 years ago

tanshoku commented 4 years ago

I've managed to build the packages for Debian Buster and they're install-able, but i still can't get it to run. I noticed some scripts and systemd services were not included into the .debs, as well as some programs and libraries that are on nextspace-gnustep-(...).rpm (gdnc, gdomap, etc), I tried to convert the package with alien and see if it would be of any help, but it obviously didn't work. Has anyone actually managed to get it running on Debian (whichever release), and how did you manage to do it; I'd build everything with make, but for some reason I can't install clang on my system due to dependency conflicts, so at least I need a general idea of what I'm missing to have a working system.

trunkmaster commented 4 years ago

@tanshoku have you managed to build Debian packages without clang? There is a PR #314. It contains scripts for Debian-specific build process. You can get this as starting point. systemd services files are located in System/Libraries/gnustep and Applications/Login/Resources. It works on CentOS/RHEL as is.

If you want to understand how running NextSpace is made I suggest you create virtual machine (I use VirtualBox) and follow the Install Guide. It gives you understanding how it should be configured and running.

tanshoku commented 4 years ago

Yes and no. The Debian build process uses pbuilder, which creates a fakeroot system and install the needed packages there. Personally I don't like it so much because of my slow internet connection and I think it's wasteful having to download and install an entire system, but it works perfectly on cases like this where I can't install a needed package on my real system, but it works fine on a clean fakeroot system. As for that PR, I'll give it a try, I think it was mentioned before but I mixed it up with #301.

As for installing on a VM, I did get it to work with CentOS on Virtual Box I've been occasionally playing with it, and trying to use it as a reference to set up on Debian. I'd just install CentOS on one of my real machines, but 12+ years of using Debian has made me way too used to its inner workings hahah =)

onflapp commented 4 years ago

@tanshoku I am running it on Debian 9 and 10. Virtual Box and Raspberry Pi. Just make sure you have your profile properly setup and Preferences in your home directory.

tanshoku commented 4 years ago

I fixed the dependency hell on my system by upgrading it to testing, so I could install clang, and then I built NEXTSPACE successfully using @onflapp 's scripts, but I still can't get it fully working; The systemd .service files were missing for the GNUstep backends/daemons, so I had to copy them over manually; After that I could start loginwindow.service, but it'd end up with a segfault and an error about not finding the needed fonts not a program called font_cacher; I found the source code for that program on nextspace-back* but again couldn't compile it, so I ended giving up. What's weird here is that from what I read on comments all around the code, it shouldn't be requiring font_cacher because that seems to only be needed when it is compiled with xft, and the scripts are set to use libart, so I'm not sure what's going on.

Also probably related, I can't' install the GNUstep packages from apt either, it crashes at the postinst scripts on gnustep-back-*, due to a segfault on mknfonts, which I inspected with strace and points to it not being able to find a library named libobjc.so.4.6, which is not available on Debian testing nor stable, according to apt-file search. So, this is probably a problem with my heavily customized install, the Debian archives, or both, which I'm not sure how to solve, so I'll just wait til this is somehow fixed, or until I have time to track this down.

onflapp commented 4 years ago

@tanshoku make sure the GNUStep backend build finds everything it expects (fontconfig, etc.) It needs to be compiled with libart and X11.

libobjc and dispatch should be compiled and installed from sources, uninstall the version that comes with Debian otherwise GNUStep may get confused

also, try to run it from xinitrc (startx) first, rather than through Login.app

tanshoku commented 4 years ago

Okay, I managed to get it running, thank you =)

My only major now is that japanese text is unreadable and appears as question marks. mknfonts still segfaults, but now it is because it tries to open a non-existing file, /etc/gnutls/config, and it still segfaults if i create that file and leave it empty.

stat("/etc/gnutls/config", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
openat(AT_FDCWD, "/etc/gnutls/config", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
read(3, "", 4096)                       = 0
close(3)                                = 0
brk(0x558116a6c000)                     = 0x558116a6c000
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} ---
+++ killed by SIGSEGV +++

But that's a problem for another issue I believe.

tanshoku commented 4 years ago

Nevermind I uninstalled mknfonts, cleared the apt cache and reinstalled it and now it works fine.