Find the answer to your Linux question:
Results 1 to 3 of 3
My purpose is to learn how to solve the problem one facing when compiling sources for linux and to compile mkvtoolnix-6.5.0. I have a Zyxel NSA310 with this linux: root-nsa310:~# ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Nov 2013
    Posts
    4

    mkvtoolnix compiling for Zyxel NSA310


    My purpose is to learn how to solve the problem one facing when compiling sources for linux and to compile mkvtoolnix-6.5.0.

    I have a Zyxel NSA310 with this linux:
    root-nsa310:~# uname -a
    Linux nsa310 2.6.31.8 #2 Fri Aug 2 11:21:44 CST 2013 armv5tel GNU/Linux

    At this moment I'm facing this problem:

    | {
    | return FLAC__stream_decoder_new ();
    | ;
    | return 0;
    | }
    configure:6709: result: no
    configure:6798: checking for libEBML headers version >= 1.3.0
    configure:6834: g++ -c conftest.cpp >&5
    conftest.cpp:42:3: error: #error libebml is too old
    configure:6834: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME ""

    ...

    | ;
    | return 0;
    | }
    configure:6866: g++ -c -I/usr/local/include conftest.cpp >&5
    conftest.cpp:42:3: error: #error libebml is too old
    configure:6866: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME ""
    | #define PACKAGE_TARNAME ""
    | #define PACKAGE_VERSION ""
    | #define PACKAGE_STRING ""
    | #define HAVE_OGG_OGG_H 1
    | #define HAVE_VORBIS_CODEC_H 1
    | /* end confdefs.h. */
    |
    | #include <ebml/EbmlVersion.h>
    | #include <ebml/EbmlDummy.h>
    |
    | using namespace libebml;
    |
    | #if LIBEBML_VERSION < ((1 << 16) + (3 << + 0)
    | # error libebml is too old
    | #endif
    |
    | int
    | main ()
    | {
    |
    | ;
    | return 0;
    | }
    configure:6888: result: internal
    configure:7006: checking for libMatroska headers version >= 1.4.1
    configure:7102: result: internal
    configure:7223: checking for ZLIB
    configure:7230: $PKG_CONFIG --exists --print-errors "zlib"

    ...

    configure:8398: $? = 0
    configure:8456: result: yes
    configure:8673: checking for boostlib >= 1.46.0
    configure:8745: g++ -c conftest.cpp >&5
    configure:8745: $? = 0
    configure:8747: result: yes
    configure:8927: checking whether the Boost::System library is available
    configure:8951: g++ -c conftest.cpp >&5
    configure:8951: $? = 0
    configure:8966: result: yes
    configure:9125: error: Could not find a version of the library!



    Excerpt from ./configure:
    --- from line 9115 ---
    if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
    BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break
    else
    link_system="no"
    fi

    done

    fi
    if test "x$ax_lib" = "x"; then
    as_fn_error $? "Could not find a version of the library!" "$LINENO" 5
    fi
    if test "x$link_system" = "xno"; then
    as_fn_error $? "Could not link against $ax_lib !" "$LINENO" 5
    fi
    fi
    --- to line 9130 ---

    Any idea ?
    Attached Files Attached Files

  2. #2
    Just Joined!
    Join Date
    Nov 2013
    Posts
    4
    I find that it works if running:
    rootnsa310:~/mkvtoolnix-6.5.0#./configure --with-boost=/ffp

    Now configure done it's job.

    Further I did:
    rootnsa310:~/mkvtoolnix-6.5.0# /funpkg -i /ffp/funpkg/cache/kylek/ruby-1.9.3-arm-1.txz
    rootnsa310:~/mkvtoolnix-6.5.0# gem install drake
    rootnsa310:~/mkvtoolnix-6.5.0# drake

    and now I have new problems:
    ...

    CXX src/input/r_mpeg_ts.cpp
    In file included from src/common/mpls.h:23:0,
    from src/common/mm_mpls_multi_file_io.h:20,
    from src/input/r_mpeg_ts.cpp:24:
    src/common/timecode.h: In member function 'basic_timecode_c<T> basic_timecode_c<T>::abs() const [with T = long long int]':
    src/input/r_mpeg_ts.cpp:297:110: instantiated from here
    src/common/timecode.h:150:61: error: narrowing conversion of 'std::abs [with _Tp = long long int, typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__v alue, double>::__type = double](((const basic_timecode_c<long long int>*)this)->basic_timecode_c<long long int>::m_timecode)' from '__gnu_cxx::__enable_if<true, double>::__type {aka double}' to 'long long int' inside { } [-fpermissive]
    compilation terminated due to -Wfatal-errors.
    rootnsa310:~/mkvtoolnix-6.5.0#


    The sollution is to edit scr/common/timecode.h (line 150):
    basic_timecode_c<T> abs() const {
    //return basic_timecode_c<T>{std::abs(m_timecode), m_valid};
    return basic_timecode_c<T>{m_timecode<0? m_timecode * -1: m_timecode, m_valid};
    }
    Last edited by adrhc; 11-02-2013 at 12:44 AM.

  3. #3
    Just Joined!
    Join Date
    Nov 2013
    Posts
    4
    After compiling multiple files it stopped here:
    CXX src/common/memory.cpp
    CXX src/common/split_arg_parsing.cpp
    CXX src/common/fourcc.cpp
    In file included from src/common/fourcc.cpp:16:0:
    src/common/bswap.h:20:1: error: expected unqualified-id before '__extension__'
    compilation terminated due to -Wfatal-errors.


    fourcc.cpp:

    #include "common/common_pch.h"

    #include "common/bswap.h"
    #include "common/endian.h"
    #include "common/fourcc.h"

    static uint32_t
    val(uint32_t value,
    fourcc_c::byte_order_t byte_order) {
    return fourcc_c::big_endian == byte_order ? value : bswap_32(value);
    }

    fourcc_c::fourcc_c()
    : m_value{}
    {
    }

    fourcc_c::fourcc_c(uint32_t value,
    fourcc_c::byte_order_t byte_order)
    : m_value{val(value, byte_order)}
    {
    }

    ... end so on




    bswap.h:

    #ifndef MTX_COMMON_BSWAP_H
    #define MTX_COMMON_BSWAP_H

    #include "common/common_pch.h" -> I have same error is I comment this line

    inline uint16_t bswap_16(uint16_t x) {
    return (x >> 8 ) | (x << 8 );
    }

    inline uint32_t bswap_32(uint32_t x) {
    x = ((x << 8 ) & 0xff00ff00) | ((x >> 8 ) & 0x00ff00ff);
    x = (x >> 16) | (x << 16);

    return x;
    }

    inline uint64_t bswap_64(uint64_t x) {
    union {
    uint64_t ll;
    uint32_t l[2];
    } w, r;

    w.ll = x;
    r.l[0] = bswap_32(w.l[1]);
    r.l[1] = bswap_32(w.l[0]);

    return r.ll;
    }

    #endif // MTX_COMMON_BSWAP_H


    common_pch.h

    #ifndef MTX_COMMON_COMMON_GCH_H
    #define MTX_COMMON_COMMON_GCH_H

    #include "common/common.h"

    #endif
    Last edited by adrhc; 11-02-2013 at 11:45 AM.

Posting Permissions

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