on centos 6.2 xpra 0.3.2 fails to build:
[vortex@lizard xpra-0.3.2.orig]$ ./do-build ....[snip].... Traceback (most recent call last): File "setup.py", line 256, in <module> **pkgconfig("vpx", "libswscale", "libavcodec") File "setup.py", line 164, in pkgconfig raise Exception("call to pkg-config ('%s') failed" % (cmd,)) Exception: call to pkg-config ('['pkg-config', '--libs', '--cflags', 'vpx libswscale libavcodec']') failed
indeed:
[vortex@lizard ~]$ pkg-config --libs --cflags vpx libswscale libavcodec Package vpx was not found in the pkg-config search path. Perhaps you should add the directory containing `vpx.pc' to the PKG_CONFIG_PATH environment variable No package 'vpx' found the solution is to search for "libvpx" and not "vpx": [vortex@lizard ~]$ pkg-config --libs --cflags libvpx libswscale libavcodec -I/usr/include/vpx/ -lvpx -lswscale -lavcodec
i patched setup.py to fix this:
--- xpra-0.3.2.orig/setup.py 2012-06-03 20:43:31.000000000 +0200 +++ xpra-0.3.2/setup.py 2012-06-14 13:18:18.678613676 +0200 @@ -253,7 +253,7 @@ packages.append("xpra.vpx") cython_add(Extension("xpra.vpx.codec", ["xpra/vpx/codec.pyx", "xpra/vpx/vpxlib.c"], - **pkgconfig("vpx", "libswscale", "libavcodec") + **pkgconfig("libvpx", "libswscale", "libavcodec") ))
(edited bug description - so redundant post removed)
Hmmm, some call it vpx, some call it libvpx...
I am tempted to just keep it as it is and add a note/patch for those distros that call it 'libvpx'. Thoughts?
hi antoine, forgive me but I opened the bug without checking the build process. It fails to compile the vpx part (see logs below). I confirm the package on centos is called libvpx, maybe a case that looks for both would save you complications in note...
here the log of the build process:
[vortex@lizard xpra-0.3.2]$ ./do-build could not parse version information from string: updated build_info.py with {'LOCAL_MODIFICATIONS': 'unknown', 'BUILD_DATE': '2012-06-19', 'BUILT_BY': 'vortex', 'BUILT_ON': 'lizard', 'BUILD_BIT': '64bit', 'BUILD_CPU': 'x86_64', 'REVISION': 'unknown'} pkgconfig(('pygobject-2.0', 'gdk-x11-2.0', 'gtk+-x11-2.0', 'xtst', 'xfixes', 'xcomposite', 'xdamage', 'xrandr'),{})={'libraries': ['Xrandr', 'freetype', 'gio-2.0', 'gdk-x11-2.0', 'cairo', 'fontconfig', 'atk-1.0', 'pangocairo-1.0', 'gmodule-2.0', 'gtk-x11-2.0', 'Xtst', 'Xfixes', 'gdk_pixbuf-2.0', 'Xdamage', 'gobject-2.0', 'glib-2.0', 'Xcomposite', 'pango-1.0', 'pangoft2-1.0'], 'include_dirs': ['/usr/include/atk-1.0', '/usr/include/glib-2.0', '/usr/include/gtk-2.0', '/usr/include/cairo', '/usr/include/pango-1.0', '/usr/lib64/gtk-2.0/include', '/usr/include/pygtk-2.0', '/usr/lib64/glib-2.0/include', '/usr/include/pixman-1', '/usr/include/libpng12', '/usr/include/freetype2']} pkgconfig(('x11',),{})={'libraries': ['X11']} pkgconfig(('x264', 'libswscale', 'libavcodec'),{})={'libraries': ['x264', 'avcodec', 'pthread', 'swscale']} pkgconfig(('libvpx', 'libswscale', 'libavcodec'),{})={'libraries': ['avcodec', 'vpx', 'swscale'], 'include_dirs': ['/usr/include/vpx/']} running install running build running build_py creating build creating build/lib.linux-x86_64-2.6 creating build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test_prop.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/prop.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test_get_modifier_mappings.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/error.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/__init__.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/wm.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/log.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/pseudoclient.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test_util.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/gobject_compat.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/window.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test_keys.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/selection.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/world_window.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/keys.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test_x11keycodes_down.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test_test.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test_selection.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test_error.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/composite.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/util.py -> build/lib.linux-x86_64-2.6/wimpiggy copying wimpiggy/test_lowlevel.py -> build/lib.linux-x86_64-2.6/wimpiggy creating build/lib.linux-x86_64-2.6/wimpiggy/lowlevel copying wimpiggy/lowlevel/__init__.py -> build/lib.linux-x86_64-2.6/wimpiggy/lowlevel creating build/lib.linux-x86_64-2.6/parti copying parti/tray.py -> build/lib.linux-x86_64-2.6/parti copying parti/__init__.py -> build/lib.linux-x86_64-2.6/parti copying parti/world_organizer.py -> build/lib.linux-x86_64-2.6/parti copying parti/bus.py -> build/lib.linux-x86_64-2.6/parti copying parti/test_bus.py -> build/lib.linux-x86_64-2.6/parti copying parti/parti_main.py -> build/lib.linux-x86_64-2.6/parti creating build/lib.linux-x86_64-2.6/parti/trays copying parti/trays/compositetest.py -> build/lib.linux-x86_64-2.6/parti/trays copying parti/trays/__init__.py -> build/lib.linux-x86_64-2.6/parti/trays copying parti/trays/simpletab.py -> build/lib.linux-x86_64-2.6/parti/trays creating build/lib.linux-x86_64-2.6/parti/addons copying parti/addons/ipython_embed.py -> build/lib.linux-x86_64-2.6/parti/addons copying parti/addons/__init__.py -> build/lib.linux-x86_64-2.6/parti/addons creating build/lib.linux-x86_64-2.6/parti/scripts copying parti/scripts/__init__.py -> build/lib.linux-x86_64-2.6/parti/scripts copying parti/scripts/main.py -> build/lib.linux-x86_64-2.6/parti/scripts copying parti/scripts/repl.py -> build/lib.linux-x86_64-2.6/parti/scripts creating build/lib.linux-x86_64-2.6/xpra copying xpra/client_base.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/test_DoS_client.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/test_DoS_timeout_client.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/test_illegal_command.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/test_measure_perf.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/proxy.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/window_backing.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/__init__.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/test_bencode.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/version_util.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/server.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/nested_main.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/xkbhelper.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/dotxpra.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/bencode.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/build_info.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/gtk_view_keyboard.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/keys.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/deque.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/test_dump_gtk_keymap.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/test_HMAC.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/test_DoS_memory_client.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/client.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/dbus_notifications_forwarder.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/protocol.py -> build/lib.linux-x86_64-2.6/xpra copying xpra/test_gibbering_client.py -> build/lib.linux-x86_64-2.6/xpra creating build/lib.linux-x86_64-2.6/xpra/scripts copying xpra/scripts/__init__.py -> build/lib.linux-x86_64-2.6/xpra/scripts copying xpra/scripts/server.py -> build/lib.linux-x86_64-2.6/xpra/scripts copying xpra/scripts/client_launcher.py -> build/lib.linux-x86_64-2.6/xpra/scripts copying xpra/scripts/main.py -> build/lib.linux-x86_64-2.6/xpra/scripts creating build/lib.linux-x86_64-2.6/xpra/platform copying xpra/platform/gui.py -> build/lib.linux-x86_64-2.6/xpra/platform copying xpra/platform/__init__.py -> build/lib.linux-x86_64-2.6/xpra/platform copying xpra/platform/clipboard_base.py -> build/lib.linux-x86_64-2.6/xpra/platform copying xpra/platform/default_clipboard.py -> build/lib.linux-x86_64-2.6/xpra/platform copying xpra/platform/client_extras_base.py -> build/lib.linux-x86_64-2.6/xpra/platform creating build/lib.linux-x86_64-2.6/xpra/xposix copying xpra/xposix/xsettings.py -> build/lib.linux-x86_64-2.6/xpra/xposix copying xpra/xposix/gui.py -> build/lib.linux-x86_64-2.6/xpra/xposix copying xpra/xposix/__init__.py -> build/lib.linux-x86_64-2.6/xpra/xposix copying xpra/xposix/xclipboard.py -> build/lib.linux-x86_64-2.6/xpra/xposix copying xpra/xposix/test_xsettings.py -> build/lib.linux-x86_64-2.6/xpra/xposix copying xpra/xposix/xroot_props.py -> build/lib.linux-x86_64-2.6/xpra/xposix creating build/lib.linux-x86_64-2.6/xpra/win32 copying xpra/win32/gui.py -> build/lib.linux-x86_64-2.6/xpra/win32 copying xpra/win32/__init__.py -> build/lib.linux-x86_64-2.6/xpra/win32 copying xpra/win32/win32_tray.py -> build/lib.linux-x86_64-2.6/xpra/win32 copying xpra/win32/win32_NotifyIcon.py -> build/lib.linux-x86_64-2.6/xpra/win32 copying xpra/win32/win32_balloon.py -> build/lib.linux-x86_64-2.6/xpra/win32 creating build/lib.linux-x86_64-2.6/xpra/darwin copying xpra/darwin/gui.py -> build/lib.linux-x86_64-2.6/xpra/darwin copying xpra/darwin/__init__.py -> build/lib.linux-x86_64-2.6/xpra/darwin creating build/lib.linux-x86_64-2.6/xpra/x264 copying xpra/x264/__init__.py -> build/lib.linux-x86_64-2.6/xpra/x264 copying xpra/x264/main.py -> build/lib.linux-x86_64-2.6/xpra/x264 creating build/lib.linux-x86_64-2.6/xpra/vpx copying xpra/vpx/__init__.py -> build/lib.linux-x86_64-2.6/xpra/vpx running build_ext cythoning wimpiggy/lowlevel/bindings.pyx to wimpiggy/lowlevel/bindings.c building 'wimpiggy.lowlevel.bindings' extension creating build/temp.linux-x86_64-2.6 creating build/temp.linux-x86_64-2.6/wimpiggy creating build/temp.linux-x86_64-2.6/wimpiggy/lowlevel gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -O0 -fPIC -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pygtk-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/freetype2 -I/usr/include/python2.6 -c wimpiggy/lowlevel/bindings.c -o build/temp.linux-x86_64-2.6/wimpiggy/lowlevel/bindings.o gcc -pthread -shared -O0 build/temp.linux-x86_64-2.6/wimpiggy/lowlevel/bindings.o -L/usr/lib64 -lXrandr -lfreetype -lgio-2.0 -lgdk-x11-2.0 -lcairo -lfontconfig -latk-1.0 -lpangocairo-1.0 -lgmodule-2.0 -lgtk-x11-2.0 -lXtst -lXfixes -lgdk_pixbuf-2.0 -lXdamage -lgobject-2.0 -lglib-2.0 -lXcomposite -lpango-1.0 -lpangoft2-1.0 -lpython2.6 -o build/lib.linux-x86_64-2.6/wimpiggy/lowlevel/bindings.so cythoning xpra/wait_for_x_server.pyx to xpra/wait_for_x_server.c building 'xpra.wait_for_x_server' extension creating build/temp.linux-x86_64-2.6/xpra gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -O0 -fPIC -I/usr/include/python2.6 -c xpra/wait_for_x_server.c -o build/temp.linux-x86_64-2.6/xpra/wait_for_x_server.o gcc -pthread -shared -O0 build/temp.linux-x86_64-2.6/xpra/wait_for_x_server.o -L/usr/lib64 -lX11 -lpython2.6 -o build/lib.linux-x86_64-2.6/xpra/wait_for_x_server.so cythoning xpra/x264/codec.pyx to xpra/x264/codec.c building 'xpra.x264.codec' extension creating build/temp.linux-x86_64-2.6/xpra/x264 gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -O0 -fPIC -I/usr/include/python2.6 -c xpra/x264/codec.c -o build/temp.linux-x86_64-2.6/xpra/x264/codec.o xpra/x264/codec.c: In function ‘__pyx_pf_4xpra_4x264_5codec_7Decoder_2decompress_image’: xpra/x264/codec.c:1011: warning: passing argument 2 of ‘PyObject_AsReadBuffer’ from incompatible pointer type /usr/include/python2.6/abstract.h:501: note: expected ‘const void **’ but argument is of type ‘void **’ xpra/x264/codec.c: In function ‘__pyx_pf_4xpra_4x264_5codec_7Encoder_2compress_image’: xpra/x264/codec.c:1418: warning: passing argument 2 of ‘PyObject_AsReadBuffer’ from incompatible pointer type /usr/include/python2.6/abstract.h:501: note: expected ‘const void **’ but argument is of type ‘void **’ gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -O0 -fPIC -I/usr/include/python2.6 -c xpra/x264/x264lib.c -o build/temp.linux-x86_64-2.6/xpra/x264/x264lib.o xpra/x264/x264lib.c: In function ‘init_decoder’: xpra/x264/x264lib.c:93: warning: implicit declaration of function ‘avcodec_alloc_context3’ xpra/x264/x264lib.c:93: warning: assignment makes pointer from integer without a cast xpra/x264/x264lib.c: In function ‘decompress_image’: xpra/x264/x264lib.c:184: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type /usr/include/libswscale/swscale.h:195: note: expected ‘const uint8_t * const*’ but argument is of type ‘uint8_t **’ gcc -pthread -shared -O0 build/temp.linux-x86_64-2.6/xpra/x264/codec.o build/temp.linux-x86_64-2.6/xpra/x264/x264lib.o -L/usr/lib64 -lx264 -lavcodec -lpthread -lswscale -lpython2.6 -o build/lib.linux-x86_64-2.6/xpra/x264/codec.so cythoning xpra/vpx/codec.pyx to xpra/vpx/codec.c building 'xpra.vpx.codec' extension creating build/temp.linux-x86_64-2.6/xpra/vpx gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -O0 -fPIC -I/usr/include/vpx/ -I/usr/include/python2.6 -c xpra/vpx/codec.c -o build/temp.linux-x86_64-2.6/xpra/vpx/codec.o xpra/vpx/codec.c: In function ‘__pyx_pf_4xpra_3vpx_5codec_7Decoder_2decompress_image’: xpra/vpx/codec.c:1011: warning: passing argument 2 of ‘PyObject_AsReadBuffer’ from incompatible pointer type /usr/include/python2.6/abstract.h:501: note: expected ‘const void **’ but argument is of type ‘void **’ xpra/vpx/codec.c: In function ‘__pyx_pf_4xpra_3vpx_5codec_7Encoder_2compress_image’: xpra/vpx/codec.c:1418: warning: passing argument 2 of ‘PyObject_AsReadBuffer’ from incompatible pointer type /usr/include/python2.6/abstract.h:501: note: expected ‘const void **’ but argument is of type ‘void **’ gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -O0 -fPIC -I/usr/include/vpx/ -I/usr/include/python2.6 -c xpra/vpx/vpxlib.c -o build/temp.linux-x86_64-2.6/xpra/vpx/vpxlib.o In file included from /usr/include/vpx/vpx_codec.h:50, from /usr/include/vpx/vpx_encoder.h:32, from xpra/vpx/vpxlib.c:22: /usr/include/vpx/vpx_integer.h:41: error: conflicting types for ‘int_fast16_t’ /usr/include/stdint.h:93: note: previous declaration of ‘int_fast16_t’ was here /usr/include/vpx/vpx_integer.h:47: error: conflicting types for ‘uintptr_t’ /usr/include/stdint.h:123: note: previous declaration of ‘uintptr_t’ was here xpra/vpx/vpxlib.c: In function ‘init_encoder’: xpra/vpx/vpxlib.c:52: warning: implicit declaration of function ‘vpx_codec_vp8_cx’ xpra/vpx/vpxlib.c:52: warning: passing argument 1 of ‘vpx_codec_enc_config_default’ makes pointer from integer without a cast /usr/include/vpx/vpx_encoder.h:609: note: expected ‘const struct vpx_codec_iface *’ but argument is of type ‘int’ xpra/vpx/vpxlib.c:58: warning: passing argument 2 of ‘vpx_codec_enc_init_ver’ makes pointer from integer without a cast /usr/include/vpx/vpx_encoder.h:575: note: expected ‘const struct vpx_codec_iface *’ but argument is of type ‘int’ xpra/vpx/vpxlib.c: In function ‘init_decoder’: xpra/vpx/vpxlib.c:78: warning: implicit declaration of function ‘vpx_codec_vp8_dx’ xpra/vpx/vpxlib.c:78: warning: passing argument 2 of ‘vpx_codec_dec_init_ver’ makes pointer from integer without a cast /usr/include/vpx/vpx_decoder.h:121: note: expected ‘const struct vpx_codec_iface *’ but argument is of type ‘int’ xpra/vpx/vpxlib.c: In function ‘compress_image’: xpra/vpx/vpxlib.c:103: error: ‘VPX_IMG_FMT_I420’ undeclared (first use in this function) xpra/vpx/vpxlib.c:103: error: (Each undeclared identifier is reported only once xpra/vpx/vpxlib.c:103: error: for each function it appears in.) xpra/vpx/vpxlib.c:116: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type /usr/include/libswscale/swscale.h:195: note: expected ‘const unsigned char * const*’ but argument is of type ‘unsigned char **’ xpra/vpx/vpxlib.c: In function ‘decompress_image’: xpra/vpx/vpxlib.c:164: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type /usr/include/libswscale/swscale.h:195: note: expected ‘const unsigned char * const*’ but argument is of type ‘unsigned char **’ error: command 'gcc' failed with exit status 1
it seems there are 2 headers that conflicts:
[vortex@lizard xpra-0.3.2]$ cat poc.c #include <stdint.h> #include <vpx/vpx_integer.h> main(){} [vortex@lizard xpra-0.3.2]$ gcc -o poc poc.c In file included from poc.c:2: /usr/include/vpx/vpx_integer.h:41: error: conflicting types for ‘int_fast16_t’ /usr/include/stdint.h:93: note: previous declaration of ‘int_fast16_t’ was here /usr/include/vpx/vpx_integer.h:47: error: conflicting types for ‘uintptr_t’ /usr/include/stdint.h:123: note: previous declaration of ‘uintptr_t’ was here
if you have some suggestions I'm available to make some debug/test regards Luigi
of course adding --without-vpx in do-build it works (built, installed and used a little):
[vortex@lizard xpra-0.3.2]$ cat do-build #!/bin/sh set -e rm -rf build install python make_constants_pxi.py wimpiggy/lowlevel/constants.txt wimpiggy/lowlevel/constants.pxi CFLAGS=-O0 python setup.py install --home=install --without-vpx
Thanks for figuring this out, it looks to me like there is a problem with the toolchain and/or headers on CentOS
6.2.. Here is a hack that makes your PoC
build correctly:
#include <stdint.h> #define HAVE_STDINT_H 1 #include "/usr/include/vpx/vpx_integer.h" main(){}
I am quite reluctant to merge anything like this, because this may have side effects for all the other distros which do not have problematic headers.
Feel free to suggest to RedHat
/ CentOS
that they should do something about it, because I don't think we should be dealing with this here by kludging it.
As for trying to look for libvpx
or vpx
, I will attach a patch that does this. I will try to merge this later (for trunk - not 0.3.x branch), unfortunately this involves re-doing all the patches against setup.py to prevent diff offsets that make dpkg unhappy... And I've already done this once today, I am a bit fed up with this already.
I hate packaging with a passion(tm)
allows us to look for libvpx OR vpx, and use the first pkg-config entry that exists
the alternative package name patch has been applied in r941
The #define HAVE_STDINT_H 1
will not be applied, please fix your library headers.
FYI: I've just tried it and the version shipped with CentOS 6.x is way too old and cannot be used.
You must use a static build as per #103
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/145