Skip to content

MacPython linux build failing #34114

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
TomAugspurger opened this issue May 11, 2020 · 21 comments · Fixed by #34409 or #34416
Closed

MacPython linux build failing #34114

TomAugspurger opened this issue May 11, 2020 · 21 comments · Fixed by #34409 or #34416
Labels
32bit 32-bit systems Blocker Blocking issue or pull request for an upcoming release Build Library building on various platforms

Comments

@TomAugspurger
Copy link
Contributor

TomAugspurger commented May 11, 2020

There are build failures with the manylinux1 32-bit docker image.

gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DNPY_NO_DEPRECATED_API=0 -Ipandas/_libs/tslibs -I./pandas/_libs/tslibs -I/opt/python/cp38-cp38/lib/python3.8/site-packages/numpy/core/include -I/opt/python/cp38-cp38/include/python3.8 -c pandas/_libs/tslibs/period.c -o build/temp.linux-x86_64-3.8/pandas/_libs/tslibs/period.o
pandas/_libs/tslibs/period.c: In function ‘__pyx_f_6pandas_5_libs_6tslibs_6period_pqyear’:
pandas/_libs/tslibs/period.c:12464:3: warning: ‘__pyx_v_year’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   return __pyx_r;
   ^
pandas/_libs/tslibs/period.c: In function ‘__pyx_f_6pandas_5_libs_6tslibs_6period_pquarter’:
pandas/_libs/tslibs/period.c:12512:3: warning: ‘__pyx_v_quarter’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   return __pyx_r;


building 'pandas._libs.hashtable' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wl,-strip-all -I/usr/local/include -fPIC -DNPY_NO_DEPRECATED_API=0 -Ipandas/_libs/src/klib -I/opt/python/cp38-cp38/lib/python3.8/site-packages/numpy/core/include -I/opt/python/cp38-cp38/include/python3.8 -c pandas/_libs/hashtable.c -o build/temp.linux-i686-3.8/pandas/_libs/hashtable.o -Werror
pandas/_libs/hashtable.c: In function ‘__pyx_f_6pandas_5_libs_9hashtable_value_count_float64’:
pandas/_libs/hashtable.c:27378:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
pandas/_libs/hashtable.c:29050:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
                                         ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_8duplicated_uint64’:
pandas/_libs/hashtable.c:29800:38: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
             __pyx_t_10 = ((__pyx_v_k != __pyx_v_table->n_buckets) != 0);
                                      ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_10ismember_uint64’:
pandas/_libs/hashtable.c:30271:177: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
           *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_result.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_result.diminfo[0].strides) = (__pyx_v_k != __pyx_v_table->n_buckets);
                                                                                                                                                                                 ^
pandas/_libs/hashtable.c: In function ‘__pyx_f_6pandas_5_libs_9hashtable_value_count_object’:
pandas/_libs/hashtable.c:30731:33: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
   for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
                                 ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_14duplicated_object’:
pandas/_libs/hashtable.c:31389:31: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
       __pyx_t_9 = ((__pyx_v_k != __pyx_v_table->n_buckets) != 0);
                               ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_16ismember_object’:
pandas/_libs/hashtable.c:31825:171: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_result.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_result.diminfo[0].strides) = (__pyx_v_k != __pyx_v_table->n_buckets);
                                                                                                                                                                           ^
pandas/_libs/hashtable.c: In function ‘__pyx_f_6pandas_5_libs_9hashtable_value_count_int64’:
pandas/_libs/hashtable.c:32258:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
                                       ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_20duplicated_int64’:
pandas/_libs/hashtable.c:33007:38: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
             __pyx_t_10 = ((__pyx_v_k != __pyx_v_table->n_buckets) != 0);
                                      ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_22ismember_int64’:
pandas/_libs/hashtable.c:33478:177: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
           *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_result.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_result.diminfo[0].strides) = (__pyx_v_k != __pyx_v_table->n_buckets);
                                                                                                                                                                                 ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_24mode_float64’:
pandas/_libs/hashtable.c:33800:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
                                         ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_26mode_int64’:
pandas/_libs/hashtable.c:34225:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
                                         ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_28mode_uint64’:
pandas/_libs/hashtable.c:34650:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
                                         ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_30mode_object’:
pandas/_libs/hashtable.c:35077:35: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
   for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
                                   ^
cc1: all warnings being treated as errors

To reproduce

FROM quay.io/pypa/manylinux1_i686:latest

RUN git clone --depth=1 https://github.com/pandas-dev/pandas \
 && cd pandas \
 && /opt/python/cp38-cp38/bin/python -m pip install numpy cython python-dateutil pytz
WORKDIR pandas

RUN /opt/python/cp38-cp38/bin/python setup.py build_ext -i

I've uploaded the generated hashtable.c file here.


