[SOLVED] Handbrake (slackbuilds) not building even if all pre-requisites are met
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Handbrake (slackbuilds) not building even if all pre-requisites are met
Hi there,
Handbrake fails to build (using the latest slackbuilds from slackbuilds.org). I have already installed all required packages (such as a52dec, faac, faad2, lame..) but it fails with:
Code:
...
checking pkg-config is at least version 0.9.0... yes
checking for OldWebKitGtk... no
checking for GHB... yes
checking for pkg-config... /usr/bin/pkg-config
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: executing libtool commands
config.status: executing po/stamp-it commands
touch gtk/.stamp.configure
make -C ./gtk/
make[1]: Entering directory `/tmp/SBo/HandBrake-0.9.5/build/gtk'
make all-recursive
make[2]: Entering directory `/tmp/SBo/HandBrake-0.9.5/build/gtk'
Making all in src
make[3]: Entering directory `/tmp/SBo/HandBrake-0.9.5/build/gtk/src'
gcc -DHAVE_CONFIG_H -I. -I/tmp/SBo/HandBrake-0.9.5/build/../gtk/src -I.. -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\" -DPACKAGE_SRC_DIR=\""/tmp/SBo/HandBrake-0.9.5/build/../gtk/src"\" -DPACKAGE_DATA_DIR=\""/usr/share"\" -Wall -g -g0 -O3 -I/tmp/SBo/HandBrake-0.9.5/build//libhb -D_ENABLE_GST -MT callbacks.o -MD -MP -MF .deps/callbacks.Tpo -c -o callbacks.o /tmp/SBo/HandBrake-0.9.5/build/../gtk/src/callbacks.c
/tmp/SBo/HandBrake-0.9.5/build/../gtk/src/callbacks.c:26:25: fatal error: gudev/gudev.h: No such file or directory
compilation terminated.
make[3]: *** [callbacks.o] Error 1
make[3]: Leaving directory `/tmp/SBo/HandBrake-0.9.5/build/gtk/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/SBo/HandBrake-0.9.5/build/gtk'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/SBo/HandBrake-0.9.5/build/gtk'
make: *** [gtk.build] Error 2
So can anybody help? I also wonder why this slackbuilds needs its own packages when there are newer packages already installed on the system (example: lame which I already had 3.99 installed but HB comes with 3.98..)?
Wierd, I have 0.9.5 installed on 13.37 64 bit and had no problems. By the looks of the the error you have, you are missing a package. A quick look finds gudev.h in /usr/include/gudev-1.0/gudev/ Maybe you don't have all the prereq's you need.
It says you're missing gudev.h. Assuming you've attempted to build it correctly, it seems you're missing the "udev" package. If you do have it, check to make sure you're starting it on boot:
# grep -i udev /etc/rc.d/rc.M:
Code:
# udevd on systems that use udev:
if [ -x /etc/rc.d/rc.udev ]; then
/bin/sh /etc/rc.d/rc.udev start
# If we're using udev, make /dev/cdrom and any other optical drive symlinks
# if some udev rule hasn't made them already:
if [ -x /lib/udev/rc.optical-symlinks -a -x /etc/rc.d/rc.udev ]; then
/bin/sh /lib/udev/rc.optical-symlinks
# slackpkg file-search gudev.h
Code:
Looking for gudev.h in package list. Please wait... DONE
The list below shows the packages that contains "gudev\.h" file.
[ installed ] - udev-165-x86_64-2
You can search specific packages using "slackpkg search package".
Edit 1: Also, Alien Bob usually builds large packages like this for the Slackware community so we don't have to go searching for the dependencies. Especially for some packages the libraries are statically built which is also nice.
Good one for you guys.. I ended up being able to install it.. But it doesnt work!!
First of all, UDEV was of course installed.
Quote:
bash-4.1# slackpkg file-search gudev.h
Looking for gudev.h in package list. Please wait... DONE
The list below shows the packages that contains "gudev\.h" file.
[ installed ] - udev-165-x86_64-2
You can search specific packages using "slackpkg search package".
Then I realized this line in the output:
Quote:
checking for OldWebKitGtk... no
That made me wonder if webkitgtk was installed.. No it wasnt. I went ahead and compiled & installed it. Then I tried to start HB and got
Quote:
bash-4.1$ ghb
ghb: error while loading shared libraries: libgeoclue.so.0: cannot open shared object file: No such file or directory
So I installed "geoclue-0.12-x86_64-2sl.txz" from pkgs.org (couldnt find such slackbuilds on SB.org) and I got further with this error:
Quote:
bash-4.1$ ghb
ghb: error while loading shared libraries: libicui18n.so.44: cannot open shared object file: No such file or directory
Now I am clueless... I "swear to God", I successfully compiled and install ALL dependencies as listed on SB.org, and yet there are missing files... I *think* this SB needs a SEVERE cleanup...
The only dependency listed for handbrake is webkit and it is a dependency for the GUI only.
Also mixing precompiled packages from god knows where is a sure way to cause problems.
I followed the instructions as they appeared o make sense, so I created a symlink for each missing .so files... 3 total. Then I tried to start HB and got:
Quote:
ghb: symbol lookup error: /usr/lib64/libwebkitgtk-1.0.so.0: undefined symbol: UCNV_TO_U_CALLBACK_SUBSTITUTE_44
The thread above ends up with you XGizzmo saying "icu4c's latest update breaks binary compatibility. Anything linked to an older version will need a recompile."
That made me wonder if webkitgtk was installed.. No it wasnt. I went ahead and compiled & installed it. Then I tried to start HB and got
Code:
bash-4.1$ ghb
ghb: error while loading shared libraries: libgeoclue.so.0: cannot open shared object file: No such file or directory
So I installed "geoclue-0.12-x86_64-2sl.txz" from pkgs.org (couldnt find such slackbuilds on SB.org) and I got further with this error:
Code:
bash-4.1$ ghb
ghb: error while loading shared libraries: libicui18n.so.44: cannot open shared object file: No such file or directory
Now I am clueless... I "swear to God", I successfully compiled and install ALL dependencies as listed on SB.org, and yet there are missing files... I *think* this SB needs a SEVERE cleanup...
I think you might have made a few mistakes:
1. As previously stated, webkit is ONLY needed for a gui.
It explains why your command is probably outputting those library errors. If the CLI version still doesn't work, then yes there may be something wrong with the SlackBuild and you can e-mail the maintainer.
3. You said you "swear to God" that you compiled and installed it. First off, I assume people who say "swear to God" that they're lying but that's besides the point. I believe you did compile and install it, but I DON'T believe you compiled handbrake with webkit. Again, refer to the README above.
4. Why did you compile and install "webkitgtk" when it asks for "webkit"?
5. Why are you mixing packages from a source that may or may not be reliable?
Handbrake fails to build (using the latest slackbuilds from slackbuilds.org). I have already installed all required packages (such as a52dec, faac, faad2, lame..) but it fails with:
I am using "ghb" to start HB because it is the GUI startup command, as far as I know, but I may be wrong. On my HTPC, I've compiled and ran HB the very same way, but using older sources (that was about a year ago). It worked then. Required a lot of work, but it worked and Im still using it.
The README file from the maintainer is very clear and says:
Quote:
[...]
webkit is a dependency for the GUI only. Disable it with the following:
"GUI=no ./HandBrake.SlackBuild"
Lacking a GUI, the binary is HandBrakeCLI -- not HandBrake as you might
otherwise expect. To launch this application after installing, type in
"HandBrakeCLI" [...]"
To me, its clear that if I want to use ONLY the CLI version, I enter GUI=no before the ./SlackBuild command. Then, I understand to start HB in CLI mode I need to type "HandBrakeCLI". Simple enough.
The README file doesnt tell me where I went wrong. It doesnt tell me either that I went wrong trying to start the GUI version with ghb, nor that I shouldnt install webkit if I wanted to use the GUI.
Quote:
First off, I assume people who say "swear to God" that they're lying but that's besides the point
Thats your personal opinion & yes thats beside the point. Also note English is not my primary language and in French, "Swear to God" means in "all honesty and seriously". Anyways, in over 4 years here, I have never been told I was lying..
In regards to webkitgtk VS webkit, I simply was confused between them. The output of the first build attempt had a reference to webkitGTK and I thought it was the same package as int he README file.. I was wrong. Recompiling webkit from SB.org and installing it solved my problems.
To "XGizzmo":
Yes, I am talking about the downloads in the source files...
Actually, in recent handbrake versions, webkit is completely optional, gui or not. It was mostly used on the OSX port for doing in-place upgrades, or something.
You can check my SlackBuild and packages for HandBrake 0.9.6 here: http://connie.slackware.com/~alien/s...lds/handbrake/ - there is no external dependency and as abrouwers mentioned, you can avoid webkit-gtk easily (which I also do). My package includes both the GUI and the cli applications.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.