After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 711145 - whem I compile this plugin under ubuntu13.10 or 12.04, it gives error like this
whem I compile this plugin under ubuntu13.10 or 12.04, it gives error like this
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.2.0
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-10-30 12:54 UTC by xuchangxue365812
Modified: 2016-05-04 09:33 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description xuchangxue365812 2013-10-30 12:54:18 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)
     ^
Comment 1 Sebastian Dröge (slomo) 2013-10-30 17:20:30 UTC
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?
Comment 2 Markus Fritsche 2013-11-01 08:41:12 UTC
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.
Comment 3 Sebastian Dröge (slomo) 2013-11-01 13:46:11 UTC
Does it also happen with 1.2.0?
Comment 4 Markus Fritsche 2013-11-01 15:40:37 UTC
No, it doesn't.
Comment 5 Sebastian Dröge (slomo) 2013-11-01 15:41:49 UTC
Ok, then let's close this as obsolete as it's fixed in the latest stable release.
Comment 6 Wynn Rostek 2014-01-10 13:59:28 UTC
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.
Comment 7 Sebastian Dröge (slomo) 2014-01-16 14:08:57 UTC
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?
Comment 8 Sebastian Dröge (slomo) 2014-01-17 20:24:24 UTC
Wynn said that he can't reproduce the problem anymore.
Comment 9 Peter Maersk-Moller 2014-03-02 12:48:42 UTC
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.
Comment 10 Sebastian Dröge (slomo) 2014-03-02 20:17:17 UTC
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.
Comment 11 Peter Maersk-Moller 2014-03-02 22:56:54 UTC
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
Comment 12 Dmitry 2014-04-30 14:37:49 UTC
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
Comment 13 Markus Fritsche 2014-06-14 18:44:53 UTC
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).
Comment 14 Markus Fritsche 2014-06-14 21:34:47 UTC
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?
Comment 15 valx76 2014-09-29 21:27:44 UTC
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 !
Comment 16 Scott Lamb 2015-04-07 06:50:16 UTC
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.
Comment 17 Tim-Philipp Müller 2015-04-07 07:50:12 UTC
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).
Comment 18 Mathieu Hinderyckx 2015-08-01 15:21:13 UTC
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.
Comment 19 Scott Lamb 2015-08-01 15:39:54 UTC
Mathieu, what does ldd say?
Comment 20 Arjen Veenhuizen 2015-08-05 09:37:25 UTC
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.
Comment 21 Arjen Veenhuizen 2015-08-05 10:07:21 UTC
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
Comment 22 Joona Laine 2016-05-04 08:12:41 UTC
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.
Comment 23 Tim-Philipp Müller 2016-05-04 08:21:00 UTC
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
Comment 24 Joona Laine 2016-05-04 09:33:22 UTC
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)