Hi Riccardo, I successfully built GNUstep Core with GNU Runtime on Debian 12.12. This is a major issue solved in my project. Again, thank You for the wise advice. I can now work again on a better look for the theme, namely as you suggested.
About GWorkspace, I just noted that configure failed to detect sqlite although sqlite3 is installed when building the submodule GWMetadata. Is it a known issue? Patrick On 2025-09-17 17:19:59 +0200 Riccardo Mottola <riccardo.mott...@libero.it> wrote: > Hi Patrick! > > Patrick Cardona wrote: >> Hi Riccardo, >> Hi Richard, > > :-) it makes me smile > >> - Building GNUstep (last Runtime 2.1 with clang-14 and linker gold) works >> fine the first time on a fresh updated lite system (Debian Bookworm 12.12) >> - I am using a set of scripts inspired by Patryck Laurent: namely his tip >> about Libdispatch (removing some headers related to Blocks before building >> libobjc2). I needed also to install cmake 4 because the debian default >> release is outdated. So after the first pass all seems ok (no errors in the >> logs). > >> - The side effect of the above method is that the GNUstep tools-make are >> built and installed several times: if you try to install again the whole >> GNUstep on the same system, weird things begin to happen and the build >> process will fail (too many errors in the logs. One reason seems that the >> PATH to cmake 4 ($HOME/.local/bin) which was right the first time was >> overriden in the following attempts. I am also guessing about the last >> GNUstep.sh sourced which may not be accurate to rebuild... >> - I added a test to warn the user about this risk. But what if another >> script fails - and really I need often to iterate. So if we cannot >> reinstall GNUstep, maybe a removing method should be necessary. I remove >> the building folders, use a dirty 'sudo rm -fR /usr/GNUstep'... I clean >> also ~/GNUstep, ~/.bashrc, log out and log in again. > > I wonder of this issue. I have few installation using libobjc2 because it is > troublesome for me and doesn't compile out-of-the-box or fails to work > properly on several OS-Architectures combination I use. > However in GCC environments I have no issue "reinstalling" tools-make several > times! I often do only incremental builds (make && make install in make, > base, gui, back) and it works. > I source GNUstep.sh "before" installing make. > > >> About the matter to build only with gcc, I am very very curious: I was >> never able to make the new ABI (objc2, runtime >= 2) with only gcc. Do you >> mean you don't install libdispatch/objc2 and you only use the old ABI >> (runtime 1.9)? Is the last release of GWorkspace building on this runtime? > > Yes, latest GWorkspace and all software I maintain works with GCC runtime. It > uses threads and processes directly. > libdispatch is needed directly if GCD is used. I don't know though if in case > of GCD presence "normal" threads change. Richard or other more base experts > can tell you perhaps. > >> I have a multicore proc (`nproc` returns 4 on the pi 400) so I wonder if we >> loose the multithreading hability without Libdispatch and if it is a matter >> of performance. >> Could you please tell us your building environment settings with only gcc >> and the config args you use for each GNUstep lib? > > I don't precisely know of performance when using one or the other, but using > threads and processes GWorkspace will exploit multi-core or multi-CPU setups. > > With gcc the setup should be very simple, the only changes are in make and > base to make sure the gnu-gnu-gnu runtime is selected and GCC is used. Should > be picked up by default > > My setup on Linux is: > > make: /configure --with-layout=gnustep --prefix=/ > base, gui, back: "configure" > > gcc and runtime get picked up automatically for me. > > On OpenBSD where clang is the default compiler to "coerence" it to use GCC I > do: > > For make: configure --with-layout=gnustep --with-library-combo=gnu-gnu-gnu > CC=egcc CXX=eg++ > The rest base, gui, back should be just plain configure && make > > Riccardo > -- Patrick Cardona - Pi400 - GNU/Linux (Debian 12 aarch64: RPI OS Lite) Xorg (1:1.7.1-1.2) - libcairo2 (1.16.0-7+rpt1 arm64) Window Maker (0.96.0) - GWorkspace (1.1.0 - 02 2025) - Theme: PiSiN - MUA: GNUMail (1.4.0)