#34409 fixed the following issues.

https://dev.azure.com/pandas-dev/pandas-wheels/_build/results?buildId=35250&view=logs&j=e9afaa34-1a0f-534e-78fc-fae528ccd915&t=4685e914-c192-594f-c25f-e6cef98b7ba4

gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wl,-strip-all -I/usr/local/include -fPIC -DNPY_NO_DEPRECATED_API=0 -Ipandas/_libs/tslibs -I./pandas/_libs/tslibs -I/opt/python/cp38-cp38/lib/python3.8/site-packages/numpy/core/include -I/opt/python/cp38-cp38/include/python3.8 -c pandas/_libs/tslibs/period.c -o build/temp.linux-x86_64-3.8/pandas/_libs/tslibs/period.o -Werror
pandas/_libs/tslibs/period.c: In function ‘__pyx_f_6pandas_5_libs_6tslibs_6period_pqyear’:
pandas/_libs/tslibs/period.c:12479:3: error: ‘__pyx_v_year’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   return __pyx_r;
   ^
pandas/_libs/tslibs/period.c: In function ‘__pyx_f_6pandas_5_libs_6tslibs_6period_pquarter’:
pandas/_libs/tslibs/period.c:12527:3: error: ‘__pyx_v_quarter’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   return __pyx_r;
   ^
cc1: all warnings being treated as errors
warning: pandas/_libs/groupby.pyx:1101:26: Unreachable code

https://dev.azure.com/pandas-dev/pandas-wheels/_build/results?buildId=34768&view=results from May 3rd may be the first one with this warning. https://dev.azure.com/pandas-dev/pandas-wheels/_build/results?buildId=34727&view=results from May 2nd built successfully.

@TomAugspurger TomAugspurger added Bug Needs Triage Issue that has not been reviewed by a pandas team member labels May 11, 2020
@TomAugspurger
Copy link
Contributor Author

These are the commits to pandas from the 1st to the 4th

