Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Trouble compiling Handbrake on 12.1 64bit

  1. #1

    Default Trouble compiling Handbrake on 12.1 64bit

    With openSUSE 11.4 32bit I was using a copy of Handbrake I'd built from source. Now I've updated to 12.1 64bit the binaries don't work, which doesn't surprise me. So I re-compiled. And found the build fails.

    The first point of failure was related to dbus. The build process was looking for dbus files in /usr/include/dbus and the dbus-*-devel packages put those files in /usr/include/dbus-1.0/dbus. I solved that by making a symlink
    Code:
    mike@continuity:/usr/include$ ls -ld dbus*
    lrwxrwxrwx 1 root root   13 Jan  7 12:18 dbus -> dbus-1.0/dbus
    drwxr-xr-x 3 root root 4096 Dec 15 21:41 dbus-1.0
    The problem I can't get past is the build fails with

    Code:
    g++: error: ./contrib/lib/liba52.a: No such file or directory
    g++: error: ./contrib/lib/libass.a: No such file or directory
    g++: error: ./contrib/lib/libdca.a: No such file or directory
    g++: error: ./contrib/lib/libdvdnav.a: No such file or directory
    g++: error: ./contrib/lib/libdvdread.a: No such file or directory
    g++: error: ./contrib/lib/libfaac.a: No such file or directory
    g++: error: ./contrib/lib/libfaad.a: No such file or directory
    g++: error: ./contrib/lib/libfontconfig.a: No such file or directory
    g++: error: ./contrib/lib/libfreetype.a: No such file or directory
    g++: error: ./contrib/lib/libmkv.a: No such file or directory
    g++: error: ./contrib/lib/libmpeg2.a: No such file or directory
    g++: error: ./contrib/lib/libmp3lame.a: No such file or directory
    g++: error: ./contrib/lib/libmp4v2.a: No such file or directory
    g++: error: ./contrib/lib/libogg.a: No such file or directory
    g++: error: ./contrib/lib/libsamplerate.a: No such file or directory
    g++: error: ./contrib/lib/libtheora.a: No such file or directory
    g++: error: ./contrib/lib/libvorbis.a: No such file or directory
    g++: error: ./contrib/lib/libvorbisenc.a: No such file or directory
    g++: error: ./contrib/lib/libxml2.a: No such file or directory
    g++: error: ./contrib/lib/libbluray.a: No such file or directory
    make: *** [HandBrakeCLI] Error 1
    All those .a files do exist, but they are in ./contrib/lib64, not ./contrib/lib.

    I tried building the .src.rpm from packman, it fails for what I think is essential the same problem, although the error message is different
    Code:
     /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -la52
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lmkv
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -ldca
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lfaac
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lmp3lame
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lmpeg2
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lvorbis
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lvorbisenc
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lsamplerate
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lmp4v2
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lfaad
    If I look in the rpm build directory, all the .a files for those libraries are in contrib/lib64


    Can anyone explain what why the build process is failing to find these libraries and how to fix it?

    I'm aware there are pre-built rpms from packman, I still want to know how to make it build from source. I suspect the problem may not be Handbrake specific.

  2. #2
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,814
    Blog Entries
    15

    Default Re: Trouble compiling Handbrake on 12.1 64bit

    Quote Originally Posted by mikewillis
    With openSUSE 11.4 32bit I was using a copy of Handbrake I'd built from
    source. Now I've updated to 12.1 64bit the binaries don't work, which
    doesn't surprise me. So I re-compiled. And found the build fails.

    The first point of failure was related to dbus. The build process was
    looking for dbus files in /usr/include/dbus and the dbus-*-devel
    packages put those files in /usr/include/dbus-1.0/dbus. I solved that by
    making a symlink

    Code:
    --------------------
    mike@continuity:/usr/include$ ls -ld dbus*
    lrwxrwxrwx 1 root root 13 Jan 7 12:18 dbus -> dbus-1.0/dbus
    drwxr-xr-x 3 root root 4096 Dec 15 21:41 dbus-1.0

    --------------------

    The problem I can't get past is the build fails with


    Code:
    --------------------
    g++: error: ./contrib/lib/liba52.a: No such file or directory
    g++: error: ./contrib/lib/libass.a: No such file or directory
    g++: error: ./contrib/lib/libdca.a: No such file or directory
    g++: error: ./contrib/lib/libdvdnav.a: No such file or directory
    g++: error: ./contrib/lib/libdvdread.a: No such file or directory
    g++: error: ./contrib/lib/libfaac.a: No such file or directory
    g++: error: ./contrib/lib/libfaad.a: No such file or directory
    g++: error: ./contrib/lib/libfontconfig.a: No such file or directory
    g++: error: ./contrib/lib/libfreetype.a: No such file or directory
    g++: error: ./contrib/lib/libmkv.a: No such file or directory
    g++: error: ./contrib/lib/libmpeg2.a: No such file or directory
    g++: error: ./contrib/lib/libmp3lame.a: No such file or directory
    g++: error: ./contrib/lib/libmp4v2.a: No such file or directory
    g++: error: ./contrib/lib/libogg.a: No such file or directory
    g++: error: ./contrib/lib/libsamplerate.a: No such file or directory
    g++: error: ./contrib/lib/libtheora.a: No such file or directory
    g++: error: ./contrib/lib/libvorbis.a: No such file or directory
    g++: error: ./contrib/lib/libvorbisenc.a: No such file or directory
    g++: error: ./contrib/lib/libxml2.a: No such file or directory
    g++: error: ./contrib/lib/libbluray.a: No such file or directory
    make: *** [HandBrakeCLI] Error 1
    --------------------

    All those .a files do exist, but they are in ./contrib/lib64, not
    /contrib/lib.

    I tried building the .src.rpm from packman, it fails for what I think
    is essential the same problem, although the error message is different

    Code:
    --------------------
    /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -la52 /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -lmkv /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -ldca /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -lfaac /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -lmp3lame /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -lmpeg2 /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -lvorbis /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -lvorbisenc /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -lsamplerate /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find
    -lmp4v2 /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
    cannot find -lfaad --------------------

    If I look in the rpm build directory, all the .a files for those
    libraries are in contrib/lib64


    Can anyone explain what why the build process is failing to find these
    libraries and how to fix it?

    I'm aware there are pre-built rpms from packman, I still want to know
    how to make it build from source. I suspect the problem may not be
    Handbrake specific.

    Hi
    All in the linker flags I would guess, look at the packman spec file,
    you may need to export before/during building;
    http://pmbs.links2linux.org/package/...fa158d090912e5

    --
    Cheers Malcolm °¿° (Linux Counter #276890)
    openSUSE 12.1 (x86_64) Kernel 3.1.0-1.2-desktop
    up 1 day 3:58, 5 users, load average: 0.01, 0.03, 0.05
    CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU


  3. #3
    joergjaeger NNTP User

    Default Re: Trouble compiling Handbrake on 12.1 64bit

    On 1/7/2012 9:06 AM, mikewillis wrote:
    >
    > With openSUSE 11.4 32bit I was using a copy of Handbrake I'd built from
    > source. Now I've updated to 12.1 64bit the binaries don't work, which
    > doesn't surprise me. So I re-compiled. And found the build fails.
    >
    > The first point of failure was related to dbus. The build process was
    > looking for dbus files in /usr/include/dbus and the dbus-*-devel
    > packages put those files in /usr/include/dbus-1.0/dbus. I solved that by
    > making a symlink
    >


    Why do you compile it if its available to download via packman?


    --
    Windows, supports nearly all software, hardware, and viruses.
    Remember the Rauhtage.

  4. #4

    Default Re: Trouble compiling Handbrake on 12.1 64bit

    Quote Originally Posted by malcolmlewis View Post
    Hi
    All in the linker flags I would guess, look at the packman spec file,
    But the packman src.rpm doesn't build either. I got the packman src.rpm hoping that it would build and then I could look at the spec file to try and figure out what it was doing that I wasn't. But since the .src.rpm doesn't build...
    I've tinkered with PKG_CONFIG_PATH and LDFLAGS but to no avail.


    Quote Originally Posted by joergjaeger View Post
    Why do you compile it if its available to download via packman?
    Because sometimes I like try and build stuff from source just to see if I can. If it doesn't work, I like to try and figure out why and learn something from the experience.
    Because one of the environments in which I use Linux is one where I'm not always logged in to the same machine but have the same home directory on all of them mounted from a file server. So if I can build something from source I can put it in the my home directory and then use it on any machine.

  5. #5
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,814
    Blog Entries
    15

    Default Re: Trouble compiling Handbrake on 12.1 64bit

    Quote Originally Posted by mikewillis
    malcolmlewis;2427615 Wrote:
    > Hi
    > All in the linker flags I would guess, look at the packman spec file,
    >


    But the packman src.rpm doesn't build either. I got the packman src.rpm
    hoping that it would build and then I could look at the spec file to try
    and figure out what it was doing that I wasn't. But since the .src.rpm
    doesn't build...
    I've tinkered with PKG_CONFIG_PATH and LDFLAGS but to no avail.


    joergjaeger;2427645 Wrote:
    >
    > Why do you compile it if its available to download via packman?
    >

    Because sometimes I like try and build stuff from source just to see if
    I can. If it doesn't work, I like to try and figure out why and learn
    something from the experience.
    Because one of the environments in which I use Linux is one where I'm
    not always logged in to the same machine but have the same home
    directory on all of them mounted from a file server. So if I can build
    something from source I can put it in the my home directory and then use
    it on any machine.

    Hi
    With the arrival of OBS/PMBS and the cli utility osc, I almost never use
    rpmbuild (which isn't supported anyway) or the configure/make
    routine....

    Maybe check the project configuration and the build log on PMBS to see
    if there are differences in the linking.
    http://pmbs.links2linux.org/project/...ect=Multimedia
    http://pmbs.links2linux.org/package/...=openSUSE_12.1

    --
    Cheers Malcolm °¿° (Linux Counter #276890)
    openSUSE 12.1 (x86_64) Kernel 3.1.0-1.2-desktop
    up 2 days 0:55, 3 users, load average: 0.00, 0.01, 0.05
    CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU


  6. #6

    Default Re: Trouble compiling Handbrake on 12.1 64bit

    Quote Originally Posted by malcolmlewis View Post
    I almost never use rpmbuild (which isn't supported anyway)
    In what context is rpmbuild not supported?


    Quote Originally Posted by malcolmlewis View Post
    Maybe check the project configuration and the build log on PMBS to see
    if there are differences in the linking.
    Project Config for Multimedia - Packman Build Service
    http://pmbs.links2linux.org/package/...=openSUSE_12.1
    I have no idea what the project configuration actually means though.

    I think the problem here is that I don't really understand this stuff. More often than not I can get stuff to build from source, but when I can't get it to work I usually have zero idea why.

    I'd say there are differences in the linking, since the Packman build log indicates that it's putting lib52.a in to contrib/lib where as my build puts it in to contrib/lib64 and then subsequently looks for it in contrib/lib. I've no idea why that happens though.

    I see that on the Packman build libtool is using the argument "-rpath /home/abuild/rpmbuild/BUILD/HandBrake-0.9.5/build/contrib/lib" and on my build it's using the argument "-rpath /tmp/hb-trunk/build/contrib//lib64". So that seems relevant to the problem, but I don't know how exactly or what to do about it. I've found lots of discussions about rpath values and 64bit but don't understand any of it sufficiently to know if it's relevant.


    I tried building an SVN checkout of Handbrake just for the heck of it. It fails in exactly the same way.

  7. #7

    Default Re: Trouble compiling Handbrake on 12.1 64bit

    I've the same problem here. After putzing around with the pacman spec, ./configure, & lib64 paths, I finally just gave up... Compile/make for HB from svn works just fine on Ubuntu. If you figure it out, please post back - I'd be interested to hear what 12.1 does that breaks a mature app's build script !! Good luck.

  8. #8
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,814
    Blog Entries
    15

    Default Re: Trouble compiling Handbrake on 12.1 64bit

    [QUOTE=mikewillis]
    malcolmlewis;2427900 Wrote:
    >
    > I almost never use rpmbuild (which isn't supported anyway)
    >

    In what context is rpmbuild not supported?
    [/CODE]

    AFAIK if a bug is reported from a package built from it, then it would
    probably be classified 'wontfix'.

    Quote Originally Posted by mikewillis
    malcolmlewis;2427900 Wrote:
    >
    > Maybe check the project configuration and the build log on PMBS to see
    > if there are differences in the linking.
    > 'Project Config for Multimedia - Packman Build Service'
    > (http://pmbs.links2linux.org/project/...ect=Multimedia)
    > http://tinyurl.com/6wqbk7u
    >

    I have no idea what the project configuration actually means though.

    I think the problem here is that I don't really understand this stuff.
    More often than not I can get stuff to build from source, but when I
    can't get it to work I usually have zero idea why.

    I'd say there are differences in the linking, since the Packman build
    log indicates that it's putting lib52.a in to contrib/lib where as my
    build puts it in to contrib/lib64 and then subsequently looks for it in
    contrib/lib. I've no idea why that happens though.

    I see that on the Packman build libtool is using the argument "-rpath
    /home/abuild/rpmbuild/BUILD/HandBrake-0.9.5/build/contrib/lib" and on my
    build it's using the argument "-rpath
    /tmp/hb-trunk/build/contrib//lib64". So that seems relevant to the
    problem, but I don't know how exactly or what to do about it. I've found
    lots of discussions about rpath values and 64bit but don't understand
    any of it sufficiently to know if it's relevant.


    I tried building an SVN checkout of Handbrake just for the heck of it.
    It fails in exactly the same way.

    Did you try exporting the SUSE AS NEEDED environment variable before
    building?

    --
    Cheers Malcolm °¿° (Linux Counter #276890)
    openSUSE 12.1 (x86_64) Kernel 3.1.0-1.2-desktop
    up 2 days 3:57, 4 users, load average: 0.01, 0.08, 0.12
    CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU


  9. #9

    Default Re: Trouble compiling Handbrake on 12.1 64bit

    Too bad on the knee-jerk "why compile if you can DL", and the "arrival of OBS/PMBS and the cli utility o/c" perspective. I cannot fathom as why that response would address a failure to build. It is grand that there is a compile-cloud as an alternative, it does not however resolve a failed local build.

    Unless I missed a step, configure/make remain the primary means to BYOA (build your own app), a key tenant to FOSS/linux. If I find some time later this week, I'll try and poke at it again.

  10. #10

    Default Re: Trouble compiling Handbrake on 12.1 64bit

    As in "export SUSE_ASNEEDED=1" ? I can't recall ever using this one to make...

Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •