yes, I'm installing 15.10 to VM to check that odp works there.

Also it looks like in CI we need different containers to check most of common distributive versions.

Maxim.

On 12/09/2015 15:00, Bill Fischofer wrote:
I'm running vanilla Ubuntu 15.04 at current service.  gcc shows:

bill@Ubuntu15:~/linaro/timefix$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.9.2-10ubuntu13' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.2 (Ubuntu 4.9.2-10ubuntu13)

I'm not sure why that libc6-dev change was made. That seems a significant breakage to one of the Linux APIs to slip in to a minor service update.

On Wed, Dec 9, 2015 at 3:50 AM, Maxim Uvarov <maxim.uva...@linaro.org <mailto:maxim.uva...@linaro.org>> wrote:

    So the problem appears only in libc6-dev 2.21.  No problem with
    libc6-dev 2.19

    Diff is:
    /usr/include/time.h
    @@ -108,7 +108,7 @@ typedef __timer_t timer_t;

     #if (!defined __timespec_defined                    \
          && ((defined _TIME_H                        \
    -      && (defined __USE_POSIX199309 || defined __USE_MISC        \
    +      && (defined __USE_POSIX199309     \
               || defined __USE_ISOC11))                    \
          || defined __need_timespec))
     # define __timespec_defined    1

    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>
        <mailto: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>
        <mailto: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> <mailto: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>
                    <mailto: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>
                        <mailto: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>
                        <mailto:petri.savolai...@nokia.com
        <mailto:petri.savolai...@nokia.com>>>
                            Signed-off-by: Ivan Khoronzhuk
                        <ivan.khoronz...@linaro.org
        <mailto:ivan.khoronz...@linaro.org>
                        <mailto:ivan.khoronz...@linaro.org
        <mailto:ivan.khoronz...@linaro.org>>>
                            Signed-off-by: Maxim Uvarov
                        <maxim.uva...@linaro.org
        <mailto:maxim.uva...@linaro.org>
        <mailto: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>
                        <mailto: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