Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Install GNUStep on Ubuntu 16

89 views
Skip to first unread message

fortuna07

unread,
May 4, 2016, 1:13:40 PM5/4/16
to Help-g...@gnu.org
Hi,

I am totally new at GNUStep. I tried to install it on Ubuntu 16, that is run
in a virtual maschine on my Windows computer.
I tried several days now and read hundreds of postings, but I didn't manage
to get it to work.
Can anybody here give me a working help to install GNUStep?



--
View this message in context: http://gnustep.8.n7.nabble.com/Install-GNUStep-on-Ubuntu-16-tp40858.html
Sent from the GNUstep - Help mailing list archive at Nabble.com.

Germán Arias

unread,
May 4, 2016, 2:19:32 PM5/4/16
to fortuna07, Help-g...@gnu.org
Hi,

El mié, 04-05-2016 a las 05:05 -0700, fortuna07 escribió:
> Hi,
>
> I am totally new at GNUStep. I tried to install it on Ubuntu 16, that is run
> in a virtual maschine on my Windows computer.
> I tried several days now and read hundreds of postings, but I didn't manage
> to get it to work.
> Can anybody here give me a working help to install GNUStep?
>

Why not try GNUstep on Windows? Or you need specifically Ubuntu? You can
found a recent installer for Windows here:

https://www.dropbox.com/s/mb4m65spkuf3o0f/GNUstep-1.0.exe?dl=0

If you need GNUstep on Ubuntu, you will need install a lot of
prerequisites. Here there is a script to install it from scratch:

http://wiki.gnustep.org/index.php/GNUstep_under_Ubuntu_Linux

This is for previous version of Ubuntu, but maybe can work at 16.04. I
don't use it, but you can see the packages you need install first. This
script is for i386, not sure if you can just change the architecture or
not.

GNUstep can be installed using GCC or CLANG. The previous script is to
install GNUstep with CLANG.

Germán



fortuna07

unread,
May 5, 2016, 1:44:11 AM5/5/16
to Help-g...@gnu.org
I want to use GNUStep und Linux because I plan to create Linux software with
it.
I tried several installation ways:
https://blog.tlensing.org/2013/02/24/objective-c-on-linux-setting-up-gnustep-clang-llvm-objective-c-2-0-blocks-runtime-gcd-on-ubuntu-12-04/
http://wiki.gnustep.org/index.php/GNUstep_under_Ubuntu_Linux
https://gist.github.com/starbugs/5025357
and some manually and package installations.
Yesterday I think I managed to install one of them without an error. But
now, I think, I have an mixture of all of them.
When I try to start ProjectCenter, I get an error message:

Loading two versions of Protocol. The class that will be used is undefined
Loading two versions of Protocol2. The class that will be used is undefined
Loading two versions of __ObjC_Protocol_Holder_Ugly_Hack. The class that
will be used is undefined
Loading two versions of Object. The class that will be used is undefined
Error: Instance variables in PCButton overlap superclass NSControl. Offset
of first instance variable, mainToolTip, is 344. Last instance variable in
superclass, _ignoresMultiClick, ends at offset 345. This probably means
that you are subclassing aclass from a library, which has changed in a
binary-incompatibleway.




--
View this message in context: http://gnustep.8.n7.nabble.com/Install-GNUStep-on-Ubuntu-16-tp40858p40861.html

fortuna07

unread,
May 5, 2016, 2:21:41 AM5/5/16
to Help-g...@gnu.org
I tried again the manual installation and get an error message when I try to
install gnustep-base

GSXML.m:987:60: error: incomplete definition of type 'struct _xmlBuf'




--
View this message in context: http://gnustep.8.n7.nabble.com/Install-GNUStep-on-Ubuntu-16-tp40858p40862.html

Ivan Vučica

unread,
May 5, 2016, 4:52:56 AM5/5/16
to fortuna07, Help-g...@gnu.org
If you are just starting off, install whatever packages come inside Ubuntu, with the understanding they are probably out of date and a lot of new development happened in the meantime.

Installing gnustep-make, -base, -gui and -back from the packages, as well as GORM and ProjectCenter, means you can start playing with writing software and worry about working with latest and greatest later.

