CI can build it:
https://ci.linaro.org/view/odp-ci/job/odp-api-check/

I also can compile it with:
./bootstrap; ./configure --enable-test-vald --enable-test-perf --enable-test-cpp --enable-debug CFLAGS="-O0 -g" --enable-debug --enable-debug-print; make

gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)

Do you have different version of gcc?

Maxim.


On 12/09/2015 03:13, Bill Fischofer wrote:
Well, I've verified that if you do similar mods to test/validation/pktio/pktio.c and test/validation/time/time.c then all is good, however what this means is that we've just broken ODP API portability because we now require that ODP applications include this #define when compiling for linux-generic. That's bad.

I tried putting the #define into platform/linux-generic/include/odp/plat/time_types.h since that's where odp_time_t is defined, but C doesn't like that. As this is an artifact of the linux-generic implementation of the odp_time APIs whatever magic needs to happen strictly within linux-generic and cannot spill over to the validation tests or other ODP applications.

On Tue, Dec 8, 2015 at 5:23 PM, Mike Holmes <mike.hol...@linaro.org <mailto:mike.hol...@linaro.org>> wrote:

    Yep, I just compiled what I had, but it is the same root cause,
    just needs to be told to allow POSIX in that SRC.

    Maxim do you just want to fix in your morning, I dont have time
    now tonight so dont wait for me but you could add me as Suggested-by

    On 8 December 2015 at 18:17, Bill Fischofer
    <bill.fischo...@linaro.org <mailto:bill.fischo...@linaro.org>> wrote:

        That helps but it looks incomplete.  With that patch applied
        ODP compiles but the CUnit tests fail:

        Making all in pktio
        make[3]: Entering directory
        '/home/bill/linaro/api-next/test/validation/pktio'
          CC       pktio.lo
        pktio.c: In function 'queue_deq_wait_time':
        pktio.c:339:13: error: storage size of 'wait' isn't known
          odp_time_t wait, end;
                     ^
        pktio.c:339:19: error: storage size of 'end' isn't known
          odp_time_t wait, end;
                           ^
        pktio.c:342:2: error: invalid use of incomplete typedef
        'odp_time_t'
          wait = odp_time_local_from_ns(ns);
          ^
        pktio.c:343:2: error: invalid use of incomplete typedef
        'odp_time_t'
          end = odp_time_sum(odp_time_local(), wait);
          ^
        pktio.c:343:21: error: type of formal parameter 1 is incomplete
          end = odp_time_sum(odp_time_local(), wait);
                             ^
        pktio.c:343:39: error: type of formal parameter 2 is incomplete
          end = odp_time_sum(odp_time_local(), wait);
                                               ^
        pktio.c:348:2: error: invalid use of incomplete typedef
        'odp_time_t'
          } while (odp_time_cmp(end, odp_time_local()) > 0);
          ^
        pktio.c:348:24: error: type of formal parameter 1 is incomplete
          } while (odp_time_cmp(end, odp_time_local()) > 0);
                                ^
        pktio.c:348:29: error: type of formal parameter 2 is incomplete
          } while (odp_time_cmp(end, odp_time_local()) > 0);
                                     ^
        pktio.c:339:19: error: unused variable 'end'
        [-Werror=unused-variable]
          odp_time_t wait, end;
                           ^
        pktio.c:339:13: error: unused variable 'wait'
        [-Werror=unused-variable]
          odp_time_t wait, end;
                     ^
        pktio.c: In function 'wait_for_packet':
        pktio.c:356:13: error: storage size of 'wait_time' isn't known
          odp_time_t wait_time, end;
                     ^
        pktio.c:356:24: error: storage size of 'end' isn't known
          odp_time_t wait_time, end;
                                ^
        pktio.c:362:2: error: invalid use of incomplete typedef
        'odp_time_t'
          wait_time = odp_time_local_from_ns(ns);
          ^
        pktio.c:363:2: error: invalid use of incomplete typedef
        'odp_time_t'
          end = odp_time_sum(odp_time_local(), wait_time);
          ^
        pktio.c:363:21: error: type of formal parameter 1 is incomplete
          end = odp_time_sum(odp_time_local(), wait_time);
                             ^
        pktio.c:363:39: error: type of formal parameter 2 is incomplete
          end = odp_time_sum(odp_time_local(), wait_time);
                                               ^
        pktio.c:389:2: error: invalid use of incomplete typedef
        'odp_time_t'
          } while (odp_time_cmp(end, odp_time_local()) > 0);
          ^
        pktio.c:389:24: error: type of formal parameter 1 is incomplete
          } while (odp_time_cmp(end, odp_time_local()) > 0);
                                ^
        pktio.c:389:29: error: type of formal parameter 2 is incomplete
          } while (odp_time_cmp(end, odp_time_local()) > 0);
                                     ^
        pktio.c:356:24: error: unused variable 'end'
        [-Werror=unused-variable]
          odp_time_t wait_time, end;
                                ^
        pktio.c:356:13: error: unused variable 'wait_time'
        [-Werror=unused-variable]
          odp_time_t wait_time, end;
                     ^
        cc1: all warnings being treated as errors
        Makefile:504: recipe for target 'pktio.lo' failed
        make[3]: *** [pktio.lo] Error 1
        make[3]: Leaving directory
        '/home/bill/linaro/api-next/test/validation/pktio'
        Makefile:417: recipe for target 'all-recursive' failed
        make[2]: *** [all-recursive] Error 1


        On Tue, Dec 8, 2015 at 5:12 PM, Mike Holmes
        <mike.hol...@linaro.org <mailto:mike.hol...@linaro.org>> wrote:

            Patch sent that works for me, it depends on the compiler
            in use and the c99 vs posix standard I think

            On 8 December 2015 at 17:14, Bill Fischofer
            <bill.fischo...@linaro.org
            <mailto:bill.fischo...@linaro.org>> wrote:

                git bisect shows:

                3164ccfe7e6dc548852b8f6f681069cd6d524bfc is the first
                bad commit
                commit 3164ccfe7e6dc548852b8f6f681069cd6d524bfc
                Author: Ivan Khoronzhuk <ivan.khoronz...@linaro.org
                <mailto:ivan.khoronz...@linaro.org>>
                Date:   Fri Dec 4 19:51:29 2015 +0200

                    linux-generic: odp_time: don't use cpu cycle API
                to get time
                    The linux-generic time API implementation
                shouldn't depend on cpu
                    cycle API wich is not stable enough to measure
                time period due to
                    dynamic frequency scaling.
                    Reviewed-by: Petri Savolainen
                <petri.savolai...@nokia.com
                <mailto:petri.savolai...@nokia.com>>
                    Signed-off-by: Ivan Khoronzhuk
                <ivan.khoronz...@linaro.org
                <mailto:ivan.khoronz...@linaro.org>>
                    Signed-off-by: Maxim Uvarov
                <maxim.uva...@linaro.org <mailto:maxim.uva...@linaro.org>>

                :040000 040000
                5b252b56eaa4d7c8df9f4583d0b6e7b8db9a9fb9
                d331e32ad2a37014cdb8133a917cd660f52b6f7c Mplatform


                On Tue, Dec 8, 2015 at 3:55 PM, Bill Fischofer
                <bill.fischo...@linaro.org
                <mailto:bill.fischo...@linaro.org>> wrote:

                    Trying to compile a fresh clone of api-next I'm
                    seeing the following:

                      CC odp_schedule.lo
                    odp_schedule.c: In function 'schedule_loop':
                    odp_schedule.c:589:13: error: storage size of
                    'next' isn't known
                    odp_time_t next, wtime;
                     ^
                    odp_schedule.c:589:19: error: storage size of
                    'wtime' isn't known
                    odp_time_t next, wtime;
                           ^
                    odp_schedule.c:606:4: error: invalid use of
                    incomplete typedef 'odp_time_t'
                        wtime = odp_time_local_from_ns(wait);
                        ^
                    odp_schedule.c:607:4: error: invalid use of
                    incomplete typedef 'odp_time_t'
                        next = odp_time_sum(odp_time_local(), wtime);
                        ^
                    odp_schedule.c:607:24: error: type of formal
                    parameter 1 is incomplete
                        next = odp_time_sum(odp_time_local(), wtime);
                                ^
                    odp_schedule.c:607:42: error: type of formal
                    parameter 2 is incomplete
                        next = odp_time_sum(odp_time_local(), wtime);
                      ^
                    odp_schedule.c:612:3: error: invalid use of
                    incomplete typedef 'odp_time_t'
                       if (odp_time_cmp(next, odp_time_local()) < 0)
                       ^
                    odp_schedule.c:612:20: error: type of formal
                    parameter 1 is incomplete
                       if (odp_time_cmp(next, odp_time_local()) < 0)
                            ^
                    odp_schedule.c:612:26: error: type of formal
                    parameter 2 is incomplete
                       if (odp_time_cmp(next, odp_time_local()) < 0)
                    ^
                    odp_schedule.c:589:19: error: unused variable
                    'wtime' [-Werror=unused-variable]
                    odp_time_t next, wtime;
                           ^
                    odp_schedule.c:589:13: error: unused variable
                    'next' [-Werror=unused-variable]
                    odp_time_t next, wtime;
                     ^
                    cc1: all warnings being treated as errors
                    Makefile:757: recipe for target 'odp_schedule.lo'
                    failed





-- Mike Holmes
            Technical Manager - Linaro Networking Group
            Linaro.org <http://www.linaro.org/>***│ *Open source
            software for ARM SoCs





-- Mike Holmes
    Technical Manager - Linaro Networking Group
    Linaro.org <http://www.linaro.org/>***│ *Open source software for
    ARM SoCs



_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to