Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 292416 - net-libs/opal-3.6.6 cannot be compiled: error: cannot convert 'float*' to 'spx_int32_t*' for argument '5' to 'void speex_echo_cancel(SpeexEchoState*, const spx_int16_t*, const spx_int16_t*, spx_int16_t*, spx_int32_t*)'
Summary: net-libs/opal-3.6.6 cannot be compiled: error: cannot convert 'float*' to 'sp...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL: http://markmail.org/message/e7wlkkn4w...
Whiteboard:
Keywords:
: 354605 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-11-08 18:23 UTC by Maciej Piechotka
Modified: 2015-07-07 15:18 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
opal-3.6.7 build log (net-libs:opal-3.6.7:20100807-230600.log,18.75 KB, text/plain)
2010-08-07 23:15 UTC, Donnie Berkholz (RETIRED)
Details
opal-3.6.7 config.log (config.log,58.88 KB, text/plain)
2010-08-07 23:17 UTC, Donnie Berkholz (RETIRED)
Details
build log (build.log,20.51 KB, text/plain)
2011-01-20 15:25 UTC, Travis Kelley
Details
emerge info (emergeinfo.txt,6.40 KB, text/plain)
2011-01-20 15:26 UTC, Travis Kelley
Details
speex-test.c (speex-test.c,202 bytes, text/plain)
2011-05-01 08:23 UTC, Peter Volkov (RETIRED)
Details
build.log: 3.10.8-r1 fails to compile (build.log,228.25 KB, text/plain)
2012-10-28 05:55 UTC, Jeremy Murphy
Details
build.log: 3.10.9 fails to compile (build.log,182.02 KB, text/plain)
2013-01-07 02:02 UTC, Jeremy Murphy
Details
config.log: From 3.10.9 build failure. (config.log,58.38 KB, text/plain)
2013-01-07 02:03 UTC, Jeremy Murphy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Maciej Piechotka 2009-11-08 18:23:25 UTC
[CC] src/codec/rfc2833.cxx
[CC] src/codec/opalwavfile.cxx
[CC] src/codec/silencedetect.cxx
[CC] src/codec/echocancel.cxx
/var/tmp/paludis/net-libs-opal-3.6.6/work/opal-3.6.6/src/codec/echocancel.cxx: In member function 'virtual void OpalEchoCanceler::ReceivedPacket(RTP_DataFrame&, INT)':
/var/tmp/paludis/net-libs-opal-3.6.6/work/opal-3.6.6/src/codec/echocancel.cxx:208: error: cannot convert 'float*' to 'spx_int32_t*' for argument '5' to 'void speex_echo_cancel(SpeexEchoState*, const spx_int16_t*, const spx_int16_t*, spx_int16_t*, spx_int32_t*)'
/var/tmp/paludis/net-libs-opal-3.6.6/work/opal-3.6.6/src/codec/echocancel.cxx:215: error: cannot convert 'float*' to 'spx_int32_t*' for argument '3' to 'int speex_preprocess(SpeexPreprocessState*, spx_int16_t*, spx_int32_t*)'
make: *** [/var/tmp/paludis/net-libs-opal-3.6.6/work/opal-3.6.6/lib_linux_x86/obj/echocancel.o] Error 1
/usr/libexec/paludis/utils/emake: emake returned error 2


Reproducible: Always




paludis 0.40.1
Paludis build information:
    Compiler:
        CXX:                   i686-pc-linux-gnu-g++ 4.4.1
        CXXFLAGS:               -Os -mtune=pentium-m -march=pentium-m -mfpmath=sse -pipe -momit-leaf-frame-pointer -w -ftree-vectorize -ftree-loop-optimize -ftree-loop-linear -freorder-blocks-and-partition -fgcse-sm -fgcse-las -fgcse-after-reload -ftracer -maccumulate-outgoing-args -findirect-inlining -floop-interchange -floop-block -floop-strip-mine -pedantic
        LDFLAGS:               -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=both -Wl,--sort-common
        DATE:                  2009-09-18T21:09:57+0200

    Libraries:
        C++ Library:           GNU libstdc++ 20090722

    Paths:
        DATADIR:               /usr/share
        LIBDIR:                /usr/lib
        LIBEXECDIR:            /usr/libexec
        SYSCONFDIR:            /etc
        PYTHONINSTALLDIR:      /usr/lib/python2.6/site-packages
        RUBYINSTALLDIR:        /usr/lib/ruby/site_ruby/1.8/i686-linux