This doesn't mean you didn't run into an actual bug; it does mean that if you are just starting off, it may not make personal sense for you to fiddle with compiling from scratch.

If you would still like to compile from scratch, we can chat over IM (preferably XMPP) to guide you and figure out where the instructions you have went wrong. Or I can try setting up a copy of Ubuntu 16.04 and try out my deployment script in it before pointing you to it.

_______________________________________________
Help-gnustep mailing list
Help-g...@gnu.org
https://lists.gnu.org/mailman/listinfo/help-gnustep

fortuna07

unread,
May 5, 2016, 5:19:43 AM5/5/16
to Help-g...@gnu.org
I would start from scratch, if it will solve my problem.
I have here ubuntu-16.04-desktop-amd64.iso, could you test if it is possible
to install GNUStep with this? Or should I get another Ubuntu?



--
View this message in context: http://gnustep.8.n7.nabble.com/Install-GNUStep-on-Ubuntu-16-tp40858p40864.html

fortuna07

unread,
May 5, 2016, 5:20:21 AM5/5/16
to Help-g...@gnu.org
I would prefer a written list with commands, since I am German and my English
is not so good.



--
View this message in context: http://gnustep.8.n7.nabble.com/Install-GNUStep-on-Ubuntu-16-tp40858p40865.html

Ivan Vučica

unread,
May 5, 2016, 11:52:50 AM5/5/16
to fortuna07, Help GNUstep
Have you tried the easiest of them all?
  sudo apt-get install gnustep
It seems like this metapackage will depend on and recommend numerous 'desktop', 'end-user' packages -- here's a portion of output of 'apt-cache show gnustep':
(The ones under 'suggests' you need to install yourself, neither apt-get not aptitude would automatically pull them in.)

For 'development' purposes:
  sudo apt-get install gnustep-devel
which has the following info in 'apt-cache show gnustep-devel', and will thus deploy gorm, projectcenter and gnustep-make:
  Depends: gnustep-core-devel, gorm.app, projectcenter.app
  Recommends: librenaissance0-dev
  Suggests: steptalk, libpantomime1.2-dev, libpopplerkit-dev, libnetclasses-dev, libaddresses-dev, libaddressview-dev, librsskit-dev, gnustep-dl2


Aside from those, there's plenty of gnustep-related packages in Debian (and therefore in Ubuntu). Listing all of the packages you can install does not seem very useful.



I also realized that you've indicated that you tried some other installation procedures, including manual ones. If that is the case, it may be non-trivial to remove GNUstep: catch various files that may have been deployed by the previous steps, remove them, and especially remove /etc/GNUstep/GNUstep.conf. If you can throw away the Ubuntu VM and start from scratch, only installing the packages as listed above, that'd be great.



If you later need to remove gnustep because you'd like to install it manually, it can be as easy as 'apt-get purge gnustep and_any_other package_here'. I'm still not going to advertise my script that builds from sources, because it's not tested recently and it's definitely not tested on 16.04.

Good luck!

fortuna07

unread,
May 6, 2016, 2:07:38 AM5/6/16
to Help-g...@gnu.org
Ivan Vučica-2 wrote
> For 'development' purposes:
> sudo apt-get install gnustep-devel

thank you, that was the best tipp ever. A quick and easy way to install the
development tools. It worked on a new Ubuntu 16 without any problems.
Now I can start Objective C.



--
View this message in context: http://gnustep.8.n7.nabble.com/Install-GNUStep-on-Ubuntu-16-tp40858p40867.html

fortuna07

unread,
May 6, 2016, 2:58:23 AM5/6/16
to Help-g...@gnu.org
OK, I noticed, that my project center is not the latest one.
What's the correct way to update it?



--
View this message in context: http://gnustep.8.n7.nabble.com/Install-GNUStep-on-Ubuntu-16-tp40858p40868.html

Ivan Vučica

unread,
May 6, 2016, 5:29:24 AM5/6/16
to fortuna07, Help-g...@gnu.org

Installing from source – but I would suggest you learn your way around the older code before moving on.

By then I should be able to test a good install procedure on 16.04.


Gerhard Huber

unread,
May 11, 2016, 9:24:01 AM5/11/16
to Ivan Vučica, Help-g...@gnu.org
 

