The big GNOME 3 install/upgrade topic

DutchDaemon

Administrator
Staff member
Administrator
Moderator
Developer
GNOME 3 (and yes, it's "GNOME", not "Gnome" or "gnome") hits the ports tree. I'm sure it will be an epic event. Let's keep all upgrade and installation issues in this single thread.

All questions relating to actually running or configuring an already installed/upgraded GNOME 3 can go in the GNOME sub-forum.

Thank you.
 
I had started a thread (mods can delete it) before I saw this. I don't have GNOME so I'm confused as to whether this affects me.

The just changed /usr/ports/UPDATING file has a new entry that affects users of x11/gnome2, graphics/clutter and lang/vala because GNOME 3.14 was imported. Of those three, I only have lang/vala on my system which needs updating.

The instructions mention deleting lang/vala-vapigen and some other GNOME things, which I do have, but I don't understand if this affects me or not.
 
I don't understand if this affects me or not.
It most likely does. Many ports have GNOME sub-components they refer to. Even Firefox has LIBGNOMEUIand GNOMEVFS2 options. Those are the visible ones. Many ports just use GNOME components by default. These will be of course mostly Desktop/GUI apps.
 
It most likely does. Many ports have GNOME sub-components they refer to. Even Firefox has LIBGNOMEUIand GNOMEVFS2 options. Those are the visible ones. Many ports just use GNOME components by default. These will be of course mostly Desktop/GUI apps.

This goes a bit offtopic I guess but it's seriously borked that a web browser needs to know about such things as the GNOME VFS to use files residing on such filesystem. Very bad design.
 
This goes a bit offtopic I guess but it's seriously borked that a web browser needs to know about such things as the GNOME VFS to use files residing on such filesystem. Very bad design.
It's not required for Firefox to function and it's not enabled by default. It just makes the Firefox-GNOME integration better.
 
Make sure you have the nvidia driver when compiling or it will fail with libEGL.

[ attempted translation -- Mod. ]
 
With libEGL, make a package and take the headers and copy them to the proper locations, and use pkg register with +COMPACT_MANIFEST to get around the installation issues if you're using the nvidia driver.
 
Try to recompile devel/glib20. I can't repeat this error.

But I see, if I try it, the difference in the compiler messages:
Code:
gmake[3]: Leaving directory '/usr/ports/accessibility/at-spi2-core/work/at-spi2-core-2.14.0/xml'
Making all in atspi
gmake[3]: Entering directory '/usr/ports/accessibility/at-spi2-core/work/at-spi2-core-2.14.0/atspi'
  GEN  atspi-enum-types.c
  GEN  atspi-enum-types.h
gmake  all-am
gmake[4]: Entering directory '/usr/ports/accessibility/at-spi2-core/work/at-spi2-core-2.14.0/atspi'
Your code is missing the two lines with "GEN", so I am guessing it has something to do with
Code:
#include <glib-object.h>
in the atspi-enum-types.c file.

(Maybe it could be the same problem I had with the "glib.h" files. I had to remove all files in the /usr/local/include/glib-2.0/* and /usr/local/lib/glib-2.0/include/* directories, deinstall devel/glib20 and reinstall it. But I am not sure if it's also the solution for your problem).
 
Hi!

All compiled well this night, the problem is now I'm trying to install the Nvidia driver and got:
Code:
pkg-static: nvidia-driver-340.46 conflicts with libEGL-10.3.3 (installs files into the same place).  Problematic file: /usr/local/lib/libEGL.so

Any solution? I'm not quite sure about remove first libEGL port without knowing if it will remove too all the dependencies of it. Any system for replacing it?

Now I'm using the nv driver but it's really slow.

PD: I tried to do a pkg delete and it asks to remove too full gnome3 install. Any easy solution?
 
Someone changed in x11/nvidia/Makefile

Code:
# Adjust installation paths of some conflicting files (shared also between
# libGL and xorg-server) to ease package manager work, esp. with pkgng
  ${REINPLACE_CMD} -e '/LIBDIR/s:xorg/modules/extensions:&/.nvidia:' \
  ${WRKSRC}/x11/extension/Makefile
  ${REINPLACE_CMD} -e '/LIBDIR/s:lib:&/.nvidia:' \
  ${WRKSRC}/lib/libGL/Makefile

the line
Code:
LIBDIR=  ${LOCALBASE}/lib/.nvidia
in work/NVIDIA-FreeBSD-x86_64-340.46/lib/libGL/Makefile.

You can try to change the line
Code:
LIBDIR=  ${LOCALBASE}/lib
in
work/NVIDIA-FreeBSD-x86_64-340.46/lib/libEGL/Makefile

I think it should be this line (put it in the x11/nvidia-driver/Makefile), but I am not sure, someone with more experience should check and/or correct it.
Code:
${REINPLACE_CMD} -e 's/LIBDIR/lib/' \
${WRKSRC}/lib/libEGL/Makefile
 
So on a freshly install 10.1-RELEASE including patching, and a freshly updated ports tree I get this. (Installing using ports is taking a really long time needless to say. :eek:)

Code:
===>  Verifying install for gstreamer1-plugins-v4l2>=1.4.0 in /usr/ports/multimedia/gstreamer1-plugins-v4l2
===>  Staging for gstreamer1-plugins-v4l2-1.4.5
===>  gstreamer1-plugins-v4l2-1.4.5 depends on package: iso-codes>=0 - found
===>  gstreamer1-plugins-v4l2-1.4.5 depends on package: gstreamer1-plugins>=1.4.0 - found
===>  gstreamer1-plugins-v4l2-1.4.5 depends on executable: webcamd - not found
===>  Verifying install for webcamd in /usr/ports/multimedia/webcamd
===>  webcamd-3.18.0.1 depends on package: v4l_compat>=1.0.20100321 - found
===>  webcamd-3.18.0.1 depends on executable: pkgconf - found
===>  webcamd-3.18.0.1 depends on package: cuse4bsd-kmod>=0.1.31 - not found
===>  Verifying install for cuse4bsd-kmod>=0.1.31 in /usr/ports/multimedia/cuse4bsd-kmod
===>  cuse4bsd-kmod-0.1.36 requires kernel source files in /usr/src.
*** Error code 1
 
It seems you do not have the source files. What ls /usr/src gives you ?
 
Great minds think alike. Already into that discussion. But I had to take a break, because apparently Windows is running the weather and I got another couple feet of snow last night, when it was only supposed to be 10cm. Thank goodness for snow throwers. Hmmm can FreeBSD make my snow thrower better? :p

Maybe the port someday could automatically fetch that code. (Or maybe that's my old Windows way of thinking.) Stay tuned.
 
GNOME3 won't install via pkg on FreeBSD9.3:

pkg install gnome3
yields:
Code:
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Updating database digests format: 100%
pkg: No packages available to install matching 'gnome3' have been found in the repositories
uname -a
Code:
FreeBSD mithra 9.3-RELEASE-p10 FreeBSD 9.3-RELEASE-p10 #0: Tue Feb 24 21:28:03 UTC 2015  root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
Ports and packages at latest versions.

Trying to make x11/gnome3 runs until sushi fails to build, and sushi also isn't available via pkg:
Code:
===>  Building for sushi-3.12.0
Making all in src
gmake[1]: Entering directory '/usr/ports/x11-fm/sushi/work/sushi-3.12.0/src'
gmake  all-am
gmake[2]: Entering directory '/usr/ports/x11-fm/sushi/work/sushi-3.12.0/src'
  CCLD  sushi-start
  GISCAN  Sushi-1.0.gir
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::condition_variable::wait(std::unique_lock<std::mutex>&)@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::__throw_bad_function_call()@GLIBCXX_3.4.14'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::chrono::_V2::steady_clock::now()@GLIBCXX_3.4.19'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::__throw_system_error(int)@GLIBCXX_3.4.11'
/usr/local/lib/libjavascriptcoregtk-3.0.so: undefined reference to `std::chrono::_V2::system_clock::now()@GLIBCXX_3.4.19'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::condition_variable::~condition_variable()@GLIBCXX_3.4.11'
/usr/local/lib/libjavascriptcoregtk-3.0.so: undefined reference to `std::condition_variable::notify_all()@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::condition_variable::condition_variable()@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `__once_proxy@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::condition_variable::notify_one()@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::__once_callable@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so: undefined reference to `std::__once_call@GLIBCXX_3.4.11'
Makefile:672: recipe for target 'sushi-start' failed
gmake[2]: *** [sushi-start] Error 1
gmake[2]: *** Waiting for unfinished jobs....
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::condition_variable::wait(std::unique_lock<std::mutex>&)@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::__throw_bad_function_call()@GLIBCXX_3.4.14'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::chrono::_V2::steady_clock::now()@GLIBCXX_3.4.19'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::__throw_system_error(int)@GLIBCXX_3.4.11'
/usr/local/lib/libjavascriptcoregtk-3.0.so.0: undefined reference to `std::chrono::_V2::system_clock::now()@GLIBCXX_3.4.19'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::condition_variable::~condition_variable()@GLIBCXX_3.4.11'
/usr/local/lib/libjavascriptcoregtk-3.0.so.0: undefined reference to `std::condition_variable::notify_all()@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::condition_variable::condition_variable()@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `__once_proxy@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::condition_variable::notify_one()@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::__once_callable@GLIBCXX_3.4.11'
/usr/local/lib/libwebkitgtk-3.0.so.0: undefined reference to `std::__once_call@GLIBCXX_3.4.11'
linking of temporary binary failed: Command '['/bin/sh', '../libtool', '--mode=link', '--tag=CC', '--silent', 'cc', '-o', '/usr/ports/x11-fm/sushi/work/sushi-3.12.0/src/tmp-introspectxMa3rn/Sushi-1.0', '-export-dynamic', '-I/usr/local/include', '-O2', '-march=native', '-mtune=native', '-fstack-protector', '-fno-strict-aliasing', '-L/usr/local/lib', '-fstack-protector', '/usr/ports/x11-fm/sushi/work/sushi-3.12.0/src/tmp-introspectxMa3rn/Sushi-1.0.o', '-L.', 'libsushi-1.0.la', '-lgio-2.0', '-lgobject-2.0', '-Wl,--export-dynamic', '-lgmodule-2.0', '-pthread', '-L/usr/local/lib', '-lglib-2.0', '-lintl']' returned non-zero exit status 1
/usr/local/share/gobject-introspection-1.0/Makefile.introspection:153: recipe for target 'Sushi-1.0.gir' failed
 
I am trying to build x11/gnome3, which doesn't seem like too much to ask, as without gnome3, gdm gives you nothing but a black screen (you can't even see the mouse cursor) and it is impossible to login to a graphical interface. The relevant error message in /var/log/gdm/:0-greeter.log is:

Code:
  gnome-session[80555]: WARNING: Could not parse desktop file gnome-shell.desktop or it references a not found TryExec binary

(gnome-settings-daemon:80567): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.HalVolumeMonitor is not supported

(gnome-settings-daemon:80567): media-keys-plugin-WARNING **: Unable to inhibit keypresses: GDBus.Error:eek:rg.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.login1 was not provided by any .service files

(gnome-settings-daemon:80567): Gvc-WARNING **: Failed to connect context: OK

But I digress. The point is that one wants to build x11/gnome3 otherwise gdm by itself is worthless.

But x11/gnome3 does not build. More precisely, devel/libgdata does not build. The dependency path is that x11/gnome3 depends on deskutils/gnome-utils, which depends on deskutils/gnome-contacts, which depends on databases/evolution-data-server, which depends on devel/libgdata, and devel/libgdata does not build. I ran make config in all of the intermediate ports and there was nothing there that could avoid the dependency on libgdata. And x11/gnome3-lite also depends on libgdata, although the path to evolution-data-server is somewhat different.

The build of libgdata fails shortly after g-ir-scanner emits a syntax error on /usr/include/runetype.h, a header file that contains an inline function definition (which is perfectly fine, because it is an inline function). I hope that the proximity of the error message and the failure of the build is a coincidence, because it is truly, truly, moronic to make a build depend on successful introspection of a header file. Incidentally, I took the function definition out of runetype.h (a file with a name ending in ".h") and put it into runetype-jfs.c (a file with a name ending in ".c") which runetype.h now includes. It made no bloody difference, g-ir-scanner still emits the error message and libgdata still fails to build.

Here is the output of uname -a, if anyone is curious:

Code:
FreeBSD m5 10.1-RELEASE-p9 FreeBSD 10.1-RELEASE-p9 #0: Tue Apr  7 01:07:33 UTC 2015  root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386

Now, surely there must be other people on FreeBSD 10.1 who have successfully built x11/gnome3. So how did they do it? And what must I do to get the bloody thing to build? Thank you in advance for any and all replies. If you think that your reply will not be of general interest, then please send me electronic mail:
jay at m5 dot chicago dot il dot us.

Jay F. Shachter
 
Back
Top