System:
    Linux kirk 2.6.32-rc5 #1 Sat Oct 17 14:38:38 BST 2009 i686 Intel(R) Celeron(R) M processor 1.50GHz GenuineIntel GNU/Linux

Reduced Privs:
    reduced_uid:               111
    reduced_uid->name:         paludisbuild
    reduced_uid->dir:          /var/tmp/paludis
    reduced_gid:               1028
    reduced_gid->name:         paludisbuild

Environment:
    Format:                    paludis
    Config dir:                /etc/paludis
    World file:                /var/db/pkg/world
Package net-libs/opal-3.6.6:0::gentoo:

        >>> Running ebuild phase killold as paludisbuild:paludisbuild...
        >>> Starting builtin_killold
        >>> Done builtin_killold
        >>> Completed ebuild phase killold
        >>> Running ebuild phases initmisc infovars as paludisbuild:paludisbuild...
        >>> Starting builtin_initmisc
        >>> Done builtin_initmisc
        >>> Starting builtin_infovars
        ACCEPT_KEYWORDS=x86
        CBUILD=i686-pc-linux-gnu
        CFLAGS=-Os -mtune=pentium-m -march=pentium-m -mfpmath=sse -pipe -momit-leaf-frame-pointer -ggdb -w -ftree-vectorize -ftree-loop-optimize -ftree-loop-linear -freorder-blocks-and-partition -fgcse-sm -fgcse-las -fgcse-after-reload -ftracer -maccumulate-outgoing-args -findirect-inlining -floop-interchange -floop-block -floop-strip-mine
        CHOST=i686-pc-linux-gnu
        CONFIG_PROTECT= 
        CONFIG_PROTECT_MASK= 
        CPPFLAGS=
        CTARGET=
        CXXFLAGS=-Os -mtune=pentium-m -march=pentium-m -mfpmath=sse -pipe -momit-leaf-frame-pointer -ggdb -w -ftree-vectorize -ftree-loop-optimize -ftree-loop-linear -freorder-blocks-and-partition -fgcse-sm -fgcse-las -fgcse-after-reload -ftracer -maccumulate-outgoing-args -findirect-inlining -floop-interchange -floop-block -floop-strip-mine
        DISTDIR=/var/tmp/distfiles
        FEATURES=collision-protect cvs digest multilib-strict sign splitdebug stricter test userpriv usersandbox
        FFLAGS=
        GENTOO_MIRRORS=
        INSTALL_MASK=
        LANG=
        LC_ALL=C
        LDFLAGS=-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=both -Wl,--sort-common
        LINGUAS=en_GB en_US pl
        MAKEOPTS=
        PORTAGE_COMPRESS=
        PORTAGE_COMPRESS_FLAGS=
        PORTAGE_CONFIGROOT=
        PORTAGE_RSYNC_EXTRA_OPTS=
        PORTAGE_RSYNC_OPTS=
        PORTAGE_TMPDIR=/var/tmp/paludis
        PORTDIR=/usr/portage
        PORTDIR_OVERLAY=
        SYNC=
        USE=audio doc ffmpeg h323 ipv6 java ldap plugins sip ssl theora video wav x264 xml x86 alsa_cards_atiixp alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mmap_emul alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2_modules_actions apache2_modules_alias apache2_modules_auth_basic apache2_modules_authn_alias apache2_modules_authn_anon apache2_modules_authn_dbm apache2_modules_authn_default apache2_modules_authn_file apache2_modules_authz_dbm apache2_modules_authz_default apache2_modules_authz_groupfile apache2_modules_authz_host apache2_modules_authz_owner apache2_modules_authz_user apache2_modules_autoindex apache2_modules_cache apache2_modules_dav apache2_modules_dav_fs apache2_modules_dav_lock apache2_modules_deflate apache2_modules_dir apache2_modules_disk_cache apache2_modules_env apache2_modules_expires apache2_modules_ext_filter apache2_modules_file_cache apache2_modules_filter apache2_modules_headers apache2_modules_include apache2_modules_info apache2_modules_log_config apache2_modules_logio apache2_modules_mem_cache apache2_modules_mime apache2_modules_mime_magic apache2_modules_negotiation apache2_modules_rewrite apache2_modules_setenvif apache2_modules_speling apache2_modules_status apache2_modules_unique_id apache2_modules_userdir apache2_modules_usertrack apache2_modules_vhost_alias cameras_panasonic elibc_glibc input_devices_evdev kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text linguas_en_GB linguas_en_US linguas_pl netbeans_modules_ide netbeans_modules_java netbeans_modules_websvccommon qemu_softmmu_targets_i386 qemu_softmmu_targets_x86_64 qemu_user_targets_i386 qemu_user_targets_x86_64 sane_backends_gt68xx userland_GNU video_cards_radeon x86 
        >>> Done builtin_infovars
        >>> Completed ebuild phases initmisc infovars
        >>> Running ebuild phase tidyup as paludisbuild:paludisbuild...
        >>> Starting builtin_tidyup
        >>> Done builtin_tidyup
        rm -fr /var/tmp/paludis/net-libs-opal-3.6.6-info
        >>> Completed ebuild phase tidyup
