Closed truckershitch closed 9 years ago
I see this in the output:
cc1plus: some warnings being treated as errors
So I guess the fix from https://github.com/mozilla-services/syncserver/commit/1f32e713502f96ab7f9c1cec8e788ccc4fb72e12 is not taking effect for some reason. Are you e.g. passing any custom $CFLAGS
into the build process yourself, or is this just with a vanilla make build
?
This is a vanilla 'make build'. I am not passing in any custom flags that I'm aware of. I just did a fresh 'git pull' and ran 'make build' immediately afterward.
Can you please grab the entire output of make build
from start to finish (rather than just the part about umemcached) and put it in a pastebin on http://pastebin.mozilla.org/ for me to review? There may be some clues earlier in the build about what's going on here.
No problem. Here is the whole log: http://pastebin.mozilla.org/8001719
Please try changing the CFLAGS
declaration in the makefile from this:
CFLAGS = -Wno-error
To this:
CFLAGS = "-Wno-error -Wno-error=format-security"
Ok, that seems to have worked. Log is here: http://pastebin.mozilla.org/8003436
I will report back if I have any more errors. Thanks!
Great, I committed this fix in https://github.com/mozilla-services/syncserver/commit/043fa9e6510d58d012c4f33b307916677f3d7fcc. Thanks for taking to time to work through this.
I upgraded to Fedora 21 a few days ago and tried to build syncserver. There seems to be a problem with umemcache:
...
Running setup.py install for umemcache building 'umemcache' extension gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -Wno-error -fPIC -DWIN32_LEAN_AND_MEAN -I./lib/ -I/usr/include/python2.7 -c ./python/umemcache.cpp -o build/temp.linux-x86_64-2.7/./python/umemcache.o ./python/umemcache.cpp: In function ‘int Clientinit(PyClient, PyObject, PyObject)’: ./python/umemcache.cpp:255:60: warning: deprecated conversion from string constant to ‘char_’ [-Wwrite-strings] static char _kwlist[] = {"address", "max_itemsize", NULL}; ^ ./python/umemcache.cpp:255:60: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] ./python/umemcache.cpp: In function ‘PyObject* Clientincr(PyClient, PyObject_)’: ./python/umemcache.cpp:822:62: error: format not a string literal and no format arguments [-Werror=format-security] return PyErr_Format(umemcache_MemcachedError, pResult); ^ ./python/umemcache.cpp: In function ‘PyObject* Clientdecr(PyClient, PyObject_)’: ./python/umemcache.cpp:870:62: error: format not a string literal and no format arguments [-Werror=format-security] return PyErr_Format(umemcacheMemcachedError, pResult); ^ ./python/umemcache.cpp: At global scope: ./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] }; ^ ./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] ./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] ./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] ./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] ./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] ./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] ./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char_’ [-Wwrite-strings] ./python/umemcache.cpp: In function ‘void initumemcache()’: ./python/umemcache.cpp:1124:31: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] PyExc_RuntimeError, NULL); ^ cc1plus: some warnings being treated as errors error: command 'gcc' failed with exit status 1 Complete output from command /var/www/weave/syncserver/local/bin/python2 -c "import setuptools, tokenize;file='/var/www/weave/syncserver/local/build/umemcache/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-MZOSi1-record/install-record.txt --single-version-externally-managed --compile --install-headers /var/www/weave/syncserver/local/include/site/python2.7: running install
running build
running build_ext
building 'umemcache' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/python
creating build/temp.linux-x86_64-2.7/lib
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -Wno-error -fPIC -DWIN32_LEAN_AND_MEAN -I./lib/ -I/usr/include/python2.7 -c ./python/umemcache.cpp -o build/temp.linux-x86_64-2.7/./python/umemcache.o
./python/umemcache.cpp: In function ‘int Clientinit(PyClient, PyObject_, PyObject*)’:
./python/umemcache.cpp:255:60: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
static char *kwlist[] = {"address", "max_item_size", NULL};
./python/umemcache.cpp:255:60: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
./python/umemcache.cpp: In function ‘PyObject* Clientincr(PyClient, PyObject_)’:
./python/umemcache.cpp:822:62: error: format not a string literal and no format arguments [-Werror=format-security]
./python/umemcache.cpp: In function ‘PyObject* Clientdecr(PyClient, PyObject_)’:
./python/umemcache.cpp:870:62: error: format not a string literal and no format arguments [-Werror=format-security]
./python/umemcache.cpp: At global scope:
./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
};
^
./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
./python/umemcache.cpp:1056:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
./python/umemcache.cpp: In function ‘void initumemcache()’:
./python/umemcache.cpp:1124:31: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
cc1plus: some warnings being treated as errors
error: command 'gcc' failed with exit status 1
Cleaning up... Command /var/www/weave/syncserver/local/bin/python2 -c "import setuptools, tokenize;file='/var/www/weave/syncserver/local/build/umemcache/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-MZOSi1-record/install-record.txt --single-version-externally-managed --compile --install-headers /var/www/weave/syncserver/local/include/site/python2.7 failed with error code 1 in /var/www/weave/syncserver/local/build/umemcache Traceback (most recent call last): File "./local/bin/pip", line 11, in
sys.exit(main())
File "/var/www/weave/syncserver/local/lib/python2.7/site-packages/pip/init.py", line 185, in main
return command.main(cmd_args)
File "/var/www/weave/syncserver/local/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 40: ordinal not in range(128)
Makefile:22: recipe for target 'local/COMPLETE' failed
make: *\ [local/COMPLETE] Error 1
python --version
Python 2.7.8
rpm -qa | grep virtualenv
python-virtualenv-1.11.6-1.fc21.noarch
gcc --version
gcc (GCC) 4.9.2 20141101 (Red Hat 4.9.2-1) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
uname -r
3.17.4-301.fc21.x86_64
This seems related to an earlier closed bug. This is with a fresh pull done this evening, so that compiler flag should be in effect.
What else do you need from me?
Thanks!