Installing from source – but I would suggest you learn your way around the older code before moving on.

By then I should be able to test a good install procedure on 16.04.


I have some resources in xib format here, that I created with Interface Builder.
Gorm 1.2.18 can't read some of them correct. So I tried to update to 1.2.20. I downloaded this version but don't know how to install it. Can you help?

Ivan Vučica

unread,
May 11, 2016, 12:28:16 PM5/11/16
to Gerhard Huber, Help-g...@gnu.org

First question: did you try running make && sudo -E make install ?

Of course, first removing GORM that may have been installed from Debian packages.

Ivan Vučica

unread,
May 12, 2016, 5:11:51 AM5/12/16
to Gerhard Huber, Help-g...@gnu.org

You are missing gnustep-make, which should have been installed when you did this previously:
  sudo apt-get install gnustep-devel

If you are not missing it, then you need to load some settings into your current shell. Presuming you use bash as your shell, and if I remember correctly:
  . /usr/share/GNUstep/Makefiles/GNUstep.sh

"What is this?!", you might be asking.

Because GNUstep could be installed in many locations on your system, this lets Makefiles know where that actually is, without having any sort of logic to discover this. (We could tell everyone they must use gnustep-config, but you would still run into Makefiles that don't do it.)

If you are installing from source, you do (iirc) get a message suggesting you should update your .bashrc or .bash_profile. There isn't a good opportunity to do so in Debian (or the packager elected not to do it).

If we were shipping a prebuilt "reference desktop", we would certainly do this for you.


On Thu, May 12, 2016, 07:16 Gerhard Huber <G.Hu...@gmx.net> wrote:

First question: did you try running make && sudo -E make install ?


I opend a Terminal and moved to the downloaded Gorm folder. Then I typed "make" and got the message

GNUmakefile:29: /common.make: file or folder not found



> Of course, first removing GORM that may have been installed from Debian packages.

no, I didn't remove the old Gorm, but I am afraid now that I would have no more Gorm after this. Will the message above go away if I remove it?

Ivan Vučica

unread,
May 12, 2016, 5:47:14 AM5/12/16
to Gerhard Huber, Help-g...@gnu.org

We are now exiting the land of GNUstep and entering the world of Debian package management.

Trick in Debian/Ubuntu for finding out package name:
dpkg -S /full/path/for/a/file/from/the/package
Or you can look at a previous email I sent to you. :)

Note that you are doing it the wrong way around, and your uninstall of the Debian package may end up deleting things from the manually installed set of files, or leaving unwanted things lying around.

Note also: if you used the above metapackage (gnustep-devel) to install gorm, ProjectCenter et al, removing package containing gorm may remove gnustep-devel. This doesn't remove ProjectCenter etc, but it does mean these auto installed packages no longer have anything holding on to them and you will get suggestions to remove them. To mark them as manually installed, just apt-get install them. To mark them as auto installed again, apt-mark auto packagenamehere.

Note also: I would suggest you use this VM a learning system. Don't use it as a longterm setup, because you've started mixing Debian packages and manually installed stuff. Eventually try to figure out how to do a full manual install.

I am afraid you might end up discovering xib loading fixes are in gnustep-base or gnustep-gui, which will bring you back to "I need a manually built system after all (because everything will be newer)".


On Thu, May 12, 2016, 10:36 Gerhard Huber <G.Hu...@gmx.net> wrote:
 I installed with
sudo apt-get install gnustep-devel

and with your
  . /usr/share/GNUstep/Makefiles/GNUstep.sh

installation works fine now.

But now I have to remove the old Gorm first. Sorry, but
sudo apt-get remove gorm
doesn't work.

What's the correct way?

Ivan Vučica

unread,
May 12, 2016, 9:30:49 AM5/12/16
to Gerhard Huber, Help GNUstep
On Thu, May 12, 2016 at 2:12 PM, Gerhard Huber <G.Hu...@gmx.net> wrote:
thank you. You see, I am not a Linux/Debian/Ubuntu crack :-(

That's why I'm trying to 'teach a man how to fish' :)
 
