Version 25 (modified by armin, 8 years ago)

--

If you encounter any problems while installing and/or compiling Gobby or its dependencies (libobby, net6), write into the WikiForum.

Microsoft Windows

We provide an installer for the Micrsoft Windows platforms here. Note that this installer is not as up-to-date as the darcs repository at darcs.0x539.de and may be some weeks old (but it provides mostly a stable version of Gobby). Before you install Gobby with the installer, be sure that gtkmm-2.6 is installed on your system. If it isn't, get it from here. The Windows version of Gobby should now run on systems other than Windows XP.

Alternatively, you can compile the whole source for your own. I suggest the MingW compiler in combination with the MSYS shell replacement (I did not test any other build environments, so I would like to hear from you if you try another one). You will need the gtkmm-2.6 development package from the site mentioned above and a distribution tarball of net6, libobby and gobby which may be found at http://releases.0x539.de.

If you compile with gtksourceview support (say --with-gtksourceview to Gobby's configure) you will also need libgnomeprint and gtksourceview. If you do not want to compile the two, there are two developement packages containing header files, import libraries and runtime libraries available in the gobby-dist on darcs.0x539.de. Note that I hacked gtksourceview to search in the common app data folder for its language-spec files (this is the place where the Gobby installer installs them, too). Another two prebuilt packages are available for net6 and libobby. If you decide to compile libobby yourself, say --disable-tests to configure because two of them do not run on the windows platform.

You also need to have working pkg-config .pc-files for the four libraries, so the configure scripts can detect that the dependencies are installed and where to find the haeder and library files of them. If you compile the libraries for your own, they will be generated and installed through make install automatically. If you use the precompiled binaries from gobby-dist, you have to build your own files. Type echo $PKG_CONFIG_PATH in the MSYS shell to show up the directory where pkg-config looks for its files. Move to this directory and look on the already existing files to know how they work. It's pretty easy. I recommend to copy an existing file, rename it following this table and adjust the include and library paths.

libgnomeprintlibgnomeprint-2.2.pc
gtksourceviewgtksourceview-1.0.pc
net6net6-1.0.pc
libobbyobby-1.0.pc

By the way: If you do not have pkg-config, you do not have gtkmm-devel properly installed.

However, I currently strongly recommend to use the installer for Microsoft Windows. There is no real need to compile the whole packages for your own.

Linux

Gobby may be installed as most other applications for the Linux operating system: Get the tarballs from http://releases.0x539.de and run ./configure, make and make install. Install first net6, then libobby, then gobby. net6 and libobby require libsigc++ >= 2.0.0 to compile, Gobby depends on gtkmm >= 2.6.0 and libxml++ >= 2.6.0.

You can also use the packaging system of your distribution to install Gobby easily if you are using one of the following:

Gentoo Linux

Tom wrote ebuilds for net6, libobby and gobby that may be accessed here. To install them, set the PORTDIR_OVERLAY variable in your /etc/make.conf to the location where you would like to have them installed (normally /usr/local/portage). Create two directories named net-libs and app-editors into that folder and another two directories called net6 and obby in net-libs and one called gobby in app-editors. Then move the ebuilds into the corresponding folders. Now type ebuild net6-1.0.1.ebuild digest in the net6 directory. Do the same with the other two ebuilds and type finally emerge gobby.

If you prefer to live on the bleeding edge and you want to get the sources directly from the darcs repository, you can use the ebuilds you find in the contrib/-sub-directory in the repositories. Install them as described above and move darcs.eclass to $PORTDIR_OVERLAY/eclass. But note that these versions are pretty unstable and may not even compile!

Debian GNU/Linux

As soon as Gobby is released and some things within Debian clear up (mainly GNOME related things) it will be uploaded to Debian unstable from which it could be easily installed via apt-get. But Gobby is not included in the upcoming revision of Debian GNU/Linux called Sarge. More notes will follow as soon as Gobby is released, but please be aware that mostly current revisions are regulary uploaded to Debian experimental, so if you like living on the bleeding edge you could follow the instructions in the Developer's Reference (you should be used to apt-pinning to selectively use packages out of experimental).

Status update (June 6th, 2005): net6 and libobby are now included in Debian unstable. Gobby is still stuck in experimental because of its dependency. A repository with net6 and libobby packages built against Sarge is already available by putting the following snipplet into your /etc/apt/sources.list:

 deb http://releases.0x539.de/ debian/

Ubuntu packages are available by substituting debian/ with ubuntu/. Gobby's packages will follow hopefully later this week, together with the dependencies needed to install Gobby out of the box by just adding this repository.

Mac OS X

Because of Gobby's dependencies it is still a bit tricky to compile it on Mac OS X. I'll try to make binary builds available in the near future. However, please be aware that Gobby does not use Mac OS X's native interface but instead depends on Apple's X11 as the windowing toolkit is uses is not (yet?) ported natively to Mac OS X.

FreeBSD

I have build problems on FreeBSD (in net6):

src/error.cpp: In function `net6::error::code <unnamed>::gai_to_net6(int)':
src/error.cpp:229: error: `EAI_ADDRFAMILY' undeclared (first use this function)
src/error.cpp:229: error: (Each undeclared identifier is reported only once for each function it appears in.)
src/error.cpp:232: error: `EAI_NODATA' undeclared (first use this function)

It seems that FreeBSD's getaddrinfo() implementation does not support these two error values (run man getaddrinfo to verify this: The values should not be listed the the RETURN VALUES section). It should be enough to remove the corresponding lines (Lines 229, 230, 232, 233). I will #ifdef them for the next net6 version.

Maybe use autoconf's magic instead of writing hundreds of ifdef-lines there. Or maybe you should write #ifdef linux there :-)


Next problem, I had to relocate the pkg-config file after net6 install:

 cp /usr/local/lib/pkgconfig/net6-1.0.pc /usr/local/libdata/pkgconfig/

And I wonder why the executable bit for install-sh is not set.

Again:

cp /usr/local/lib/pkgconfig/obby-1.0.pc /usr/local/libdata/pkgconfig/

Kids, this is buggy - not everyone plays with Linux - some even use serious operating systems :-)

But after those edits, it works - thanks (says the guy who thought about rewriting the conceptionally broken socket handler on windows).

I am not sure where I should move it (where is the bugtracker?) but even on FreeBSD I see much to high CPU load for two clients connected on localhost while writing.


Using autoconf for these EAI-values sounds quite good, but this would also result in hundreds of ifdefs, wouldn't it? I do not like to use #ifdef linux here because it might work on linux and FreeBSD then, but break on a third system.

This pkg-config stuff seems to be an error with autoconf. I know pretty nothing about autoconf, Phil should have a look at this.

The bugtracker is integrated in this wiki, use http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi/newticket (or the New Ticket Button in the above navigation bar) to submit a new bug report.