trunkmaster / nextspace

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

Preferences crashes #357

Closed tslivnik closed 3 years ago

tslivnik commented 3 years ago

I followed the official instructions to install this on Fedora 31 running in VirtualBox 6.1.10 running on Debian 10.5. The only way I deviated from the official install instructions was to install tar (dnf install tar) which was not installed by Fedora 31 Minimal Install (which I installed from the Fedora 31 Server NetInst CD-ROM image). After installing NextSpace, I logged in and I tried to increase screen resolution from 800x600 in Preferences. This went fine up to a certain resolution, but when I tried to change it to higher resolution still, the screen went black and I had to do a hard reset of the VM. Now, the resolution is stuck at 800x600 and Preferences opens up (shows the clock) but does not show any preferences pane any more, and if I double click on it repeatedly in the Dock, it crashes, then starts again, then crashes. I can start it manually again, but there is no way to access any of the preference panes. I tried deleting ~/Library/Preferences/.NextSpace/Displays-.config but it made no difference. The resolution is still 800x600, Preferences is not showing me any preference panes and is crashing. This is unchanged if I log out and back in again or if I reboot.

tslivnik commented 3 years ago

FWIW This is what I get if I run Preferences from Terminal.

Preferences-bug-screenshot

trunkmaster commented 3 years ago

@tslivnik application can't load model files. It's strange. Several questions:

tslivnik commented 3 years ago

I followed this process:

1) I installed Fedora 31 Server - Minimal Install from the NetInst CD-ROM image. 2) I downloaded NextSpace-0.90-Fedora-31.tgz as per the install guide (https://github.com/trunkmaster/nextspace/wiki/Install-Guide). 3) I installed tar (dnf install tar). 4) I ran (as root)

tar zxf NextSpace-0.90-Fedora-31.tgz
cd NextSpace-0.90
./nextspace_install.sh

5) I answered "y" to all the questions, i.e. I installed NEXTSPACE development and created a user. 6) I ran (as root) systemctl start loginwindow

I have not installed VirtualBox additions.

If I run preferences as an unprivileged user, it crashes in the same way.

trunkmaster commented 3 years ago

@tslivnik I've fixed that bug after release. Look at this https://github.com/trunkmaster/nextspace/issues/275. If you don't want to compile app please wait for a new release.

trunkmaster commented 3 years ago

No response for a month. Closing.

tslivnik commented 3 years ago