But it worked, gorm.app was it :-)
I uninstalled it, worked fine.
But then I did make/sudo -E make install, all without a problem, but I can't find Gorm now :-(
All the other apps are at //usr/lib/GNUStep/Applications, but the new Gorm is not here :-(


You know how the Cocoa API NSSearchPathForDirectoriesInDomains() or [NSFileManager URLsForDirectory:inDomains:] has the concept of a 'domain'? Things like NSLocalDomain or NSSystemDomain or NSUserDomain?

You know how filesystem hierarchy standard (FHS) specifies things like /usr vs /usr/local? Or how FreeDesktop.org (a.k.a. xdo) specifies /usr/share vs /usr/local/share vs ~/.local/share?

See, it's really common that free software for UNIX-like systems -- when manually installed -- installs itself into "local" domain. In case of FHS, to which Debian -- and thus Debian packaging for GNUstep -- tries to adhere, local domain is in /usr/local. Programs installed and upgraded by the distribution's packaging system, however it works, get to live in the system domain in /usr. For example, /usr/bin vs /usr/local/bin.

Armed with this information, I would look for it in /usr/local/lib/GNUstep/Applications.

In fact, I just checked -- that's where it should be.

How did I check that? Another useful GNUstep-specific nugget of information: No matter how you installed it, if it's correctly installed you should have a program called 'gnustep-config' in your path. This program, using just small pieces of information in /etc/GNUstep/GNUstep.conf, provides you with enough information to determine everything else about the GNUstep installation.

You'll want to run:
  gnustep-config --help
for more information, but suffice to say that, to discover where programs will be installed 'by default' on your system, you'll want to run:
  gnustep-config --variable=GNUSTEP_LOCAL_APPS

To discover where 'system' programs are installed (i.e. packaged programs):
  gnustep-config --variable=GNUSTEP_SYSTEM_APPS


Now, consider something else.

Like Cocoa apps (and OPENSTEP apps before Cocoa), GNUstep ships apps as 'bundles'. That is, directories with an extension of .app. Reading .app's Info.plist is the primary mechanism GNUstep-aware software can use to find and run the executable for these applications. On OS X, you have a utility called 'open'. On free systems, xdg-open is (to my knowledge) not aware of .app bundles, but GNUstep ships with 'gopen'.

Because 'gopen' won't be well known, gnustep-make's scripts, when installing the application, also produce ApplicationName.desktop and /domain/here/bin/ApplicationName. Note that they leave the original capitalization.

The reason why you can't find 'gorm' is because it's not there; the binary is called '/usr/local/bin/Gorm'. As far as I can tell, Debian doesn't ship any alternative, so however you were finding the app before, that must still work; it's just installed in a different place.

I'd suggest you just punch 'Gorm' in the terminal, or find the menu entry (which should exist because the .desktop file should be correctly installed).




Interesting tidbit: if you are ever packaging, or if you want to install into a different domain, the relevant make variable is GNUSTEP_INSTALLATION_DOMAIN. You can set it, for example, as follows:
  sudo -E make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM

Note that I strongly recommend you do NOT do this while having Debian packages on the system. Treat it as you'd treat OS X's System domain (everything in /System): it's off limits, and even if you touch it, you shouldn't, and even if you still choose to, Apple /will/ overwrite it at the next OS upgrade.


Best of luck!

fortuna07

unread,
May 12, 2016, 9:43:24 AM5/12/16
to Help-g...@gnu.org
 

 
But it worked, gorm.app was it :-)
I uninstalled it, worked fine.
But then I did make/sudo -E make install, all without a problem, but I can't find Gorm now :-(
All the other apps are at //usr/lib/GNUStep/Applications, but the new Gorm is not here :-(


You know how the Cocoa API NSSearchPathForDirectoriesInDomains() or [NSFileManager URLsForDirectory:inDomains:] has the concept of a 'domain'? Things like NSLocalDomain or NSSystemDomain or NSUserDomain?

You know how filesystem hierarchy standard (FHS) specifies things like /usr vs /usr/local? Or how FreeDesktop.org (a.k.a. xdo) specifies /usr/share vs /usr/local/share vs ~/.local/share?