a3477c769b BUG: List indexer on PeriodIndex doesn't coerce strings (#30515) (#30515)
dd84044528 BUG: Series construction with EA dtype and index but no data fails (#33846)
14eda58658 REF: move bits of offsets to liboffsets, de-privatize (#33936)
862db64212 BUG: Fix small memory access errors in ujson objToJSON.c (#33929)
7aa710a4d4 TYP: disallow decorator preserves function signature (#33521)
fd3e5a188f ENH: general concat with ExtensionArrays through find_common_type (#33607)
0bb677e2ef PERF: Datetimelike lookups (#33933)
f76c4c2eef TST: stricter xfails, catch/suppress warnings (#33882)
551c515db7 TST/REF: Move static methods out of consistency classes (#33927)
75a44239b9 TST: tighten xfails in test_strings (#33932)
07402f6c35 PERF: use fastpaths for is_period_dtype checks (#33937)
911e19bf08 [#33770] bug fix to prevent ExtensionArrays from crashing Series.__repr__() (#33771)
29c820fad0 BUG: DTI/TDI intersection result names (#33904)
81093ba821 BLD: bump numpy min version to 1.15.4 (#33729)
b62a3a4f5f CLN: address TODOs (#33886)
be58cd9d8a REF: implement _unbox to de-duplicate unwrapping (#33906)
d149f4109d Create numba helper function for jitting + generating cache key (#33910)
592db7df8d 30999 fix bare pytest raises (#33925)
32dd55cb83 REGR: fix DataFrame reduction with EA columns and numeric_only=True (#33761)
b7f061c3d2 BUG: can't concatenate DataFrame with Series with duplicate keys (#33805)

@TomAugspurger
Copy link
Contributor Author

@jbrockmendel or @WillAyd do you haev any guesses on this? Looking at tslibs/period.pyx,

@cython.cdivision
cdef int pqyear(int64_t ordinal, int freq):
    cdef:
        int year, quarter
    get_yq(ordinal, freq, &quarter, &year)
    return year

Do you know where year is coming from?

@jbrockmendel
Copy link
Member

get_yq calls quarter[0] = DtoQ_yq(unix_date, &af_info, year) and in DtoQ_yq year is set with year[0] = dts.year

I'll look at this more closely after some caffeine

@WillAyd
Copy link
Member

WillAyd commented May 12, 2020 via email

@WillAyd
Copy link
Member

WillAyd commented May 12, 2020 via email

@TomAugspurger TomAugspurger added Build Library building on various platforms Blocker Blocking issue or pull request for an upcoming release and removed Bug Needs Triage Issue that has not been reviewed by a pandas team member labels May 15, 2020
@hroff-1902
Copy link

Why does pqyear() in tslibs/period.pyx has the @cython.cdivision directive applied, while nearest pquarter(), which accepts same parameters, calls get_yq() with same parameters and only returns another value, does not have this directive?

@jbrockmendel
Copy link
Member

Why does pqyear() in tslibs/period.pyx has the @cython.cdivision directive applied

Best guess is thats leftover from a time when division was actually done within pqyear

@hroff-1902
Copy link

Cannot this cause this problem, I mean?

@jbrockmendel
Copy link
Member

Cannot this cause this problem, I mean?

I don't see how, but you're welcome to try removing it and see if it helps.

@hroff-1902
Copy link

hroff-1902 commented May 15, 2020

Have no clue in the meantime how to do it with all those azure links at the top, sorry... Just dropped the idea...

@TomAugspurger
Copy link
Contributor Author

TomAugspurger commented May 26, 2020

FWIW this is reproducible in the manylinux1_x86_64 docker file.

FROM quay.io/pypa/manylinux1_x86_64:latest

RUN git clone --depth=1 https://github.com/pandas-dev/pandas \
 && cd pandas \
 && /opt/python/cp38-cp38/bin/python -m pip install numpy cython python-dateutil pytz
WORKDIR pandas

RUN /opt/python/cp38-cp38/bin/python setup.py build_ext -i

I don't really see any differences in the generated C code. I'll try to bisect the changes to see which commit this started failing on.

@TomAugspurger
Copy link
Contributor Author

Pretty obvious in retrospect: aee8e11 is the first "bad" commit, which elevated warnings to errors. That doesn't help us identify why it's only failing with this version of gcc / whatever else matters.

@TomAugspurger
Copy link
Contributor Author

There are some other warnings

pandas/_libs/hashtable.c: In function ‘__pyx_f_6pandas_5_libs_9hashtable_value_count_float64’:
pandas/_libs/hashtable.c:27378:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
                                         ^
pandas/_libs/hashtable.c:29050:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
                                         ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_8duplicated_uint64’:
pandas/_libs/hashtable.c:29800:38: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
             __pyx_t_10 = ((__pyx_v_k != __pyx_v_table->n_buckets) != 0);
                                      ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_10ismember_uint64’:
pandas/_libs/hashtable.c:30271:177: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
           *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_result.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_result.diminfo[0].strides) = (__pyx_v_k != __pyx_v_table->n_buckets);
                                                                                                                                                                                 ^
pandas/_libs/hashtable.c: In function ‘__pyx_f_6pandas_5_libs_9hashtable_value_count_object’:
pandas/_libs/hashtable.c:30731:33: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
   for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
                                 ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_14duplicated_object’:
pandas/_libs/hashtable.c:31389:31: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
       __pyx_t_9 = ((__pyx_v_k != __pyx_v_table->n_buckets) != 0);
                               ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_16ismember_object’:
pandas/_libs/hashtable.c:31825:171: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_result.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_result.diminfo[0].strides) = (__pyx_v_k != __pyx_v_table->n_buckets);
                                                                                                                                                                           ^
pandas/_libs/hashtable.c: In function ‘__pyx_f_6pandas_5_libs_9hashtable_value_count_int64’:
pandas/_libs/hashtable.c:32258:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
                                       ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_20duplicated_int64’:
pandas/_libs/hashtable.c:33007:38: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
             __pyx_t_10 = ((__pyx_v_k != __pyx_v_table->n_buckets) != 0);
                                      ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_22ismember_int64’:
pandas/_libs/hashtable.c:33478:177: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
           *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint8_t *, __pyx_pybuffernd_result.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_result.diminfo[0].strides) = (__pyx_v_k != __pyx_v_table->n_buckets);
                                                                                                                                                                                 ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_24mode_float64’:
pandas/_libs/hashtable.c:33800:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
                                         ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_26mode_int64’:
pandas/_libs/hashtable.c:34225:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
                                         ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_28mode_uint64’:
pandas/_libs/hashtable.c:34650:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
         for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
                                         ^
pandas/_libs/hashtable.c: In function ‘__pyx_pf_6pandas_5_libs_9hashtable_30mode_object’:
pandas/_libs/hashtable.c:35077:35: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
   for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {

@WillAyd
Copy link
Member

WillAyd commented May 27, 2020

Do you know what Cython version that is using? What's strange to me is that taking say (__pyx_v_k != __pyx_v_table->n_buckets) as an example I'm fairly certain these map back to a comparison of if k != table.n_buckets: in the hash table file

k is typed to khiter_t which is typedef'ed from khint_t which is typedef'ed from uint32_t. table.n_buckets I believe is of type khint_t, so not immediately obvious to me where this issue would arise

@WillAyd
Copy link
Member

WillAyd commented May 27, 2020

@TomAugspurger do you know how to get the generated hashtable.c file out of the container? Would be helpful to review that alone

@TomAugspurger
Copy link
Contributor Author

TomAugspurger commented May 27, 2020

Repurposing this issue for the 32-bit specific build issues now. I've updated the original post.

@WillAyd I think you're correct in #34114 (comment). This is from the

for k in range(table.n_buckets)

and

if k != table.n_buckets

I've uploaded the generated hashtable.c file to https://gist.github.com/TomAugspurger/1f60b2059a103e6d36c02a0d07200e59

@TomAugspurger TomAugspurger reopened this May 27, 2020
@TomAugspurger
Copy link
Contributor Author

In _libs/src/khash/khash.h we have

	typedef struct {													\
		khint_t n_buckets, size, n_occupied, upper_bound;				\
...	

So n_buckets is khint_t, which is

typedef khint_t khiter_t;

In hashtable_func_helper.pxi.in, we have

        Py_ssize_t k

So is khint_t unisgned and Py_ssize_t is signed?

@TomAugspurger
Copy link
Contributor Author

TomAugspurger commented May 27, 2020

May have fixed the hashtable issues by defining k as khiter_t. Some more failures after that.

IIUC, we have

int _tokenize_helper(parser_t *self, size_t nrows, int all) {
    ...
    int64_t start_lines = self->lines;
 

but

typedef struct parser_t {
...
    uint64_t lines;         // Number of (good) lines observed
...
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DNPY_NO_DEPRECATED_API=0 -Ipandas/_libs -I./pandas/_libs/tslibs -I./pandas/_libs -Ipandas/_libs/src/klib -I/opt/python/cp38-cp38/lib/python3.8/site-packages/numpy/core/include -I/opt/python/cp38-cp38/include/python3.8 -c pandas/_libs/src/parser/tokenizer.c -o build/temp.linux-i686-3.8/pandas/_libs/src/parser/tokenizer.o -Werror
pandas/_libs/src/parser/tokenizer.c: In function ‘tokenize_bytes’:
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:760:21: note: in expansion of macro ‘END_LINE’
                     END_LINE();
                     ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:775:21: note: in expansion of macro ‘END_LINE’
                     END_LINE();
                     ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:798:21: note: in expansion of macro ‘END_LINE’
                     END_LINE();
                     ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:840:21: note: in expansion of macro ‘END_LINE’
                     END_LINE();
                     ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:870:29: note: in expansion of macro ‘END_LINE’
                             END_LINE();
                             ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:879:25: note: in expansion of macro ‘END_LINE’
                         END_LINE();
                         ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:916:21: note: in expansion of macro ‘END_LINE’
                     END_LINE();
                     ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:964:21: note: in expansion of macro ‘END_LINE’
                     END_LINE();
                     ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:1031:21: note: in expansion of macro ‘END_LINE’
                     END_LINE();
                     ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:1049:21: note: in expansion of macro ‘END_LINE’
                     END_LINE();
                     ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:648:20: note: in expansion of macro ‘END_LINE_STATE’
 #define END_LINE() END_LINE_STATE(START_RECORD)
                    ^
pandas/_libs/src/parser/tokenizer.c:1059:21: note: in expansion of macro ‘END_LINE’
                     END_LINE();
                     ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:1062:25: note: in expansion of macro ‘END_LINE_STATE’
                         END_LINE_STATE(EAT_WHITESPACE);
                         ^
pandas/_libs/src/parser/tokenizer.c:644:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:1065:25: note: in expansion of macro ‘END_LINE_AND_FIELD_STATE’
                         END_LINE_AND_FIELD_STATE(START_FIELD);
                         ^
pandas/_libs/src/parser/tokenizer.c:629:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (line_limit > 0 && self->lines == start_lines + line_limit) { \
                                       ^
pandas/_libs/src/parser/tokenizer.c:1076:25: note: in expansion of macro ‘END_LINE_STATE’
                         END_LINE_STATE(START_RECORD);
                         ^
pandas/_libs/src/parser/tokenizer.c:1093:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
                             self->lines == start_lines + line_limit) {
                                         ^

@WillAyd
Copy link
Member

WillAyd commented May 27, 2020 via email

@TomAugspurger
Copy link
Contributor Author

Another one :)

pandas/_libs/tslibs/period.c:674:9: error: this decimal constant is unsigned only in ISO C90 [-Werror]
         {0,  1,   60,  3600,  3600000,  3600000000,  3600000000000},
         ^
pandas/_libs/tslibs/period.c:1358:3: error: this decimal constant is unsigned only in ISO C90 [-Werror]
   __pyx_e_6pandas_5_libs_6tslibs_6period_INT32_MIN = -2147483648L
   ^

@WillAyd
Copy link
Member

WillAyd commented May 27, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
32bit 32-bit systems Blocker Blocking issue or pull request for an upcoming release Build Library building on various platforms
Projects
None yet
4 participants