discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNUstep install on macOS


From: pierre rs
Subject: GNUstep install on macOS
Date: Wed, 21 Apr 2021 00:55:35 -0300

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. 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, 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 package manager seems to have a single package available for GNUstep called gnustep-make, 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) 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.


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 and this too. Which suggested running the "sudo xcode-select --switch /Applications/Xcode.app" command. But it ended up having no effect.

Best regards!
-- 
Pierre Santos

reply via email to

[Prev in Thread] Current Thread [Next in Thread]