See, it's really common that free software for UNIX-like systems -- when manually installed -- installs itself into "local" domain. In case of FHS, to which Debian -- and thus Debian packaging for GNUstep -- tries to adhere, local domain is in /usr/local. Programs installed and upgraded by the distribution's packaging system, however it works, get to live in the system domain in /usr. For example, /usr/bin vs /usr/local/bin.

Armed with this information, I would look for it in /usr/local/lib/GNUstep/Applications.

yes, here it is :-)
But when I try to start it:
/usr/local/lib/GNUstep/Applications/Gorm.app/Gorm: error while loading shared libraries: libGormCore.so.1: cannot open shared object file: No such file or directory




View this message in context: Re: Install GNUStep on Ubuntu 16

Ivan Vučica

unread,
May 12, 2016, 11:23:43 AM5/12/16
to fortuna07, Help-g...@gnu.org

Probably installed in /usr/local/lib/GNUstep/Libraries. Not sure.

cd /usr/local/lib/GNUstep
find . | grep libGormCore

Once found, take the **DIRECTORY** where it lives and do something similar to:

export LD_LIBRARY_PATH="/usr/local/lib/GNUstep/Library:${LD_LIBRARY_PATH}"

then start gorm.

sent from phone


Ivan Vučica

unread,
May 13, 2016, 8:46:34 AM5/13/16
to Gerhard Huber, Help GNUstep, Gregory John Casamento
Based on what you wrote, I couldn't possibly know what went wrong; if you are certain you installed 1.2.20, and if the source code for the version you installed has been updated to actually say 1.2.20, it should be 1.2.20. I don't know where you obtained your copy of Gorm either.

I chose to download 1.2.20 from http://www.gnustep.org/experience/Gorm.html myself. One quick peek into GormInfo.plist reveals that, indeed, Gorm 1.2.20 thinks it's 1.2.18. It must be simply an oversight during the release process. The code is definitely newer than February 2012 (plenty of files and folders are dated 14 Apr 2013).

+cc Gregory for larger visibility.

On Fri, May 13, 2016 at 8:02 AM, Gerhard Huber <G.Hu...@gmx.net> wrote:
 

Probably installed in /usr/local/lib/GNUstep/Libraries. Not sure.

cd /usr/local/lib/GNUstep
find . | grep libGormCore

Once found, take the **DIRECTORY** where it lives and do something similar to:

export LD_LIBRARY_PATH="/usr/local/lib/GNUstep/Library:${LD_LIBRARY_PATH}"

then start gorm.


thanks again for your help. It works this way.
But now when I start Gorm and select "Info > Info Panel..." it still shows version 1.2.18 and not 1.2.20.


Gerhard Huber

unread,
May 16, 2016, 1:53:43 PM5/16/16
to Ivan Vučica, Help GNUstep, Gregory John Casamento
 

Based on what you wrote, I couldn't possibly know what went wrong; if you are certain you installed 1.2.20, and if the source code for the version you installed has been updated to actually say 1.2.20, it should be 1.2.20. I don't know where you obtained your copy of Gorm either.

I chose to download 1.2.20 from http://www.gnustep.org/experience/Gorm.html myself. One quick peek into GormInfo.plist reveals that, indeed, Gorm 1.2.20 thinks it's 1.2.18. It must be simply an oversight during the release process. The code is definitely newer than February 2012 (plenty of files and folders are dated 14 Apr 2013).

