[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
Which use flags do you have enabled for opal?
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
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.
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"
(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.
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...
Created attachment 241811 [details] opal-3.6.7 build log
Created attachment 241813 [details] opal-3.6.7 config.log
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*)'
Created attachment 260373 [details] build log
Created attachment 260375 [details] emerge info
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 ?
*** Bug 354605 has been marked as a duplicate of this bug. ***
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 14: Well, extract that test into a single file and see what warning flags are needed for the float warning to appear.
@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 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.
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.
here is the command to build this test: $ gcc -c speex-test.c -o speex-test.o -Werror
(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.
*bump* Any progress or interest in this bug?
(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.
I just committed a net-libs/opal-3.10.8 It seems to have fixed this issue. Please reopen if necessary.
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).
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 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.
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.
(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
Created attachment 334698 [details] build.log: 3.10.9 fails to compile
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 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.
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.
(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.
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.