libs-base icon indicating copy to clipboard operation
libs-base copied to clipboard

Yum installation gnustep for objective-c

Open Drastyn opened this issue 1 year ago • 2 comments

Hi everyone,

I have the next situation, I need compile objective-c in a distribution with yum (like Fedora or RHEL 7). For testing purpose I was use a Docker with Fedora (36) and another with Ubuntu 22.04.1 (Only for comparation).

But in Fedora I don't get the all packages what I need (in Ubuntu yes, and I can compile a little Hello World project in Objective-c).

I install all package recommend in both Distributions (gcc, make, gcc-objc in Fedora, gobjc++ in Ubuntu, etc.).

In Ubuntu I use the next command for gnustep: apt-get install -y gnustep gnustep-devel, not posible in yum the same way, even replacing apt-get by yum, so I use yum install gnustep-base gnustep-base-devel, but not all folders generated.

I left this image to comparison of folders creation

fedora-01

In this other, I only have two folders (Foundation and GNUStepBase) in Fedora, but in Ubuntu I have GNUStep folder (in same path of both distributions /usr/include)

fedora-02

and inside of GNUStep of Ubuntu I have more folders (included Foundation and GNUStepBase)

fedora-03

I run the next command to compile thep program: gcc main.m gnustep-config --objc-flags -lobjc -lgnustep-base -o main (success in Ubuntu, but not in Fedora)

fedora-04

I did something wrong?

Thanks for help, Greetings!

Drastyn avatar Nov 16 '22 12:11 Drastyn

Fedora doesn't have packages for gnustep-gui & gnustep-back, and the gnustep-make package appears to be broken (on Fedora 36, builds fail to link), so I'd suggest you install GNUstep from sources.

My GNUstep app, PikoPixel, has a Fedora install script that might be a useful example for building GNUstep from source (verified on Fedora 36): http://twilightedge.com/gnustep/pikopixel/fedora_install_script.html

The script assumes it's only a onetime use of GNUstep-make, so to continue using it in future shell sessions, run the following command first (or add it to your .bashrc file):

. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh

(For more info on this, see "4.1 Environment Setup": http://www.gnustep.org/resources/documentation/User/GNUstep/gnustep-howto_4.html )

tedge avatar Nov 16 '22 18:11 tedge

We really need to update Documentation and specify a recommended toolchain setup...

hmelder avatar Sep 09 '23 18:09 hmelder