Hello Pierre,

I hope you are well.   I am currently working on this.   Any insights or
suggestions you can provide would be greatly appreciated.

I have been working on a universal installation script recently.  One of
the OSs I have tried to get working, without success, is macOS.   Up until
recently getting GNUstep working on macOS has not been a priority since it
represents the system we are trying to implement.  However, I do see the
practical advantages of getting GNUstep building and working properly on it.

You can find the script here...

/bin/bash -c "$(curl -fsSL
https://raw.githubusercontent.com/gnustep/tools-scripts/master/gnustep-web-install
)"

The repo is, of course, https://github.com/gnustep/tools-scripts/

It should run partially and you can see the issues it has.  Currently, this
script works on Linux, Windows (if you install MSYS2), and a couple of the
BSDs.

Thanks, GC


On Tue, Apr 20, 2021 at 11:56 PM pierre rs <[email protected]>
wrote:

> Hello!
>
> I discovered this mailing list through gnutesp.org and decided to comment
> here about what I'm trying to achieve so that if anyone has any
> tips/comments about it, they will be very welcome!
>
> I'm trying to install GNUstep on macOS Big Sur. My main goal is to have
> GWorkspace running (especially because of the GWorkspace File manager which
> is amazing!). Eventually, if possible, I would also like to have some other
> apps like Gemas.app, ImageViewer.app, ViewPDF.app, Terminal.app and maybe
> others.
>
> I have been using GWorkspace and some GNUstep apps on a second laptop
> (Acer) that I have running Linux (Debian based, which has GNUstep apps
> available in its repositories), however now I would like to have these apps
> running on my main laptop (Mac). I searched the internet on how to install
> GNUStep on macOS, but for me it has been particularly confusing to put
> things in order taking into account my lack of general notion about
> everything besides configure / make / make install.
>
> I made my first attempt to install via MacPorts <https://www.macports.org>.
> It seemed to me that what was available regarding GNUstep on MacPorts was
> out of date, but for me it would be interesting if it worked because
> theoretically all dependencies would be resolved. But unfortunately the
> installation via MacPorts had several errors, apparently wrong paths in the
> packages / dependencies. So I removed MacPorts from the OS.
>
> I also checked FinkProject <https://www.finkproject.org>, but it doesn't
> seem to be incompatible with macOS Big Sur and I didn't find any GNUstep
> packages either.
>
> I noticed that the Homebrew <https://brew.sh> package manager seems to
> have a single package available for GNUstep called gnustep-make
> <https://formulae.brew.sh/formula/gnustep-make#default>, but I don't know
> how to take advantage of it in my attempt. I also believe that Homebrew can
> be an alternative to install dependencies (libraries?) that would be
> necessary to compile GNUstep from source.
>
> Speaking of compiling from source, it seems like the most possible option
> to me. This is the route I intend to take now to try to install a GNUstep
> environment on macOS that will allow me to compile / install Gworkspace at
> the end. However, it is still unclear to me which dependencies (x11 and
> other libraries?) I should try to install (via Homebrew maybe?) and in what
> order.
>
>
>
> *P.S.* Searching the internet about compiling GNUstep on macOS, I didn't
> find much specific but I found a web page on GitHub called "GNUstep
> scripts" (gnustep / tools-scripts
> <https://github.com/gnustep/tools-scripts>) that can possibly help with
> the installation of GNUstep. I tried to run the scripts but there were
> errors that led me to question whether they were missing dependencies or
> something else. Just to illustrate my current environment I describe below
> the steps I took in trying to run the scripts:
>
> 1. I have Xcode Version 12.4 (12D4e) installed from the App Store
> (installed since my first attempt with MacPorts).
>
> 2. I installed Command Line Developer Tools (xcode-select --install).
>
> gcc --version
>> Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr
>> --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
>> Apple clang version 12.0.0 (clang-1200.0.32.29)
>> Target: x86_64-apple-darwin20.3.0
>> Thread model: posix
>> InstalledDir:
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
>
>
> clang --version
>> Apple clang version 12.0.0 (clang-1200.0.32.29)
>> Target: x86_64-apple-darwin20.3.0
>> Thread model: posix
>> InstalledDir:
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
>
>
> gnumake --version
>
> GNU Make 3.81
>
> Copyright (C) 2006  Free Software Foundation, Inc.
>
> This is free software; see the source for copying conditions.
>
> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
>
> PARTICULAR PURPOSE.
>
> This program built for i386-apple-darwin11.3.0
>
>
> 3. I cloned the libs-base, libs-back, libs-gui, tool-make and tool-scripts
> repositories into a directory.
>
> mkdir -p ~/Downloads/gnustep
>> cd ~/Downloads/gnustep
>> git clone https://github.com/gnustep/libs-base.git
>> git clone https://github.com/gnustep/libs-back.git
>> git clone https://github.com/gnustep/libs-gui.git
>> git clone https://github.com/gnustep/tools-make.git
>> git clone https://github.com/gnustep/tools-scripts.git
>
>
> 4. The first two scripts that I ran, I didn't see any noticeable errors:
>
> ./tools-scripts/clang-build
>> ./tools-scripts/compile-all
>
>
> 5. When running the build-darwin script, errors appeared:
>
> ./tools-scripts/build-darwin
>
> I selected the most notable errors (from build-darwin script output) below:
>
> ...
>> ======== Build base
>> (...)
>> In file included from GCObject.m:31:
>> In file included from .././common.h:59:
>> ../../Headers/Foundation/NSString.h:974:15: error: 'objc_class' is
>> unavailable
>> extern struct objc_class _NSConstantStringClassReference;
>>               ^
>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/runtime.h:55:8:
>> note: 'objc_class' has been explicitly marked unavailable here
>> struct objc_class {
>>        ^
>> In file included from GCArray.m:27:
>> In file included from .././common.h:59:
>> ../../Headers/Foundation/NSString.h:974:15: error: 'objc_class' is
>> unavailable
>> extern struct objc_class _NSConstantStringClassReference;
>>               ^
>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/runtime.h:55:8:
>> note: 'objc_class' has been explicitly marked unavailable here
>> struct objc_class {
>>        ^
>> In file included from GSObjCRuntime.m:32:
>> In file included from .././common.h:59:
>> ../../Headers/Foundation/NSString.h:974:15: error: 'objc_class' is
>> unavailable
>> extern struct objc_class _NSConstantStringClassReference;
>>               ^
>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/runtime.h:55:8:
>> note: 'objc_class' has been explicitly marked unavailable here
>> struct objc_class {
>>        ^
>> 1 error generated.
>> 1 error generated.
>> gnumake[4]: *** [obj/Additions.obj/GCObject.m.o] Error 1
>> gnumake[4]: *** Waiting for unfinished jobs....
>> gnumake[4]: *** [obj/Additions.obj/GCArray.m.o] Error 1
>> In file included from GSObjCRuntime.m:52:
>> In file included from
>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/Protocol.h:39:
>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/NSObject.h:53:1:
>> error: duplicate interface definition for class 'NSObject'
>> @interface NSObject <NSObject> {
>> ^
>> ../../Headers/Foundation/NSObject.h:292:12: note: previous definition is
>> here
>> @interface NSObject <NSObject>
>>            ^
>> 2 errors generated.
>> gnumake[4]: *** [obj/Additions.obj/GSObjCRuntime.m.o] Error 1
>> gnumake[3]: *** [internal-subproject-all_] Error 2
>> gnumake[2]: *** [Additions.all.subproject.variables] Error 2
>> gnumake[1]: *** [internal-all] Error 2
>> make: *** [internal-all] Error 2
>> (...)
>> ======== Build gui
>> (...)
>> aking all in Source ...
>> /usr/local/opt/GNUstep/System/Library/Makefiles/mkinstalldirs .
>> mv ../Headers/Additions/GNUstepGUI/config.h .
>> touch ./config.h
>> Making all for library libgnustep-gui...
>>  Compiling file Functions.m ...
>>  Compiling file NSAccessibility.m ...
>>  Compiling file NSAccessibilityCustomAction.m ...
>>  Compiling file NSAccessibilityCustomRotor.m ...
>> /bin/sh: gcc-10: command not found
>> /bin/sh: gcc-10: command not found
>> /bin/sh: gcc-10: command not found
>> /bin/sh: gcc-10: command not found
>> gnumake[4]: *** [obj/libgnustep-gui.obj/NSAccessibility.m.o] Error 127
>> gnumake[4]: *** Waiting for unfinished jobs....
>> gnumake[4]: *** [obj/libgnustep-gui.obj/Functions.m.o] Error 127
>> gnumake[4]: *** [obj/libgnustep-gui.obj/NSAccessibilityCustomAction.m.o]
>> Error 127
>> gnumake[4]: *** [obj/libgnustep-gui.obj/NSAccessibilityCustomRotor.m.o]
>> Error 127
>> gnumake[3]: *** [internal-library-all_] Error 2
>> gnumake[2]: *** [libgnustep-gui.all.library.variables] Error 2
>> gnumake[1]: *** [internal-all] Error 2
>> make: *** [internal-all] Error 2
>> (...)
>> ======== Build back
>> (...)
>> configure: error: libXt not found - required for building x11 server
>> /usr/local/opt/GNUstep/System/Library/Makefiles/common.make:203:
>> back.make: No such file or directory
>> This is gnustep-make 2.9.0. Type 'gnumake print-gnustep-make-help' for
>> help.
>> Running in gnustep-make version 2 strict mode.
>> if [ -x config.status ]; then \
>>       ./config.status --recheck && ./config.status; \
>>     else \
>>       ./configure; \
>>     fi
>> checking build system type... x86_64-apple-darwin20.3.0
>> checking host system type... x86_64-apple-darwin20.3.0
>> checking target system type... x86_64-apple-darwin20.3.0
>> configure: WARNING: You are running configure with the compiler (gcc-10)
>> set to a different value from that used by gnustep-make (clang).  To a
>> void conflicts/problems, reconfigure/reinstall gnustep-make to use gcc-10
>> or run the gnustep-base configure again with your CC environment var
>> iable set to clang
>> configure: WARNING: You are running configure with the compiler (g++-10)
>> set to a different value from that used by gnustep-make (clang++).  To
>>  avoid conflicts/problems, reconfigure/reinstall gnustep-make to use
>> g++-10 or run the gnustep-base configure again with your CXX environment
>>  variable set to clang++
>> checking for gcc... gcc-10
>> checking whether the C compiler works... no
>> configure: error: in `/Users/pierre/Downloads/gnustep/libs-back':
>> configure: error: C compiler cannot create executables
>> See `config.log' for more details
>> make: *** [back.make] Error 77
>> Done.
>
>
> Searching the internet for the error "checking whether the C compiler
> works ... no" I found this
> <https://stackoverflow.com/questions/22844522/os-x-10-9-2-checking-whether-the-c-compiler-works-no>
> and this
> <https://github.com/react-native-maps/react-native-maps/issues/2290> too.
> Which suggested running the "sudo xcode-select --switch
> /Applications/Xcode.app" command. But it ended up having no effect.
>
> Best regards!
> --
> *Pierre Santos*
>


-- 
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron
https://gf.me/u/x8m3sx - My GNUstep GoFundMe
https://teespring.com/stores/gnustep - Store

Reply via email to