Comment 1 Sebastian Luther (few) 2009-11-08 20:22:00 UTC
Which use flags do you have enabled for opal?
Comment 2 Markos Chandras (RETIRED) gentoo-dev 2009-11-09 17:11:25 UTC
I guess there is something wrong with configure phase. Since you demand  media-libs/speex as dependency you should use --enable-localspeex as configure switch. 

Read the posted URL for more details
Comment 3 Peter Volkov (RETIRED) gentoo-dev 2010-02-12 07:01:18 UTC
uzytkownik, what speex version do you have installed. Could you confirm that this problem still exists with speex-1.2_rc1? And please report back what opal USE flags do you use. I'm unable to reproduce this failure here.
Comment 4 Donnie Berkholz (RETIRED) gentoo-dev 2010-04-24 20:47:00 UTC
I'm also hitting this problem, with USE="speex" or USE="-speex" makes no difference.

$ qlist -I -v speex
media-libs/speex-1.2_rc1
$ emerge -p net-libs/opal
[ebuild  N    ] net-libs/opal-3.6.7  USE="audio ffmpeg h323 java ldap plugins sip sipim ssl swig theora video wav x264 xml -capi -celt -debug -doc -dtmf -examples -fax -h224 -h281 -iax -ipv6 -ivr -ixj -lid -sbc -srtp -stats -vpb -vxml -x264-static" 
Comment 5 Donnie Berkholz (RETIRED) gentoo-dev 2010-04-24 21:01:17 UTC
(In reply to comment #4)
> I'm also hitting this problem, with USE="speex" or USE="-speex" makes no
> difference.

Nevermind that part, this flag clearly doesn't exist for current opal, I must've been thinking of an older version or something.

I'm really pretty stuck here, I can't get this working so I can't update ekiga or gnome.
Comment 6 Peter Volkov (RETIRED) gentoo-dev 2010-04-25 11:00:09 UTC
Donnie, could you attach full build log? speex defines spx_int32_t in speex_types.h, so I'm unsure where this error comes from...
Comment 7 Donnie Berkholz (RETIRED) gentoo-dev 2010-08-07 23:15:49 UTC
Created attachment 241811 [details]
opal-3.6.7 build log
Comment 8 Donnie Berkholz (RETIRED) gentoo-dev 2010-08-07 23:17:10 UTC
Created attachment 241813 [details]
opal-3.6.7 config.log
Comment 9 Travis Kelley 2011-01-20 15:25:35 UTC
I'm seeing the same issue with opal-3.6.8.  Was a solution ever found for this?  I'll attach my build log also.  Any ideas to try?

CC] src/codec/opalwavfile.cxx
[CC] src/codec/silencedetect.cxx
[CC] src/codec/echocancel.cxx
/var/tmp/portage/net-libs/opal-3.6.8-r1/work/opal-3.6.8/src/codec/echocancel.cxx: In member function 'virtual void OpalEchoCanceler::ReceivedPacket(RTP_DataFrame&, INT)':
/var/tmp/portage/net-libs/opal-3.6.8-r1/work/opal-3.6.8/src/codec/echocancel.cxx:208: error: cannot convert 'float*' to 'spx_int32_t*' for argument '5' to 'void speex_echo_cancel(SpeexEchoState*, const spx_int16_t*, const spx_int16_t*, spx_int16_t*, spx_int32_t*)'
/var/tmp/portage/net-libs/opal-3.6.8-r1/work/opal-3.6.8/src/codec/echocancel.cxx:215: error: cannot convert 'float*' to 'spx_int32_t*' for argument '3' to 'int speex_preprocess(SpeexPreprocessState*, spx_int16_t*, spx_int32_t*)'
Comment 10 Travis Kelley 2011-01-20 15:25:58 UTC
Created attachment 260373 [details]
build log
Comment 11 Travis Kelley 2011-01-20 15:26:33 UTC
Created attachment 260375 [details]
emerge info
Comment 12 Rafał Mużyło 2011-02-10 14:21:25 UTC
Well, the problem is that OPAL_SPEEX_FLOAT tests *positively* for float.
It should fail.
Perhaps it should be using "-Wall -Werror" instead of just "-Werror" ?
Or use g++ for that linking test ?
Comment 13 Rafał Mużyło 2011-02-12 14:45:04 UTC
*** Bug 354605 has been marked as a duplicate of this bug. ***
Comment 14 Travis Kelley 2011-02-25 18:01:25 UTC
merging with -Wall and -Werror in CFLAGS doesn't appear to have any impact.  Is that what you were suggesting?  Is there anything else we can do to troubleshoot?
Comment 15 Rafał Mużyło 2011-02-25 21:58:54 UTC
@comment 14:
Well, extract that test into a single file and see what warning flags are needed for the float warning to appear.
Comment 16 Travis Kelley 2011-03-04 20:47:27 UTC
@comment 15:
I'm not exactly sure how to do what you've suggested, but I did manage to get opal to merge by modifying the source a bit.  The following two blocks of code looked strange as the if statements are commented out so it runs the same function twice with different casts.  I was able to get it to build by changing the cast in the true side of both of these if statements to "spx_int32_t" instead of "float".  Not sure what this may break, but at least it builds.  These are lines 208 and 215 in echocancel.cxx.

  /* Cancel the echo in this frame */
