Problem compiling master

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

···

On 22 October 2013 07:53, Todd <toddrjen@...149...> 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.

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.

···

On Tue, Oct 22, 2013 at 9:30 AM, Ian Thomas <ianthomas23@...149...> wrote:

On 22 October 2013 07:53, Todd <toddrjen@...149...> wrote: