I am trying to build Pupil from source, following the instructions found at https://docs.pupil-labs.com/#linux-dependencies.
When attempting to install pyuvc (using the command sudo pip3
install git+https://github.com/pupil-labs/pyuvc), I am getting a
linking error with libturbojpeg (see output below).
Has anybody encountered this error before? Any ideas on how to fix it?
Thank you,
George Christodoulides
sudo pip3 install git+https://github.com/pupil-labs/pyuvc
Collecting git+https://github.com/pupil-labs/pyuvc
Cloning https://github.com/pupil-labs/pyuvc
to /tmp/pip-ek5lxpo8-build
Installing collected packages: uvc
Running setup.py install for uvc ... error
Complete output from command /usr/bin/python3 -u -c "import
setuptools,
tokenize;__file__='/tmp/pip-ek5lxpo8-build/setup.py';f=getattr(tokenize,
'open', open)(__file__);code=f.read().replace('\r\n',
'\n');f.close();exec(compile(code, __file__, 'exec'))" install
--record /tmp/pip-9mkyxq01-record/install-record.txt
--single-version-externally-managed --compile:
running install
running build
running build_ext
building 'uvc' extension
creating build
creating build/temp.linux-x86_64-3.5
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -g -fstack-protector-strong -Wformat
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
-I/usr/lib/python3/dist-packages/numpy/core/include
-I/usr/include/python3.5m -c uvc.c -o
build/temp.linux-x86_64-3.5/uvc.o
In file included from
/usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1777:0,
from
/usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarrayobject.h:18,
from
/usr/lib/python3/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
from uvc.c:555:
/usr/lib/python3/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2:
warning: #warning "Using deprecated NumPy API, disable it by "
"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by " \
^
uvc.c: In function
‘__pyx_f_3uvc_7Capture__enumerate_controls’:
uvc.c:17423:26: warning: assignment discards ‘const’
qualifier from pointer target type [-Wdiscarded-qualifiers]
__pyx_v_input_terminal =
uvc_get_input_terminals(__pyx_v_self->devh);
^
uvc.c:17432:27: warning: assignment discards ‘const’
qualifier from pointer target type [-Wdiscarded-qualifiers]
__pyx_v_output_terminal =
uvc_get_output_terminals(__pyx_v_self->devh);
^
uvc.c:17441:27: warning: assignment discards ‘const’
qualifier from pointer target type [-Wdiscarded-qualifiers]
__pyx_v_processing_unit =
uvc_get_processing_units(__pyx_v_self->devh);
^
uvc.c:17450:26: warning: assignment discards ‘const’
qualifier from pointer target type [-Wdiscarded-qualifiers]
__pyx_v_extension_unit =
uvc_get_extension_units(__pyx_v_self->devh);
^
uvc.c: In function
‘__pyx_f_3uvc_7Capture__enumerate_formats’:
uvc.c:18085:23: warning: assignment discards ‘const’
qualifier from pointer target type [-Wdiscarded-qualifiers]
__pyx_v_format_desc =
uvc_get_format_descs(__pyx_v_self->devh);
^
uvc.c: At top level:
uvc.c:20548:13: warning: ‘__pyx_f_3uvc_on_status_update’
defined but not used [-Wunused-function]
static void __pyx_f_3uvc_on_status_update(CYTHON_UNUSED
enum uvc_status_class __pyx_v_status_class, CYTHON_UNUSED int
__pyx_v_event, CYTHON_UNUSED int __pyx_v_selector, CYTHON_UNUSED
enum uvc_status_attribute __pyx_v_status_attribute,
CYTHON_UNUSED void *__pyx_v_data, CYTHON_UNUSED size_t
__pyx_v_data_len, CYTHON_UNUSED void *__pyx_v_user_ptr) {
^
creating build/lib.linux-x86_64-3.5
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1
-Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro
-Wl,-Bsymbolic-functions -Wl,-z,relro -g
-fstack-protector-strong -Wformat -Werror=format-security
-Wdate-time -D_FORTIFY_SOURCE=2
build/temp.linux-x86_64-3.5/uvc.o -lrt -luvc -lturbojpeg -o
build/lib.linux-x86_64-3.5/uvc.cpython-35m-x86_64-linux-gnu.so
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libturbojpeg.a(libturbojpeg_la-turbojpeg.o):
relocation R_X86_64_32 against `.data' can not be used when
making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libturbojpeg.a:
error adding symbols: Bad value
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with
exit status 1
----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools,
tokenize;__file__='/tmp/pip-ek5lxpo8-build/setup.py';f=getattr(tokenize,
'open', open)(__file__);code=f.read().replace('\r\n',
'\n');f.close();exec(compile(code, __file__, 'exec'))" install
--record /tmp/pip-9mkyxq01-record/install-record.txt
--single-version-externally-managed --compile" failed with
error code 1 in /tmp/pip-ek5lxpo8-build/