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>
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>> 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