#if OPAL_SPEEX_FLOAT_NOISE
  speex_echo_cancel(echoState, (short *)ref_buf, (short *)echo_buf, (short *)e_buf, (float *)noise);
#else
  speex_echo_cancel(echoState, (short *)ref_buf, (short *)echo_buf, (short *)e_buf, (spx_int32_t *)noise);
#endif

  /* Suppress the noise */
#if OPAL_SPEEX_FLOAT_NOISE
  speex_preprocess(preprocessState, (spx_int16_t *)e_buf, (float *)noise);
#else
  speex_preprocess(preprocessState, (spx_int16_t *)e_buf, (spx_int32_t *)noise);
#endif
Comment 17 Rafał Mużyło 2011-03-06 16:36:45 UTC
@comment 16: well, that's just the thing - OPAL_SPEEX_FLOAT_NOISE
 should be 0.
See OPAL_SPEEX_FLOAT in opal.m4 - as I said, that check should fail, but doesn't.
Comment 18 Peter Volkov (RETIRED) gentoo-dev 2011-05-01 08:23:17 UTC
Created attachment 271727 [details]
speex-test.c

OPAL_SPEEX_FLOAT reports failure here (both x86 and amd64) (as it should). Anybody who has problems here, please, try to compile attached and show us output.
Comment 19 Peter Volkov (RETIRED) gentoo-dev 2011-05-01 08:24:00 UTC
here is the command to build this test:
$ gcc -c speex-test.c -o speex-test.o -Werror
Comment 20 Jeremy Murphy 2011-11-06 04:46:13 UTC
(In reply to comment #19)
> here is the command to build this test:
> $ gcc -c speex-test.c -o speex-test.o -Werror

cc1: warnings being treated as errors
speex-test.c: In function ‘main’:
speex-test.c:9:3: error: passing argument 3 of ‘speex_preprocess’ from incompatible pointer type
/usr/include/speex/speex_preprocess.h:80:5: note: expected ‘spx_int32_t *’ but argument is of type ‘float *’


I've also made a bump request for the latest version of opal, since 3.6.8 is pretty old now.
Comment 21 Jeremy Murphy 2012-01-27 04:12:42 UTC
*bump* Any progress or interest in this bug?
Comment 22 Rafał Mużyło 2012-01-27 12:46:11 UTC
(In reply to comment #21)
> *bump* Any progress or interest in this bug?

Your result from the previous comment is the correct one.
Is there any problem during build ?
If so, attach your build log and config.log.
Comment 23 Jesus Rivero (RETIRED) gentoo-dev 2012-10-24 21:47:11 UTC
I just committed a net-libs/opal-3.10.8
It seems to have fixed this issue. 

Please reopen if necessary.
Comment 24 Jeremy Murphy 2012-10-28 05:41:17 UTC
Sorry to be difficult, but this bug is not actually resolved/fixed.

The bug is still present in the package and the new version is no drop-in replacement (yet).
Comment 25 Jeremy Murphy 2012-10-28 05:55:38 UTC
Created attachment 327558 [details]
build.log: 3.10.8-r1 fails to compile

Sadly, 3.10.8 still suffers from this issue, so please reopen.
Comment 26 Rafał Mużyło 2012-10-28 08:11:19 UTC
@comment 25: attach config.log too (cause for some reason test goes 'checking Speex has float... yes', when it shouldn't).
Recheck the test manually too.
Comment 27 Jeremy Murphy 2012-12-05 07:02:59 UTC
I can't reopen this bug, someone else has to, and I wish they would.
This bug persists in the latest version added to portage, 3.10.9.
Comment 28 Rafał Mużyło 2012-12-05 15:33:29 UTC
(In reply to comment #27)
> I can't reopen this bug, someone else has to, and I wish they would.
> This bug persists in the latest version added to portage, 3.10.9.

see comment 26
Comment 29 Jeremy Murphy 2013-01-07 02:02:32 UTC
Created attachment 334698 [details]
build.log: 3.10.9 fails to compile
Comment 30 Jeremy Murphy 2013-01-07 02:03:41 UTC
Created attachment 334700 [details]
config.log: From 3.10.9 build failure.

OK, here is the config.log and I also attached the build.log previously.
Comment 31 Rafał Mużyło 2013-01-07 06:49:58 UTC
@comment 30:

configure:7285: x86_64-pc-linux-gnu-gcc -o conftest -O2 -pipe -w -march=native -Wall -Wextra -Wstrict-aliasing -Wfloat-equal -Wno-comment -Wno-unused -Winit-self -Wno-missing-field-initializers -DP_64BIT -DPTRACING=0 -DPASN_NOPRINTON -DPASN_LEANANDMEAN -D_REENTRANT -D_GNU_SOURCE=1 -fno-exceptions -I/usr/include/SDL   -fPIC    -Werror  -Wl,-O1 -Wl,--as-needed -DP_64BIT -DPTRACING=0 -DPASN_NOPRINTON -DPASN_LEANANDMEAN -D_REENTRANT -D_GNU_SOURCE=1 -fno-exceptions -I/usr/include/SDL   conftest.c  -ldl -lspeexdsp   >&5


The only surprise here is that '-w' isn't order sensitive, otherwise it's your own bug and chances are some of your other packages might be affected with a variation of it too.
Comment 32 Jeremy Murphy 2013-04-05 06:30:43 UTC
I don't understand, why is it my bug?  This bug occurs on both my Gentoo systems, and obviously it occurs for other people too.

The suggested fix posted by Travis Kelley still works btw.
Comment 33 Rafał Mużyło 2013-04-05 08:10:08 UTC
(In reply to comment #32)
> I don't understand, why is it my bug?  This bug occurs on both my Gentoo
> systems, and obviously it occurs for other people too.
> 

It happens on both of your systems most likely cause on both of your systems you've got '-w' in your CFLAGS.

As I said above, -Wfoo after -w don't seem to override it, so the check doesn't work properly.

I wouldn't consider it a problem of the check - there are i.e. a few standard autoconf checks, that break if -Wall is in CFLAGS - your case is about the same, just in the opposite direction.
Comment 34 Jeremy Murphy 2013-04-20 08:02:05 UTC
You're right!  :)  When I removed "-w" it compiled fine.  So although there is _something_ wrong with their build/config system, it's not nearly as serious as I thought.  I vote that this bug be closed as trivial/fix-available/whatever.  Cheers.