GNOME Bugzilla – Bug 711145
whem I compile this plugin under ubuntu13.10 or 12.04, it gives error like this
Last modified: 2016-05-04 09:33:22 UTC
In file included from audio-format.c:28:0: gstaudiopack.h:98:6: note: expected 'int' but argument is of type 'gpointer' void audio_orc_unpack_f32_swap (gdouble * ORC_RESTRICT d1, int n); ^ audio-format.c:196:5: error: too many arguments to function 'audio_orc_unpack_f32_swap' MAKE_ORC_PACK_UNPACK (f32be) ^
Which version of gst-plugins-base are you building there, which version of orc do you have installed? And what's the complete build output?
In my case, this happens with http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.10.tar.xz and http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.10.tar.xz and liborc-0.4-0:armhf 1:0.4.17-1 from the raspbian repository.
Does it also happen with 1.2.0?
No, it doesn't.
Ok, then let's close this as obsolete as it's fixed in the latest stable release.
I get the same set of errors when compiling gst-plugin-base-1.2.2.tar.xz using orc-0.4.18.tar.gz under Debian 7.3. These errors did not occur when compiling the same set under Debian 7.1.
I can't reproduce it here on Debian unstable with --disable-orc. And without (i.e. when using orc) it obviously works as the Debian packages build just fine ;) Where did you get the gst-plugins-base-1.2.2.tar.xz tarball from and can you send me the output of configure, the config.log and the config.h?
Wynn said that he can't reproduce the problem anymore.
I can confirm the problem with Ubuntu 12.04 LTS Linux thinkie 3.5.0-46-generic #70~precise1-Ubuntu SMP Thu Jan 9 23:55:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux I'm trying to compile GStreamer 1.2.3 on updated Ubuntu 12.04. Earlier versions have compiled without major mishaps, but this versions have some problems with type definitions for audio formats related to Orc. Liborc-0.4.18 has been installed. The compiler produces this output make[1]: Entering directory `/home/pmm/Projects/GStreamer/gst-plugins-base-1.2.3/gst-libs/gst/audio' CC libgstaudio_1.0_la-audio-format.lo audio-format.c: In function 'unpack_s8': audio-format.c:111:1: warning: passing argument 2 of 'audio_orc_unpack_s8' makes integer from pointer without a cast [enabled by default] gstaudiopack.h:71:6: note: expected 'int' but argument is of type 'gpointer' audio-format.c:111:1: error: too many arguments to function 'audio_orc_unpack_s8' gstaudiopack.h:71:6: note: declared here audio-format.c: In function 'pack_s8': audio-format.c:111:1: warning: passing argument 2 of 'audio_orc_pack_s8' makes integer from pointer without a cast [enabled by default] gstaudiopack.h:89:6: note: expected 'int' but argument is of type 'gpointer' audio-format.c:111:1: error: too many arguments to function 'audio_orc_pack_s8' gstaudiopack.h:89:6: note: declared here When running autogen.sh for gst-plugins-base-1.2.3 I do see this messages that may be related: + running automake --add-missing --copy... common/orc.mak:26: variable `ORC_NODIST_SOURCES' is defined but no program or common/orc.mak:26: library has `ORC_NODIST' as canonical name (possible typo) gst-libs/gst/audio/Makefile.am:3: `common/orc.mak' included from here common/orc.mak:26: variable `ORC_NODIST_SOURCES' is defined but no program or common/orc.mak:26: library has `ORC_NODIST' as canonical name (possible typo) gst-libs/gst/video/Makefile.am:3: `common/orc.mak' included from here And this: configure: *** Plug-ins with dependencies that will NOT be built: ivorbisdec configure: *** Orc acceleration enabled.
Can you upload a tarball of the source tree with this failure? So run everything up to that error, then tar cfvz the complete source tree and upload it somewhere.
Hi Seb. It's a little bit embarrassing to report that unfortunately this evening I have unsuccessfully tried to reproduce the error to generate the wanted tar archive. Now the error has gone away. I have tried many way to backtrace my steps, but to no avail so far. Its a bit strange. Sorry for that. Peter
Hi guys, having the same issue building gst-plugins-base (cloned from git://anongit.freedesktop.org/git/gstreamer/ an hour ago) on ARMHF (Ubuntu 13.04) both with Orc 0.4.19 and without it (./configure --disable-orc, maybe build errors are different but they are related to passing arguments) Per README, it is GStreamer-1.3.x development series. Linux version 3.4.75 (root@sa1) (gcc version 4.8.2 20130902 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2013.09 - Linaro GCC 2013.09) ) #1 SMP PREEMPT Thu Jan 2 22:10:03 CST 2014 Log itself is: make[4]: Entering directory `/mnt/sandisk/gst-plugins-base/gst-libs/gst/audio' make all-am make[5]: Entering directory `/mnt/sandisk/gst-plugins-base/gst-libs/gst/audio' CC libgstaudio_1.0_la-audio-format.lo audio-format.c: In function 'unpack_s8': audio-format.c:117:1: error: passing argument 2 of 'audio_orc_unpack_s8' makes integer from pointer without a cast [-Werror] MAKE_ORC_PACK_UNPACK (s8) ^ In file included from audio-format.c:28:0: gstaudiopack.h:84:6: note: expected 'int' but argument is of type 'gpointer' void audio_orc_unpack_s8 (gint32 * ORC_RESTRICT d1, int n); ^ audio-format.c:117:1: error: too many arguments to function 'audio_orc_unpack_s8' MAKE_ORC_PACK_UNPACK (s8) ^ In file included from audio-format.c:28:0: gstaudiopack.h:84:6: note: declared here void audio_orc_unpack_s8 (gint32 * ORC_RESTRICT d1, int n); ^ audio-format.c: In function 'pack_s8': audio-format.c:117:1: error: passing argument 2 of 'audio_orc_pack_s8' makes integer from pointer without a cast [-Werror] MAKE_ORC_PACK_UNPACK (s8) ^ In file included from audio-format.c:28:0: gstaudiopack.h:102:6: note: expected 'int' but argument is of type 'gpointer' void audio_orc_pack_s8 (guint8 * ORC_RESTRICT d1, int n); ^ audio-format.c:117:1: error: too many arguments to function 'audio_orc_pack_s8' MAKE_ORC_PACK_UNPACK (s8) ^ In file included from audio-format.c:28:0: gstaudiopack.h:102:6: note: declared here void audio_orc_pack_s8 (guint8 * ORC_RESTRICT d1, int n); ^ audio-format.c: In function 'unpack_u8': audio-format.c:119:5: error: passing argument 2 of 'audio_orc_unpack_u8' makes integer from pointer without a cast [-Werror] MAKE_ORC_PACK_UNPACK (u8) ^ ...(10 screens of build errors dropped).... In file included from audio-format.c:28:0: gstaudiopack.h:121:6: note: declared here void audio_orc_splat_u64 (guint64 * ORC_RESTRICT d1, int n); ^ cc1: all warnings being treated as errors make[5]: *** [libgstaudio_1.0_la-audio-format.lo] Error 1 make[5]: Leaving directory `/mnt/sandisk/gst-plugins-base/gst-libs/gst/audio' make[4]: *** [all] Error 2 make[4]: Leaving directory `/mnt/sandisk/gst-plugins-base/gst-libs/gst/audio' make[3]: *** [audio] Error 2 make[3]: Leaving directory `/mnt/sandisk/gst-plugins-base/gst-libs/gst' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/mnt/sandisk/gst-plugins-base/gst-libs' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/mnt/sandisk/gst-plugins-base' make: *** [all] Error 2 The box is available in its current state for at least 4 days more so I can get more information from it on your request. You can get tar.gz similar to what you requested from Peter from http://www.gsmpager.ru/gstbuild.tar.gz
The generation of gstaudiopack.h on raspbian seems to fail. If I copy a gstaudiopack.h from another (intel) machine, the compilation continues (failing later).
Correction - with a clean gstaudiopack.h it worked fine. Some of the tools used for the generation of the header file must behave unexpectedly on older ubuntu/ raspbian?
I had this problem under Debian 7.5 with GStreamer 1.4.2 (tarball). Instead of copying the gstaudiopack.h file from another machine, it works when we remove it, and start again the compilation process !
I think this is a result of a newer orcc accidentally linking against an older liborc. I'm using Ubuntu 14.10 and have the liborcc-0.4-0 package installed (apparently brought in by installing libopencv-dev, among other things). I noticed it's not new enough to make git master HEAD of gst-plugins-base use orc, so I installed the git version of orc. It behaved in this way, and ldd provided the smoking gun: $ ldd /usr/local/bin/orcc linux-vdso.so.1 => (0x00007fffa75ac000) liborc-0.4.so.0 => /usr/lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f6d9dc86000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6d9d8c2000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6d9d5bb000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6d9d39d000) /lib64/ld-linux-x86-64.so.2 (0x00007f6d9df18000) I'd bet uninstalling the liborcc-0.4-0 package would solve the problem. I didn't want to, though. Instead, this worked for me: $ export LD_RUN_PATH=/usr/local/lib $ ./configure $ make $ sudo make install ldd now says the expected thing: $ ldd /usr/local/bin/orcc linux-vdso.so.1 => (0x00007fffacfc8000) liborc-0.4.so.0 => /usr/local/lib/liborc-0.4.so.0 (0x00007f02cd7dd000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f02cd40d000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f02cd106000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f02ccee8000) /lib64/ld-linux-x86-64.so.2 (0x00007f02cda65000) and once I deleted the gstaudiopack.h, I was able to build gst-plugins-base correctly. There's probably a way for orcc's build to ensure it's always using the libraries it just installed. I'm not that handy with libtool and such, though.
Interesting, thanks for the info. I think a 'sudo ldconfig' after 'sudo make install' may have fixed the issue as well (see text that 'make install' prints).
I have the same issue, and none of the solutions mentioned work. I'm building 1.5.2 and have Orc version 4.24 from the Gstreamer site. Tried exporting variable, ldconfig, and none of those work.
Mathieu, what does ldd say?
Like to jump in on this thread as today I was trying to compile GStreamer (GIT HEAD) in a docker container (base image: ubuntu:14.04, x64) with ORC and came across the exact same problem. Tim's solution did fix it for me, although # sudo ldconfig was required as well to get gst-plugins-base compiling.
One more thing, I also had to add $ export LD_LIBRARY_PATH=/usr/local/lib Because I ran into this problem: http://gstreamer-devel.966125.n4.nabble.com/Raspberry-Pi-libgstriff-1-0-so-0-undefined-symbol-gst-fraction-type-td4667756.html So in total: $ export LD_LIBRARY_PATH=/usr/local/lib $ export LD_RUN_PATH=/usr/local/lib $ ./configure $ make $ sudo make install $ sudo ldconfig Optionally: $ rm ./gst-plugins-base/gst-libs/gst/audio/gstaudiopack.h
I've been having this same issue with GStreamer 1.8.1 and orc-0.4.25. I did what was suggested before (remove the gstaudiopack.h) and it did get the compilation further. Now I'm stuck with the following: tmp-orc.c:114:15: error: expected ‘)’ before ‘*’ token void (guint8 * ORC_RESTRICT d1, int n); ^ tmp-orc.c: In function ‘_backup_audio_orc_pack_u24_32_swap’: tmp-orc.c:3933:27: warning: left-hand operand of comma expression has no effect [-Wunused-value] (ex->arrays[ORC_VAR_D1], ex->n); ^ tmp-orc.c:3933:4: warning: statement with no effect [-Wunused-value] (ex->arrays[ORC_VAR_D1], ex->n); ^ tmp-orc.c: In function ‘_backup_audio_orc_double_to_s32’: tmp-orc.c:5768:3: warning: implicit declaration of function ‘storeq’ [-Wimplicit-function-declaration] storeq (ex->arrays[ORC_VAR_D1], ex->n); ^ tmp-orc.c:5768:3: warning: nested extern declaration of ‘storeq’ [-Wnested-externs] make[5]: *** [libgstaudio_1.0_la-tmp-orc.lo] Error 1 I had GStreamer 1.6.4 installed when I started to update. Anyone had this before? I haven't found any clues yet.
Remove both tmp-orc.c and gstaudiopack.h and try again. Alternatively you should be able to pass --disable-orc to configure which costs some performance but is otherwise not a problem. Also, what's the output of: $ which orcc $ pkg-config --libs --cflags orc-0.4 $ ldd `which orcc` | grep liborc
Great that worked! Earlier I tried with --disable-orc but it didn't have any effect what so ever. Output of what you asked: $ which orcc /usr/local/bin/orcc $ pkg-config --libs --cflags orc-0.4 -I/usr/local/include/orc-0.4 -L/usr/local/lib -lorc-0.4 $ ldd `which orcc` | grep liborc liborc-0.4.so.0 => /usr/local/lib/liborc-0.4.so.0 (0x00007f4f7f1ad000)