It's been a long while and I don't think there has been a new release, so I tried to recompile from sources. Following your instructions from here (https://github.com/trunkmaster/nextspace/wiki/Build-Guide), I immediately ran into trouble as the libdispatch-devel and libobjc2-devel packages would not install via yum/dnf. I looked at your RPMs and they seem to be CentOS only (my installation is on Fedora). Any thoughts (short of reinstalling everything from scratch on CentOS)?

trunkmaster commented 3 years ago

@tslivnik this build guide is quite outdated now. There is more simple way to build and install packages. Just run this scripts one by one:

$ cd ~
$ git clone https:/github.com/trunkmaster/nextspace
$ ~/nextspace/Packaging/RedHat/0.build_libraries.sh ~/nextspace
$ ~/nextspace/Packaging/RedHat/0.build_frameworks.sh ~/nextspace
$ ~/nextspace/Packaging/RedHat/0.build_lapplications.sh ~/nextspace

These scripts install all neccessary dependencies and build and install NextSpace packages. Fedora should be OK too.

tslivnik commented 3 years ago

Thanks. I reinstalled everything from scratch but when I run ~/nextspace/Packaging/RedHat/0.build_libraries.sh ~/nextspace, the process fails with

In file included from /root/rpmbuild/BUILD/swift-corelibs-foundation-swift-5.4.2-RELEASE/CoreFoundation/String.subproj/CFString.c:31:
/usr/include/unicode/uchar.h:485:5: error: redefinition of 'UCHAR_EXTENDED_PICTOGRAPHIC'
    UCHAR_EXTENDED_PICTOGRAPHIC=64,
    ^
/root/rpmbuild/BUILD/swift-corelibs-foundation-swift-5.4.2-RELEASE/CoreFoundation/String.subproj/CFString:c:30:5: note: previous definition is here
int UCHAR_EXTENDED_PICTOGRAPHIC=64;
    ^
1 warning and 1 error generated.
make[2]: *** [CMakeFiles/CoreFoundation.dir/build.make:959: CMakeFiles/CoreFoundation.dir/String.subproj/CFString.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:97: CMakeFiles/CoreFoundation.dir/all] Error 2
make: *** [Makefile:150: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.QvF6MF (%build)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.QvF6MF (%build)
********************************************************************************
 Building of Core Foundation library RPM FAILED!
********************************************************************************
Aborting...
trunkmaster commented 3 years ago

I know what the problem is: Fedora has more recent version of Unicode library. I'll fix this later. As dirty fix you can delete code from nextspace/Libraries/libfoundation/CF_shared_on_linux.patch starting from the line diff --git a/CoreFoundation/String.subproj/CFString.c b/CoreFoundation/String.subproj/CFString.c till the end of file and try to build again. To be asssured remove ~/rpmbuild/SOURCES/CF_shared_on_linux.patch before running build script.

tslivnik commented 3 years ago

Ok, thanks, now the libraries, frameworks and applications built successfully but when the machine boots, it boots to a blank black text screen with a flashing cursor in the top left hand side and goes nowhere. Verbose boot hangs at

[FAILED] Failed to start NEXTSPACE Login Panel.
See 'systemctl status loginwindow.service' for details.
         Starting Terminate Plymouth Boot Screen...
         Starting Hostname Service...
trunkmaster commented 3 years ago

Show me journalctl -u loginwindow command output, please.

tslivnik commented 3 years ago

Transcribed by hand as I can't boot the system even in safe mode, only from a rescue CD and it's easier to copy it by hand than to set up a way to export the file. Please excuse any typos.

-- Logs begin at Tue 2021-09-14 10:40:33 IST, end at Fri 2021-09-17 16:48:35 IST. --
Sep 14 18:57:39 localhost.localdomain in systemd[1]: Starting NEXTSPACE Login Panel...
Sep 14 18:57:39 localhost.localdomain in Login[674]: /usr/NextSpace/Apps/Login.app/Login: error while loading shared libraries: libgnustep-gui.so.0.29: cannot open shared object file: No such file or directory
Sep 14 18:57:39 localhost.localdomain in systemd[1]: loginwindow.service: Failed with result 'exit-code'.
Sep 14 18:57:39 localhost.localdomain in systemd[1]: Failed to start NEXTSPACE Login Panel.
Sep 14 18:57:39 localhost.localdomain in systemd[1]: loginwindow.service: Triggering OnFailure= dependencies.
-- Reboot --

The same set of messages then repeat a few times, with different timestamps.

trunkmaster commented 3 years ago

It seems something wrong library path configuration. I see the following steps:

  1. Make sure you have /etc/ld.so.conf.d/nextspace.conf in place.
  2. Run sudo ldconfig manually.
  3. Check if it helped with command ldconfig -p | grep Libraries. Output shouldn't be empty.
tslivnik commented 3 years ago

Thanks for your kind continuing help. ldconfig -p | grep Libraries contains libgnustep-gui.so.0.29 (libc6.x86-64) => /Library/Libraries/libgnustep-gui.so.0.29 in its output whether or not I manually run ldconfig beforehand. /etc/ld.so.conf.d/nextspace.conf exists. This is after booting from a rescue CD and chroot-ing to the Fedora/NextSpace HD root (not booting from the Fedora/NextSpace HD itself).

/Library/Libraries/libgnustep-gui.so.0.29 is a further sym. link to libgnustep-gui.so.0.29.0 which is itself a file owned by root with 755 permissions and file reports it to be an ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped. It is about 6.8MB in size.

trunkmaster commented 3 years ago

Works for me on Fedora 34.

tslivnik commented 3 years ago

I installed Fedora 34 and the 3 build scripts run fine. Then they stop and I end up at the root shell. It wasn't clear how to start Nextspace, so I rebooted the system shutdown -r now. On reboot, the same thing happens as before ([FAILED] Failed to start NEXTSPACE Login Panel), then hangs.

trunkmaster commented 3 years ago

Disable SELinux with grubby --update-kernel ALL --args selinux=0 and reboot.

tslivnik commented 3 years ago

That worked - thank you!

95rade commented 1 year ago

hi, I am experiencing the same issue as tslivnik and I am running fedora 32:

sudo ~/nextspace/Packaging/RedHat/0.build_libraries.sh ~/nextspace

/usr/include/unicode/uchar.h:485:5: error: redefinition of 'UCHAR_EXTENDED_PICTOGRAPHIC' UCHAR_EXTENDED_PICTOGRAPHIC=64, ^ /root/rpmbuild/BUILD/swift-corelibs-foundation-swift-5.4.2-RELEASE/CoreFoundation/String.subproj/CFString.c:30:5: note: previous definition is here int UCHAR_EXTENDED_PICTOGRAPHIC=64; ^ warning: unknown warning option '-Wno-implicit-const-int-float-conversion'; did you mean '-Wno-implicit-int-float-conversion'? [-Wunknown-warning-option] 1 warning generated. [ 91%] Building C object CMakeFiles/CoreFoundation.dir/String.subproj/CFStringTransform.c.o 1 warning and 1 error generated. make[2]: [CMakeFiles/CoreFoundation.dir/build.make:959: CMakeFiles/CoreFoundation.dir/String.subproj/CFString.c.o] Error 1 make[2]: Waiting for unfinished jobs.... warning: unknown warning option '-Wno-implicit-const-int-float-conversion'; did you mean '-Wno-implicit-int-float-conversion'? [-Wunknown-warning-option] 1 warning generated. 1 warning generated. 1 warning generated. make[1]: [CMakeFiles/Makefile2:97: CMakeFiles/CoreFoundation.dir/all] Error 2 make: [Makefile:150: all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.S8Z1fR (%build)

RPM build errors: Bad exit status from /var/tmp/rpm-tmp.S8Z1fR (%build)

Building of Core Foundation library RPM FAILED!

Aborting...

I thought I could follow up the workaround but there is no line:

diff --git a/CoreFoundation/String.subproj/CFString.c b/CoreFoundation/String.subproj/CFString.c

in

nextspace/Libraries/libfoundation/CF_shared_on_linux.patch

I am stuck, please help, I really admire your work to revive NextStep look and feel in Linux window manager.

thanks a lot

95rade commented 1 year ago

I started all over installed CentOS7 minimal and built everything and it worked like a charm. Thanks a lot. This is soooo cool.