Menu

#910 Mediainfo fail build for s390 arch

Crash
pending
s390 (1)
5
2015-04-14
2015-04-13
Vascom
No

Hi. I have bugreport about Mediainfo fail build for s390 arch.
http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1776664

"Build fails due to ambiguous 'ToZtring(size_t)' at CommandLine_Parser.cpp:215:151.

This seems to be caused by missing size_t conversion in Ztring in libzen(Ztring& Ztring::From_Number (const size_t I, int8u Radix)), as it's build conditionally. Making it unconditional seems to fix this issue. I have build mediainfo with patched libzen on x86_64 and s390(x) successfully, but haven't done any further testing."

Please see more info at https://bugzilla.redhat.com/show_bug.cgi?id=1211277

Discussion

  • Jerome Martinez

    Jerome Martinez - 2015-04-14

    ha, size_t vs long is back...

    Please try this patch:

    Index: Source/ZenLib/Conf.h
    ===================================================================
    --- Source/ZenLib/Conf.h    (revision 508)
    +++ Source/ZenLib/Conf.h    (working copy)
    @@ -172,7 +172,7 @@
     #endif
     //---------------------------------------------------------------------------
     //If we need size_t specific integer conversion
    -#if !defined(SIZE_T_IS_LONG) && (defined(__LP64__) || defined(MACOSX))
    +#if !defined(SIZE_T_IS_LONG) && (defined(__LP64__) || defined(MACOSX) || defined(__s390__) || defined(__s390x__))
         #define SIZE_T_IS_LONG
     #endif
    
     
  • Jerome Martinez

    Jerome Martinez - 2015-04-14
    • status: open --> pending
    • assigned_to: Jerome Martinez
     
  • Jerome Martinez

    Jerome Martinez - 2015-04-14

    Are you using the last version of libzen (v0.4.31)? Actually the patch from Jakub is already partially in the latest version and the issue should be catched by CMake script.

     
    • Jerome Martinez

      Jerome Martinez - 2015-04-14

      I reply to myself: actually the patch from Jakub removes the test, I don't understand the reason.
      Does SIZE_T_IS_NOT_LONG defined on s390?

      It may be better to play with Conf.h line 172 and defined(s390) stuff so I could patch upstream (the patch from Jakub is NOK because it breaks some other builds)

       
    • Jerome Martinez

      Jerome Martinez - 2015-04-14

      If the opposite is needed, this is weird, the script is wrong, a quic fix would be:

      Index: Source/ZenLib/Conf.h
      ===================================================================
      --- Source/ZenLib/Conf.h    (revision 508)
      +++ Source/ZenLib/Conf.h    (working copy)
      @@ -172,6 +172,9 @@
       #endif
       //---------------------------------------------------------------------------
       //If we need size_t specific integer conversion
      +#if defined(SIZE_T_IS_LONG) && (defined(__s390__) || defined(__s390x__))
      
      +    #undef SIZE_T_IS_LONG // TODO: looks like there is a problem in the configure script, check the reason and patch configure script then remove this line
      +#endif
       #if !defined(SIZE_T_IS_LONG) && (defined(__LP64__) || defined(MACOSX))
           #define SIZE_T_IS_LONG
       #endif
      
       
  • Vascom

    Vascom - 2015-04-14

    Yes, used libzen 0.4.31.

    I am hope you can contact directly with Jakub because I don't have access to build patched versions for this arch.

     
    • Jerome Martinez

      Jerome Martinez - 2015-04-14

      I don't have access to any s390 machine too :(
      I am interested in having the maximum count of supported archs so I hope we can check that together with Jakub and find a solution.

       

Log in to post a comment.

MongoDB Logo MongoDB