GNOME Bugzilla – Bug 552657
Compile GStreamer Core with Intel C Compiler for MID devices.
Last modified: 2012-12-18 16:35:57 UTC
I've tried to compile GStreamer core with ICC for MID device [1] and several warnings on code had been reported. In order to have an enviorenment to reproduce the issue it's required to follow the next steps (tested on Ubuntu Hardy) : 1) Download ICC from [1] 2) Unpack, execute install.sh and answer option 6, chroot install when prompted 3) sudo chroot <installed chroot> 4) apt-get build-dep libgstreamer0.10-0 5) install cvs and other tools 6) cvs checkout 7) ./autgen.sh --prefix=/usr CC=icc 8) add [2] at end of generated config.h to bypass the errors at gst/parser and some others in general like extra ';'. I don't where to put this chunk of exceptions. 9) make I'm going to provide several patches fixing the issue that will require to be reviewed and commited by someone else :). [1] http://www.intel.com/software/products/mid/ [2] #if __INTEL_COMPILER /* Disable ICC's remark #424: extra ";" ignored */ #pragma warning ( disable : 424 ) /* Disable ICC's remark #1572: floating-point equality and inequality * comparisons are unreliable */ #pragma warning ( disable : 1572 ) /* The following warning are disabled in order to compile the parser code * mainlly */ /* Disable ICC's remark #1418: external function definition with no prior * declaration. * This is legal ANSI C code so we disable the remark */ #pragma warning ( disable : 1418 ) /* Disable ICC's remark #1419: external declaration in primary source file * This is legal ANSI C code so we disable the remark */ #pragma warning ( disable : 1419 ) /* Disable ICC's remark #810: conversion from "flex_int32_t={int}" to * "YY_CHAR={unsigned char}" may lose significant bits */ #pragma warning ( disable : 810 ) /* Disable ICC's remark #869: parameter "yyscanner" was never referenced */ #pragma warning ( disable : 869 ) /* Disable ICC's remark #981: operands are evaluated in unspecified order */ #pragma warning ( disable : 981 ) /* Disable ICC's remark #193: zero used for undefined preprocessing identifier */ #pragma warning ( disable : 193 ) #endif
Created attachment 118886 [details] [review] Patch to compile gstreamer/gst This fixes or disable warning on all modules at gstreamer/gst folder.
Created attachment 118956 [details] [review] patches gst_error.m4 to disable some warnings when ICC is used
Created attachment 118957 [details] [review] patches gstreamer/gst
Created attachment 118958 [details] [review] patches gstreamer/libs
Created attachment 118959 [details] [review] patches gstreamer/plugins
Created attachment 118960 [details] [review] patches gstreamer/tests
Created attachment 118961 [details] [review] patches gstreamer/tools
With last provided set of patches the change step 8 on bug description is not required. In order to compile with the specific optimizations for atom run make CFLAGS="-xL"
what's up with this, it all seems fine to commit. I would like to not have to disable those warnings but fix the source code instead.
Unless somebody objects, I'll apply the bits that fix the code in a few days.
Went through some of these, not very interesting for the most part. Committed what was left (apart from some printf things which don't make sense to me). commit 111fcc6e3160389074218d927693536e7d39f92f Author: Josep Torra Valles <n770galaxy@gmail.com> Date: Tue Sep 25 00:55:59 2012 +0100 Make intel compiler happier https://bugzilla.gnome.org/show_bug.cgi?id=552657
Should this bug be closed now ?
Yes, I haven't tried to compile with ICC for long. I'll try again in future boring weekend :)
Maybe better set it as fixed.