Elementary OS Plank

Hi there,

I have found the following video on youtube, where a whole system installation of Dragonfly BSD is done and where also plank is installed. The guy who does this seems to have also installed plank on FreeBSD. He runs also in the kind of problems you seem to have above and he also seems to use @olivers ports. But he seems to be able to solve the problems on the fly. He has by the way other great vids on BSD. Please look into this, I hope it is helpful:
https://www.youtube.com/watch?v=NnsbWrERp2w

(Edit: The video sadly seems to be down. But it seems that the guy who made that video has now set up a forum in general for BSD: http://bsdgeekclub.freeforums.org I think this could be a helpful addition to this forum, which I find great.)
 
Last edited by a moderator:
Now I am also interested in plank. Since I couldn't find the video post I mentioned above again. I have to figure it out myself :).
I successfully downloaded and compiled libbamf3 and libwnck-3.0.
So I downloaded @oliviers ports tree. And I tried to install plank. I have a little problem here, namely it seems that I cannot deliver make the message that my package config path is /usr/local/lib/pkgconfig (, which contains libbamf3.pc and libwnck-3.0.pc now).
Here is the situation which shows the error I get:


Code:
BSD-Nexus:~/olivier-freebsd-ports/x11-wm/plank bernd$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/                                                                   
BSD-Nexus:~/olivier-freebsd-ports/x11-wm/plank bernd$ ls $PKG_CONFIG_PATH
libbamf3.pc    libwnck-3.0.pc
BSD-Nexus:~/olivier-freebsd-ports/x11-wm/plank bernd$ sudo make install clean
Passwort:
===>   plank-0.5.0 depends on executable: valac - found
===>   plank-0.5.0 depends on executable: pkgconf - found
===>   plank-0.5.0 depends on executable: gmake - found
===>   plank-0.5.0 depends on executable: gcc47 - found
===>   plank-0.5.0 depends on file: /usr/local/bin/as - found
===>   plank-0.5.0 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found
===>   plank-0.5.0 depends on executable: gtk-update-icon-cache - found
===>   plank-0.5.0 depends on file: /usr/local/bin/intltool-extract - found
===>   plank-0.5.0 depends on shared library: libbamf3.so - found (/usr/local/lib/libbamf3.so.2)
===>   plank-0.5.0 depends on shared library: libgee-0.8.so - found (/usr/local/lib/libgee-0.8.so.2.3.0)
===>   plank-0.5.0 depends on shared library: libwnck-3.so - found (/usr/local/lib/libwnck-3.so.2)
===>   plank-0.5.0 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so.9)
===>   plank-0.5.0 depends on shared library: libatk-1.0.so - found (/usr/local/lib/libatk-1.0.so.0)
===>   plank-0.5.0 depends on shared library: libgdk_pixbuf-2.0.so - found (/usr/local/lib/libgdk_pixbuf-2.0.so.0)
===>   plank-0.5.0 depends on shared library: libglib-2.0.so - found (/usr/local/lib/libglib-2.0.so.0)
===>   plank-0.5.0 depends on shared library: libpcre.so - found (/usr/local/lib/libpcre.so.3)
===>   plank-0.5.0 depends on shared library: libgtk-3.so - found (/usr/local/lib/libgtk-3.so.0)
===>   plank-0.5.0 depends on shared library: libxml2.so - found (/usr/local/lib/libxml2.so.2.9.1)
===>   plank-0.5.0 depends on shared library: libpango-1.0.so - found (/usr/local/lib/libpango-1.0.so.0.3400.1)
===>  Configuring for plank-0.5.0
===>   FreeBSD 10 autotools fix applied to /usr/home/bernd/olivier-freebsd-ports/x11-wm/plank/work/plank-0.5.0/aclocal.m4
===>   FreeBSD 10 autotools fix applied to /usr/home/bernd/olivier-freebsd-ports/x11-wm/plank/work/plank-0.5.0/m4/libtool.m4
===>   FreeBSD 10 autotools fix applied to /usr/home/bernd/olivier-freebsd-ports/x11-wm/plank/work/plank-0.5.0/configure
configure: loading site script /usr/ports/Templates/config.site
checking whether gmake supports nested variables... yes
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p
checking for gawk... (cached) /usr/bin/awk
checking whether gmake sets $(MAKE)... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... (cached) /usr/bin/tar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc47
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc47 accepts -g... yes
checking for gcc47 option to accept ISO C89... none needed
checking whether gcc47 understands -c and -o together... yes
checking for style of include used by gmake... GNU
checking dependency style of gcc47... gcc3
checking build system type... amd64-portbld-freebsd10.0
checking host system type... amd64-portbld-freebsd10.0
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/egrep
checking for fgrep... (cached) /usr/bin/fgrep
checking for ld used by gcc47... /usr/local/bin/ld
checking if the linker (/usr/local/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/local/bin/nm
checking the name lister (/usr/local/bin/nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... (cached) 262144
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking how to convert amd64-portbld-freebsd10.0 file names to amd64-portbld-freebsd10.0 format... func_convert_file_noop
checking how to convert amd64-portbld-freebsd10.0 file names to toolchain format... func_convert_file_noop
checking for /usr/local/bin/ld option to reload object files... -r
checking for objdump... /usr/local/bin/objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... /usr/local/bin/ranlib
checking command to parse /usr/local/bin/nm output from gcc47 object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... cpp47
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for dlfcn.h... (cached) yes
checking for objdir... .libs
checking if gcc47 supports -fno-rtti -fno-exceptions... no
checking for gcc47 option to produce PIC... -fPIC -DPIC
checking if gcc47 PIC flag -fPIC -DPIC works... yes
checking if gcc47 static flag -static works... yes
checking if gcc47 supports -c -o file.o... yes
checking if gcc47 supports -c -o file.o... (cached) yes
checking whether the gcc47 linker (/usr/local/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... freebsd10.0 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking pkg-config is at least version 0.21... yes
checking for cos in -lm... yes
checking for valac... /usr/local/bin/valac
checking whether /usr/local/bin/valac is at least version 0.16.0... yes
checking for vapigen... /usr/local/bin/vapigen
checking for glib-compile-resources... /usr/local/bin/glib-compile-resources
checking for xmllint... /usr/local/bin/xmllint
checking for BAMF... no
checking for PLANK_CORE... no
configure: error: Package requirements (gobject-2.0 >= 2.32.0                  glib-2.0 >= 2.32.0                  gthread-2.0 >= 2.32.0                  gio-2.0 >= 2.32.0                  gio-unix-2.0 >= 2.32.0                  gtk+-3.0 >= 3.0.0                  gdk-x11-3.0 >= 3.0.0                  gdk-pixbuf-2.0 >= 2.26.0                  libbamf3 >= 0.2.92                  libwnck-3.0                  x11 gee-0.8 ) were not met:

Package libbamf3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libbamf3.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libbamf3', required by 'world', not found
Package 'libwnck-3.0', required by 'world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables PLANK_CORE_CFLAGS
and PLANK_CORE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
===>  Script "configure" failed unexpectedly.
Please report the problem to ports@FreeBSD.org [maintainer] and attach the
"/usr/home/bernd/olivier-freebsd-ports/x11-wm/plank/work/plank-0.5.0/config.log"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make[1]: stopped in /usr/home/bernd/olivier-freebsd-ports/x11-wm/plank
*** Error code 1

Stop.
make: stopped in /usr/home/bernd/olivier-freebsd-ports/x11-wm/plank
BSD-Nexus:~/olivier-freebsd-ports/x11-wm/plank bernd$

Since I am a bloody beginner, I may be did a silly mistake. Has anybody a clue?
Thank you very much for any answer .....
 
Last edited by a moderator:
ondra_knezour said:
Is the PKG_CONFIG_PATH transfered into the sudo environment? Try sudo env.
It is mind-boggling, but although he now accepts the variable in the sudo environment
(see:
Code:
BSD-Nexus:~/olivier-freebsd-ports/x11-wm/plank bernd$ sudo env                  
TERM=rxvt
COLORTERM=rxvt-xpm
DISPLAY=:0
XAUTHORITY=/home/bernd/.Xauthority
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/bernd/bin
LC_ALL=de_DE.UTF-8
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
SHELL=/usr/local/bin/zsh
MAIL=/var/mail/root
LOGNAME=root
USER=root
USERNAME=root
HOME=/root
SUDO_COMMAND=/usr/bin/env
SUDO_USER=bernd
SUDO_UID=1001
SUDO_GID=1001
BSD-Nexus:~/olivier-freebsd-ports/x11-wm/plank bernd$
)

I geht the exact same error messages. One could think that pkg-config somehow foretts the new libraries, but to the contrary, f.e.:
Code:
BSD-Nexus:~/olivier-freebsd-ports/x11-wm/plank bernd$ pkg-config --list-all | grep "libw"
libwnck-3.0                    libwnck - Window Navigator Construction Kit library
libwnck-1.0                    libwnck - Window Navigator Construction Kit library
BSD-Nexus:~/olivier-freebsd-ports/x11-wm/plank bernd$

The new libraries are found and are on the place they should be.
Could it be that during the make process my environment variable is not defined anymore, that this is also a sort of an environment? Thank you very much for any answer ...
 
There are -dv and -V modifiers/options, which you can use to debug variables during make(1) runs. First one will output values of variables during run, second print value without running any target, see the linked manpage.
 
I've just sent message on gnome mailing list, in order to add x11-toolkits/libwnck3 in ports tree.

@BSDBernd, pkgconfig files (.pc) need to be installed into /usr/local/libdata/pkgconfig/ directory.

I'm also working on anothers applications:

- Eidete, screencasting application, development seems stopped, and bug #1185619 is still present
- Scratch, editor, plugins crash
- pantheon-terminal crashes
- Snap, I need to clean and enhance my patches

Now it's difficult, because some applications require granite >= 0.3.x, and GTK >= 3.10.
 
Last edited by a moderator:
Wow, thank you very much! I must say that I consider myself more a beginner; f.e. libwnck-3.0 was probably the third or fourth piece of software that I compliled for an operating system (directly from the source). The first was Pari/GP, an algebra system.
So I basically have to compile those two packages again and somehow change that path where they should go?
 
Success!!
What a beautiful dock (see the attachment), I have of course to configure it now. The black shadow (in the second picture) was caused by forgetting the '-C'-option in compton. Thank you @olivierd very much for the port.
To everyone else: To install the dock, you just need to download the two lib files above (the newest source files) and compile them and then use the port mentioned above. All the lib files should be in the ports tree, this is a great dock ...
(Edit: That shadow seems to have appeared because of my compton settings, I have to experiment with this. If you 'normally' invoke compton, then this shadow disappears. Edit2: F.e. the setting
Code:
compton -c -C -m0.7
does work brilliantly. The option '-C' is important here, it is the option for docks.
)
 

Attachments

  • 2014-06-23-020140_1280x976_scrot.png
    2014-06-23-020140_1280x976_scrot.png
    165 KB · Views: 1,197
  • 2014-06-23-023719_1280x976_scrot.png
    2014-06-23-023719_1280x976_scrot.png
    264.7 KB · Views: 1,035
Last edited by a moderator:
Great.

If you want Plank in ports tree, help me to convince the GNOME team to add x11-toolkits/libwnck3.

@BSDBernd, with Xfce, if compositor is enabled Plank's drop shadow will be displayed.

In the Applications menu click on 'Settings Manager', then 'Window Manager Tweaks' and go in the last tab, 'Compositor'.
 
Last edited by a moderator:
olivierd said:
Great.

If you want Plank in ports tree, help me to convince the GNOME team to add x11-toolkits/libwnck3.

@BSDBernd, with Xfce, if compositor is enabled Plank's drop shadow will be displayed.

In the Applications menu click on 'Settings Manager', then 'Window Manager Tweaks' and go in the last tab, 'Compositor'.

Thank you for the info. As you see, I use openbox here, but I have also installed Xfce and will test Plank in that environment.

I will try my best to convince the GNOME team.
 
Last edited by a moderator:
olivierd said:
I've just sent message on gnome mailing list, in order to add x11-toolkits/libwnck3 in ports tree.

@BSDBernd, pkgconfig files (.pc) need to be installed into /usr/local/libdata/pkgconfig/ directory.

I'm also working on anothers applications:

- Eidete, screencasting application, development seems stopped, and bug #1185619 is still present
- Scratch, editor, plugins crash
- pantheon-terminal crashes
- Snap, I need to clean and enhance my patches

Now it's difficult, because some applications require granite >= 0.3.x, and GTK >= 3.10.

Out of fun I tried to compile the pantheon wingpanel, but this requires the granite package you speak about and two or three more libraries. The funny thing is that the source code is there, so one could compile it, but as you say it is difficult.
Thank you very much for your work. I have seen that at the FreeBSD gnome mailing list, your request is already looked at.
 
Last edited by a moderator:
It seems that plank is now in the ports tree. Thank you very much to @olivierd and to everyone who was involved in this.
 
Last edited by a moderator:
Back
Top