Aclocal failing to find pkg.m4

When you don’t have a system wide pkgconfig/aclocal for example because it’s a shared server with a module loadable package system,
then typical symptom during the execution of ./configure
that certain macros are not found or reported to cause syntax error because they are not expanded.

Example for “Command not found”:

# configure script:
   3890     as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
   3891   fi
   3892 fi
   3897 if test "x$PY_PREFIX" = x; then :

Here the macro PKG_PROG_PKG_CONFIG, should have been resolved at this point to something else.

# execution output:
./configure: line 3894: PKG_PROG_PKG_CONFIG: command not found

Example for syntax error because not expanded:

# configure script:
17090 PKG_CHECK_MODULES(QT, QtCore >= 4.3, QtNetwork >= 4.3, have_qt=yes, have_qt=no)

This should have been expanded too to something like “… ($PKG_CONFIG –exists –print-errors “QtCore >= 4.3, QtNetwork >= 4.3″) … ”

# execution output:
./configure: line 17090: syntax error near unexpected token `QT,'
./configure: line 17090: `    PKG_CHECK_MODULES(QT, QtCore >= 4.3, QtNetwork >= 4.3, have_qt=yes, have_qt=no)'

Solution, as mentioned here:

export ACLOCAL_PATH=/app/vbuild/SLED11-x86_64/pkgconfig/0.25/share/aclocal/
# This is where the pkg.m4 can be found:
ls -lah /app/vbuild/SLED11-x86_64/pkgconfig/0.25/share/aclocal/pkg.m4

Alternatively if further macros are missing then consider setting AL_OPTS, as suggested here:


VMware 12.1.1 and 4.7.0-1

VMware 12.1.1 and 4.7.0-1 [openSUSE Tumbleweed (20160730) (x86_64)]:

1. VMware Virtual ethernet module:

/usr/lib/vmware/modules/source/vmnet-only/netif.c: In function ‘VNetNetifStartXmit’:
/usr/lib/vmware/modules/source/vmnet-only/netif.c:468:7: error: ‘struct net_device’ has no member named ‘trans_start’; did you mean ‘mem_start’?
    dev->trans_start = jiffies;

Robert Gadsdon’s solution was to remove that line entirely:

Also virtualbox developers did basically the same:

VMware and 4.6.1-1

Today while trying to compile kernel modules for VMware Workstation 12.1.1 + 4.6.1-1-default [openSUSE Tumbleweed (20160422) (x86_64)] I got two compilation errors:

1. VMware Virtual ethernet module:

/usr/lib/vmware/modules/source/vmnet-only/userif.c:116:13: error: too many arguments to function ‘get_user_pages’
    retval = get_user_pages(current, current->mm, addr,

2. VMware Virtual machine monitor:

/usr/lib/vmware/modules/source/vmmon-only/linux/hostif.c:1165:13: error: too many arguments to function ‘get_user_pages’
    retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,

VMware Community member alexsandr1981 has the correct answer in the discussion, which is to replace every get_user_pages call with get_user_pages_remote calls.
After replacing the original tar, the compilation succeeded for me.

VMware and linux 4.0.5-3

Today on openSUSE Tumbleweed, the usual module recompilation with

vmware-modconfig --console --install-all

failed, with

Unable to parse gcc version

This is because the guys releasing Tumbleweed started compiling everything with gcc 5, even the kernel, which made the vmware-modconfig unhappy:

workstation:/tmp # uname -a
Linux workstation 4.0.5-3-desktop #1 SMP PREEMPT Thu Jun 18 15:11:06 UTC 2015 (56152db) x86_64 x86_64 x86_64 GNU/Linux
workstation:/tmp # cat /etc/os-release
VERSION="20150702 (Tumbleweed)"
PRETTY_NAME="openSUSE 20150702 (Tumbleweed) (x86_64)"
workstation:/tmp # vmware --version
VMware Workstation 11.1.0 build-2496824
workstation:/tmp # tail -n 6 /tmp/vmware-root/vmware-14006.log
2015-07-07T22:43:30.926+02:00| modconfig| I120: Trying to find a suitable PBM set for kernel "4.0.5-3-desktop".
2015-07-07T22:43:30.926+02:00| modconfig| I120: No matching PBM set was found for kernel "4.0.5-3-desktop".
2015-07-07T22:43:30.926+02:00| modconfig| I120: Found compiler at "/usr/bin/gcc"
2015-07-07T22:43:30.929+02:00| modconfig| I120: Got gcc version "5".
2015-07-07T22:43:30.930+02:00| modconfig| I120: Unable to parse gcc version
2015-07-07T22:43:30.932+02:00| modconfig| I120: We are now shutdown. Ready to die!
workstation:/tmp #

Here is a remedy from rainerklier posted in this vmware community link.

cd /usr/lib/vmware/modules/source
tar -xf vmnet.tar
cd vmnet-only
cd ..
tar -xf vmmon.tar
cd vmmon-only
cd ..
cp vmmon.o /lib/modules/`uname -r`/misc/vmmon.ko
cp vmnet.o /lib/modules/`uname -r`/misc/vmnet.ko
depmod -a
/etc/init.d/vmware restart

Linux, Flash and DRM content playback

Currently Chromium’s and Chrome’s Pepper Plugin Api (PPAPI) flash doesn’t have DRM support and it looks like a “won’t fix”, so if you want to play DRM-enabled flash content on Linux natively, (and by that I mean without running Windows plugins in Wine like Pipelight does) then you are left with the ancient abandoned Linux Flash plugin.
Since it’s abandoned, it depends on ancient libhal libs, that your current distro probably doesn’t provide, or at a cost of dependency hell.

But, Chris Horler has this project on github, which is a very lightweight, (no dependency hell)

libhal stub library forwarding to UDisks

, basically the library that flashplayer depends on when dealing with DRM -enabled media.

If you don’t want to compile it for yourself, then for openSUSE the usual suspect is the
the libhal1-flash search term on

Probably it’s just me, but for Ubuntu the PPA search is hardly usable. Anyhow for my Precise machine I used flash-hal-helper from Chris Coulson’s PPA

Oh and in case you don’t know how to test ( or you don’t even know what I am talking about), then here is _THE_ test case, quote from Chris Horler’s site:

Enter this into your browser:
Enter this into the form:
Press play.

Java: “Your Security Settings Have Blocked A Self Signed Application From Running”

My current employer has a Citrix XenApp solution which requires users to run a self signed Java applet. In most of the cases the Java security settings don’t allow this by default, and display this message:

Your Security Settings Have Blocked A Self Signed Application From Running

To fix this start by accessing the Java Control Panel

DISPLAY=:0.0 jcontrol


export DISPLAY=:0.0

Go to:

Security > Edit Site List > Add

here add the site of your employer like “”
hit OK & Apply and then it should work.

Chromium doesn’t play audio (openSUSE edition)

The usual chromium distributions tend to have audio problems. A good testcase is duolingo where sounds just doesn’t play in contrast to Firefox where everything works like a charm (for the moment).
This seems to be a well know problem among Ubuntu users:

But here is how to do the same thing on openSUSE.:
If you have installed chromium from the network:chromium repo, then don’t install the chromium-beta-ffmpegsumo package, but use the one from google, so go to google’s beta download site pick “64 bit .rpm (Fedora/openSUSE)” download and extract it like this.:

rpm2cpio google-chrome-beta_current_x86_64.rpm \
| cpio -i --to-stdout ./opt/google/chrome-beta/ 2>/dev/null \
> /usr/lib64/chromium/


P.S: Here is a web page with tons of test cases to verify correct functioning:

Compiling YCM on Ubuntu with system-libclang

YCM from Valloric is popular among coders. But if you want to compile it on Ubuntu with system-libclang on, it gives a completely useless error message. The issue is that Ubuntu libclang packages doesn’t ship the symlink, only, so you have to create it for yourself.


~/.vim/bundle/YouCompleteMe$ ./ --clang-completer --system-libclang
/tmp/ycm_build.2bNIhM ~/.vim/bundle/YouCompleteMe
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
Your C++ compiler supports C++11, compiling in that mode.
-- Found PythonLibs: /usr/lib/ (Required is at least version "2.6")
Using libclang to provide semantic completion for C/C++/ObjC
Using external libclang: TEMP-NOTFOUND
-- Found PythonInterp: /usr/bin/python (found version "2.7.3")
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
    linked by target "ycm_core" in directory /home/efergcz/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm

-- Configuring incomplete, errors occurred!


root@elx7qgwj12-dr:/usr/lib/llvm-3.5/lib# ls -lah
lrwxrwxrwx 1 root root 17 Sep  6 09:15 ->
root@elx7qgwj12-dr:/usr/lib/llvm-3.5/lib# ln -s

Credit goes tho this github post.

Converting MS Outlook .msg files to Thunderbird readable .eml files

On Ubuntu Precise this is what worked for me:

sudo apt-get install libemail-outlook-message-perl libemail-localdelivery-perl libemail-sender-perl
perl YourMessage.msg

It may cause you some minor issues with encoding (can be fixed bit a few lines of awk), but at least attachments worked fine (so far).