OK, if it is the latest version the problem still exists :-(
I have a xib dialog here, that needs to load a header file to be complete.
I thought it would work if I load it with "Classes > Load Class...". But this menu entry (and all in Classes) is always disabled here.
Is there a "trick" for me?

Gerhard Huber

unread,
May 16, 2016, 2:51:37 PM5/16/16
to Ivan Vučica, Help-g...@gnu.org

fortuna07

unread,
May 21, 2016, 8:05:39 AM5/21/16
to Help-g...@gnu.org
OK, I was in holiday this week and had time to think about my GNUStep
project.
What I see until here:
- GNUStep is hard or not to install for a normal user
- GNUStep seams to be not ready yet, it is not well tested, there are
several things missing, many things don't work
- Beside some users, help in internet and from users is not present

So I will stop this project.



--
View this message in context: http://gnustep.8.n7.nabble.com/Install-GNUStep-on-Ubuntu-16-tp40858p40938.html

Ivan Vučica

unread,
May 21, 2016, 4:18:53 PM5/21/16
to fortuna07, Help GNUstep
Note, I am in no way discounting your bad experience. Things could be much, much smoother. However, do take note of some things.

On Sat, May 21, 2016 at 12:00 PM, fortuna07 <g.hu...@gmx.net> wrote:
OK, I was in holiday this week and had time to think about my GNUStep
project.
What I see until here:
- GNUStep is hard or not to install for a normal user

Note that you have, yourself, concluded that you need a newer version of Gorm.

There was Gorm packaged in the distribution you used.

Would it have been a troublesome piece of software had you installed it from distribution? Would it have been troublesome if you were not developing your own project?

If you had been able to "apt-get install gnustep gnustep-devel" (which is something you didn't even try from the get-go, and later you have discovered that you still want to build from source), would it still be a problem?

- GNUStep seams to be not ready yet, it is not well tested, there are
several things missing, many things don't work

I am not sure what 'yet' means, it's been around for many years and there are people using not only GNUstep apps, there are people running whole desktop on it.

We welcome contributions to things that you feel are missing. Procedure, regrettably, involves copyright assignment which FSF accepts through snail mail (!), but we are otherwise welcoming incoming code.

Do note, it's much easier to avoid "I cannot load xibs in Gorm" or "class X is missing" or "subsystem Y is missing" if you start developing with GNUstep and continue with porting to other implementations.
 
- Beside some users, help in internet and from users is not present

*shrug* I've tried to help reasonably much. You can mostly follow Cocoa documentation and try if it works; if certain functionality does not work, you can choose between fixing it or avoiding it.

GNUstep-specific documentation is sometimes not easiest to find, but things are there, and the environment is learnable.
 
So I will stop this project.

*shrug* Your choice :)

Ivan Vučica

unread,
May 21, 2016, 4:22:12 PM5/21/16
to Gerhard Huber, Help GNUstep, Gregory John Casamento
On Sat, May 14, 2016 at 7:34 AM, Gerhard Huber <G.Hu...@gmx.net> wrote:
OK, if it is the latest version the problem still exists :-(
I have a xib dialog here, that needs to load a header file to be complete.
I thought it would work if I load it with "Classes > Load Class...". But this menu entry (and all in Classes) is always disabled here.
Is there a "trick" for me?

 Have you considered:
- using older Xcode to produce the .xib?
- try to see whether a compiled .nib works for you instead of a .xib?
- avoiding editing .xib in gorm, and directly loading the non-compiled .xib in the code?
- creating a new .gorm file in place of the xib?
- if that's not doable, not using any sort of interface builder and simply write UI instantiation and configuration in code?

I don't have better suggestions aside from things that I would personally do.

fortuna07

unread,
May 24, 2016, 9:31:18 AM5/24/16
to Help-g...@gnu.org
the xib is not the one and only problem.
Perhaps, ProjectCenter can work with my existing xib files, it's not
necessary to edit it on GNUstep. I can do this in XCode.
So I tried to create a litte test project in ProjectCenter. But I see, that
GNUstep doesn't support CoreGraphics. I know that there is "opal", but I am
not able to install it.
So I am at the end again.



--
View this message in context: http://gnustep.8.n7.nabble.com/Install-GNUStep-on-Ubuntu-16-tp40858p40943.html

Ivan Vučica

unread,
May 25, 2016, 2:41:45 AM5/25/16
to fortuna07, Help-g...@gnu.org
I am really sorry, but I am unable to equate "does not support" with "I cannot install it" :-)

Opal may have its flaws, but it is perfectly installable.

While I still didn't test it recently, and especially not on 16.04, you could give this script a go:
https://bitbucket.org/ivucica/gnustep-ubuntu
(I've mentioned it before, but didn't want to point you at it because I'm not 100% sure it works fine.)

Clone the repo with Mercurial on a blank Ubuntu 14.04 machine, then run the script in the root. Even better, read the scripts and try to figure out what's going on; you'll see that installing from scratch is not that big of a deal. ;)

The script installs base, gui, back, opal and core animation. It doesn't install that many devtools, but once you see how one can be installed, you will be able to build and install other apps by yourself.
0 new messages