From: Todd <tod...@gm...> - 2013-10-22 08:06:14
|
On Tue, Oct 22, 2013 at 9:30 AM, Ian Thomas <ian...@gm...> wrote: > On 22 October 2013 07:53, Todd <tod...@gm...> wrote: > >> As of last night, I can no longer compile master. I get the following >> error: >> >> building 'matplotlib.ttconv' extension >> creating build/temp.linux-x86_64-2.7/extern/ttconv >> gcc -pthread -fno-strict-aliasing -fmessage-length=0 -O2 -Wall >> -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables >> -fasynchronous-unwind-tables -g -DNDEBUG -fmessage-length=0 -O2 -Wall >> -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables >> -fasynchronous-unwind-tables -g -fPIC >> -DPY_ARRAY_UNIQUE_SYMBOL=MPL_matplotlib_ttconv_ARRAY_API >> -DPYCXX_ISO_CPP_LIB=1 >> -I/usr/lib64/python2.7/site-packages/numpy/core/include >> -I/usr/local/include -I/usr/include -I. -I/usr/include/python2.7 -c >> src/_ttconv.cpp -o build/temp.linux-x86_64-2.7/src/_ttconv.o >> src/_ttconv.cpp:12:27: fatal error: ttconv/pprdrv.h: No such file or >> directory >> compilation terminated. >> error: command 'gcc' failed with exit status 1 >> >> This happens even when building from a newly-cloned directory. I am >> building on Linux (openSUSE 12.3). There shouldn't be ttconv/pprdrv.h, it >> has been moved to extern/ttconv/pprdrv.h. I can't figure out why it is >> still looking there. >> > > Todd, > > This is my fault, I would expect to see a '-Iextern' in the compilation > options. Usually this is obtained from CXX().add_flags(), but obviously > not in your case which implies that your CXX is available via pkg-config. > > I think either of the following changes will fix the problem: > > 1) Either adding the following after line 947 in setupext.py: > ext.include_dirs.append('extern') > > 2) Or changing line 12 of src/_ttconv.cpp from > #include "ttconv/pprdrv.h" > to > #include "extern/ttconv/pprdrv.h" > > I'll need to think about which is the better solution. If you can let me > know which of these fix the problem, I'll have a PR out later today. > > Ian > > Thanks, both seem to work. |