2015-09-03 23:15 GMT+03:00 Alexandre H <openbs...@wanadoo.fr>:
> Le 09/02/15 13:23, Nigel Taylor a écrit :
>
>> On 09/01/15 23:54, Alexandre H wrote:
>>>
>>> Le 08/27/15 01:22, Nigel Taylor a écrit :
>>>>
>>>> On 08/25/15 22:58, Alexandre H wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> Please, have a look to the following bug.
>>>>>
>>>>>> Environment:
>>>>>
>>>>>           System      : OpenBSD 5.8
>>>>>           Details     : OpenBSD 5.8 (CUSTOM.MP-2) #0: Fri Jul 31
>>>>> 19:48:09
>>>>> CEST 2015
>>>>>
>>>>> r...@makix.my.domain:/usr/src/sys/arch/amd64/compile/CUSTOM.MP-2
>>>>>
>>>>>           Architecture: OpenBSD.amd64
>>>>>           Machine     : amd64
>>>>>       I have already sent the dmesg to tech@ the 4 august
>>>>>>
>>>>>> Description:
>>>>>
>>>>>           5.8 amd64 :
>>>>>       With kdebase alone artsd work as excepted.
>>>>>       With kdebase and kdemultimedia artsd coredumps with ogg & mp3 and
>>>>> work with wav.
>>>>>       The bug happens in 5.7-release and 5.8.
>>>>>>
>>>>>> How-To-Repeat:
>>>>>
>>>>>
>>>>> 1) In 5.7-release or 5.8 you need to install kdebase-3.5.10 and
>>>>> kdemultimedia-3.5.10.
>>>>>
>>>>> 2) With KDE3 started, you stop artsd :
>>>>> kill -15 $(ps -aux|grep artsd|grep -v grep|awk '{print $2}')
>>>>>
>>>>> 3) You check that artsd is stopped :
>>>>> ps -aux|grep artsd
>>>>>
>>>>> 4) In a ttyC (or in a Konsole) you launch a new artsd :
>>>>> artsd
>>>>>
>>>>> 5) In another ttyC (or in another Konsole) you launch the following
>>>>> command (you can choose another mp3 or a ogg file) :
>>>>> artsplay song57.mp3
>>>>>
>>>>> In the first console you will have the following output :
>>>>>
>>>>> artsd:/usr/local/lib/libarts_xine.so.0.0: undefined symbol
>>>>> 'ao_new_port'
>>>>> lazy binding failed!
>>>>> Segmentation fault (core dumped)
>>>>>
>>>>> And you will find a file artsd.core.
>>>>> -----------------------------------------------------------
>>>>> # gdb -e artsd -c artsd.core
>>>>> GNU gdb 6.3
>>>>> Copyright 2004 Free Software Foundation, Inc.
>>>>> GDB is free software, covered by the GNU General Public License, and
>>>>> you
>>>>> are
>>>>> welcome to change it and/or distribute copies of it under certain
>>>>> conditions.
>>>>> Type "show copying" to see the conditions.
>>>>> There is absolutely no warranty for GDB.  Type "show warranty" for
>>>>> details.
>>>>> This GDB was configured as "amd64-unknown-openbsd5.8".
>>>>> Core was generated by `artsd'.
>>>>> Program terminated with signal 11, Segmentation fault.
>>>>> Reading symbols from /usr/lib/libpthread.so.19.0...done.
>>>>> Loaded symbols for /usr/lib/libpthread.so.19.0
>>>>> Loaded symbols for /usr/local/bin/artsd
>>>>> Reading symbols from /usr/local/lib/libsoundserver_idl.so.2.0...done.
>>>>> Loaded symbols for /usr/local/lib/libsoundserver_idl.so.2.0
>>>>> Reading symbols from /usr/local/lib/libkmedia2_idl.so.2.0...done.
>>>>> Loaded symbols for /usr/local/lib/libkmedia2_idl.so.2.0
>>>>> Reading symbols from /usr/local/lib/libartsflow.so.2.0...done.
>>>>> Loaded symbols for /usr/local/lib/libartsflow.so.2.0
>>>>> Reading symbols from /usr/local/lib/libmcop.so.2.0...done.
>>>>> Loaded symbols for /usr/local/lib/libmcop.so.2.0
>>>>> Reading symbols from /usr/local/lib/libgmodule-2.0.so.4200.1...done.
>>>>> Loaded symbols for /usr/local/lib/libgmodule-2.0.so.4200.1
>>>>> Reading symbols from /usr/local/lib/libglib-2.0.so.4200.1...done.
>>>>> Loaded symbols for /usr/local/lib/libglib-2.0.so.4200.1
>>>>> Reading symbols from /usr/local/lib/libiconv.so.6.0...done.
>>>>> Loaded symbols for /usr/local/lib/libiconv.so.6.0
>>>>> Reading symbols from /usr/local/lib/libpcre.so.3.0...done.
>>>>> Loaded symbols for /usr/local/lib/libpcre.so.3.0
>>>>> Reading symbols from /usr/local/lib/libintl.so.6.0...done.
>>>>> Loaded symbols for /usr/local/lib/libintl.so.6.0
>>>>> Reading symbols from /usr/local/lib/libgthread-2.0.so.4200.1...done.
>>>>> Loaded symbols for /usr/local/lib/libgthread-2.0.so.4200.1
>>>>> Reading symbols from /usr/local/lib/libartsflow_idl.so.2.0...done.
>>>>> Loaded symbols for /usr/local/lib/libartsflow_idl.so.2.0
>>>>> Reading symbols from /usr/local/lib/libaudiofile.so.1.0...done.
>>>>> Loaded symbols for /usr/local/lib/libaudiofile.so.1.0
>>>>> Reading symbols from /usr/local/lib/libFLAC.so.10.0...done.
>>>>> Loaded symbols for /usr/local/lib/libFLAC.so.10.0
>>>>> Reading symbols from /usr/local/lib/libogg.so.6.2...done.
>>>>> Loaded symbols for /usr/local/lib/libogg.so.6.2
>>>>> Reading symbols from /usr/lib/libsndio.so.6.0...done.
>>>>> Loaded symbols for /usr/lib/libsndio.so.6.0
>>>>> Reading symbols from /usr/local/lib/libvorbis.so.9.0...done.
>>>>> Loaded symbols for /usr/local/lib/libvorbis.so.9.0
>>>>> Reading symbols from /usr/local/lib/libvorbisfile.so.6.0...done.
>>>>> Loaded symbols for /usr/local/lib/libvorbisfile.so.6.0
>>>>> Reading symbols from /usr/local/lib/libvorbisenc.so.3.1...done.
>>>>> Loaded symbols for /usr/local/lib/libvorbisenc.so.3.1
>>>>> Reading symbols from /usr/local/lib/libmad.so.2.1...done.
>>>>> Loaded symbols for /usr/local/lib/libmad.so.2.1
>>>>> Reading symbols from /usr/local/lib/libmcop_mt.so.2.0...done.
>>>>> Loaded symbols for /usr/local/lib/libmcop_mt.so.2.0
>>>>> Reading symbols from /usr/lib/libstdc++.so.57.0...done.
>>>>> Loaded symbols for /usr/lib/libstdc++.so.57.0
>>>>> Reading symbols from /usr/lib/libm.so.9.0...done.
>>>>> Loaded symbols for /usr/lib/libm.so.9.0
>>>>> Symbols already loaded for /usr/lib/libpthread.so.19.0
>>>>> Reading symbols from /usr/lib/libc.so.80.1...done.
>>>>> Loaded symbols for /usr/lib/libc.so.80.1
>>>>> Reading symbols from /usr/libexec/ld.so...done.
>>>>> Loaded symbols for /usr/libexec/ld.so
>>>>> Reading symbols from /usr/local/lib/libartsmidi.so.1.0...done.
>>>>> Loaded symbols for /usr/local/lib/libartsmidi.so.1.0
>>>>> Reading symbols from /usr/local/lib/libartsmidi_idl.so.1.0...done.
>>>>> Loaded symbols for /usr/local/lib/libartsmidi_idl.so.1.0
>>>>> Reading symbols from /usr/local/lib/libartsbuilder.so.1.0...done.
>>>>> Loaded symbols for /usr/local/lib/libartsbuilder.so.1.0
>>>>> Reading symbols from /usr/local/lib/libarts_xine.so.0.0...done.
>>>>> Loaded symbols for /usr/local/lib/libarts_xine.so.0.0
>>>>> Reading symbols from /usr/local/lib/libxine.so.32.0...done.
>>>>> Loaded symbols for /usr/local/lib/libxine.so.32.0
>>>>> Reading symbols from /usr/X11R6/lib/libfontconfig.so.9.1...done.
>>>>> Loaded symbols for /usr/X11R6/lib/libfontconfig.so.9.1
>>>>> Reading symbols from /usr/X11R6/lib/libfreetype.so.24.0...done.
>>>>> Loaded symbols for /usr/X11R6/lib/libfreetype.so.24.0
>>>>> Reading symbols from /usr/lib/libz.so.5.0...done.
>>>>> Loaded symbols for /usr/lib/libz.so.5.0
>>>>> Reading symbols from /usr/lib/libexpat.so.11.0...done.
>>>>> Loaded symbols for /usr/lib/libexpat.so.11.0
>>>>> Reading symbols from /usr/X11R6/lib/libpthread-stubs.so.2.0...done.
>>>>> Loaded symbols for /usr/X11R6/lib/libpthread-stubs.so.2.0
>>>>> Reading symbols from /usr/local/lib/libxdg-basedir.so.2.0...done.
>>>>> Loaded symbols for /usr/local/lib/libxdg-basedir.so.2.0
>>>>> Reading symbols from /usr/local/lib/libavutil.so.12.3...done.
>>>>> Loaded symbols for /usr/local/lib/libavutil.so.12.3
>>>>> Reading symbols from /usr/X11R6/lib/libX11.so.16.1...done.
>>>>> Loaded symbols for /usr/X11R6/lib/libX11.so.16.1
>>>>> Reading symbols from /usr/X11R6/lib/libxcb.so.3.1...done.
>>>>> Loaded symbols for /usr/X11R6/lib/libxcb.so.3.1
>>>>> Reading symbols from /usr/X11R6/lib/libXext.so.13.0...done.
>>>>> Loaded symbols for /usr/X11R6/lib/libXext.so.13.0
>>>>> Reading symbols from /usr/X11R6/lib/libXau.so.10.0...done.
>>>>> Loaded symbols for /usr/X11R6/lib/libXau.so.10.0
>>>>> Reading symbols from /usr/X11R6/lib/libXdmcp.so.11.0...done.
>>>>> Loaded symbols for /usr/X11R6/lib/libXdmcp.so.11.0
>>>>> #0  _dl_bind (object=0x10f5811d400, index=Variable "index" is not
>>>>> available.
>>>>> ) at /usr/src/libexec/ld.so/amd64/rtld_machine.c:383
>>>>> 383                     *(volatile int *)0 = 0;         /* XXX */
>>>>> (gdb) bt full
>>>>> #0  _dl_bind (object=0x10f5811d400, index=Variable "index" is not
>>>>> available.
>>>>> ) at /usr/src/libexec/ld.so/amd64/rtld_machine.c:383
>>>>>           rel = (Elf64_Rela *) 0x10fb3e570c0
>>>>>           sym = Variable "sym" is not available.
>>>>> (gdb) list
>>>>> 383                     *(volatile int *)0 = 0;         /* XXX */
>>>>> 384             }
>>>>> 385
>>>>> 386             newval = ooff + this->st_value + rel->r_addend;
>>>>> 387
>>>>> 388             if (sobj->traced && _dl_trace_plt(sobj, symn))
>>>>> 389                     return newval;
>>>>> 390
>>>>> 391             /* if GOT is protected, allow the write */
>>>>> 392             if (object->got_size != 0) {
>>>>> -----------------------------------------------------------
>>>>> Adding --enable-debug for configure change nothing.
>>>>> The last update on arts3 change nothing.
>>>>> Hopefully it's only artsd with kdemultimedia who has this bug.
>>>>>
>>>>>> Fix:
>>>>>
>>>>> I found nothing really useful on the web and the lists.
>>>>> I have tried some little hacks, no one work.
>>>>> After some researchs I found two similar errors related to respectively
>>>>> _x_ao_new_port and ao_new_port with ld in
>>>>> /usr/ports/pobj/kdemultimedia-3.5.10/build-amd64/config.log :
>>>>> -----------------------------------------------------------
>>>>> configure:42290: checking for _x_ao_new_port in -lxine
>>>>> configure:42325: cc -o conftest -DNDEBUG -O2  -O2 -pipe
>>>>> -DQT_THREAD_SUPPORT   -L/usr/local/lib -L/usr/local/lib/qt3
>>>>> -L/usr/X11R6/lib    -L/usr/local/lib/kde3 -L/usr/local/lib/db4
>>>>> -L/usr/local/lib/samba -L/usr/local/lib conftest.c -lxine -pthread  >&5
>>>>> /usr/local/lib/libxine.so.32.0: warning: warning: strcpy() is almost
>>>>> always misused, please use strlcpy()
>>>>> /usr/local/lib/libxine.so.32.0: warning: warning: strcat() is almost
>>>>> always misused, please use strlcat()
>>>>> /usr/local/lib/libxine.so.32.0: warning: warning: sprintf() is often
>>>>> misused, please use snprintf()
>>>>> /tmp//cczltori.o: In function `main':
>>>>> conftest.c:(.text+0x7): undefined reference to `_x_ao_new_port'
>>>>> collect2: ld returned 1 exit status
>>>>> configure:42331: $? = 1
>>>>> configure: failed program was:
>>>>> | /* confdefs.h.  */
>>>>> | #define PACKAGE_NAME ""
>>>>> | #define PACKAGE_TARNAME ""
>>>>> | #define PACKAGE_VERSION ""
>>>>> | #define PACKAGE_STRING ""
>>>>> | #define PACKAGE_BUGREPORT ""
>>>>> | #define PACKAGE "kdemultimedia"
>>>>> | #define VERSION "3.5.10"
>>>>> | #define KDELIBSUFF ""
>>>>> | #define STDC_HEADERS 1
>>>>> | #define HAVE_SYS_TYPES_H 1
>>>>> | #define HAVE_SYS_STAT_H 1
>>>>> | #define HAVE_STDLIB_H 1
>>>>> | #define HAVE_STRING_H 1
>>>>> | #define HAVE_MEMORY_H 1
>>>>> | #define HAVE_STRINGS_H 1
>>>>> | #define HAVE_INTTYPES_H 1
>>>>> | #define HAVE_STDINT_H 1
>>>>> | #define HAVE_UNISTD_H 1
>>>>> | #define HAVE_DLFCN_H 1
>>>>> | #define HAVE_SGI_STL 1
>>>>> | #define HAVE_STRLCAT 1
>>>>> | #define HAVE_STRLCAT_PROTO 1
>>>>> | #define HAVE_STRLCPY 1
>>>>> | #define HAVE_STRLCPY_PROTO 1
>>>>> | #define HAVE_CRYPT 1
>>>>> | #define kde_socklen_t socklen_t
>>>>> | #define ksize_t socklen_t
>>>>> | #define HAVE_SYS_TYPES_H 1
>>>>> | #define HAVE_STDINT_H 1
>>>>> | #define HAVE_RES_INIT 1
>>>>> | #define HAVE_RES_INIT_PROTO 1
>>>>> | #define SIZEOF_INT 4
>>>>> | #define SIZEOF_SHORT 2
>>>>> | #define SIZEOF_LONG 8
>>>>> | #define SIZEOF_CHAR_P 8
>>>>> | #define SIZEOF_SIZE_T 8
>>>>> | #define SIZEOF_UNSIGNED_LONG 8
>>>>> | #define HAVE_VSNPRINTF 1
>>>>> | #define HAVE_SNPRINTF 1
>>>>> | #define HAVE_LIBZ 1
>>>>> | #define HAVE_LIBPNG 1
>>>>> | #define HAVE_LIBJPEG 1
>>>>> | #define HAVE_LIBPTHREAD 1
>>>>> | #define HAVE_DIRENT_H 1
>>>>> | #define STDC_HEADERS 1
>>>>> | #define HAVE_FCNTL_H 1
>>>>> | #define HAVE_SYS_TIME_H 1
>>>>> | #define HAVE_UNISTD_H 1
>>>>> | #define HAVE_SYS_FILIO_H 1
>>>>> | #define HAVE_SYS_AUDIOIO_H 1
>>>>> | #define HAVE_SYS_SEM_H 1
>>>>> | #define HAVE_STRING_H 1
>>>>> | #define HAVE_GETOPT_H 1
>>>>> | #define HAVE_MACHINE_ENDIAN_H 1
>>>>> | #define HAVE_USLEEP 1
>>>>> | #define HAVE_SNPRINTF 1
>>>>> | #define TIME_WITH_SYS_TIME 1
>>>>> | #define RETSIGTYPE void
>>>>> | #define HAVE_OGG_VORBIS 1
>>>>> | #define HAVE_VORBIS 2
>>>>> | #define OGG_VORBIS 1
>>>>> | #define HAVE_SOUNDCARD_H 1
>>>>> | #define CDDA_PARANOIA 1
>>>>> | #define HAVE_TAGLIB 1
>>>>> | #define HAVE_AKODE 1
>>>>> | #define HAVE_ARTS 1
>>>>> | #define HAVE_LIBPTHREAD 1
>>>>> | #define HAVE_LIBAUDIOFILE 1
>>>>> | #define HAVE_MUSICBRAINZ 0
>>>>> | #define HAVE_GSTREAMER 1
>>>>> | #define GSTREAMER_VERSION 10
>>>>> | #define HAVE_LIBTHEORA 1
>>>>> | #define HAVE_LIBFLAC 1
>>>>> | #define HAVE_LIBOGGFLAC 1
>>>>> | #define USE_ARTS 1
>>>>> | #define HAVE_PTHREAD_H 1
>>>>> | #define HAVE_SOUNDCARD_H 1
>>>>> | #define ATTRIBUTE_ALIGNED_MAX 64
>>>>> | #define X11_SHARED_MEM 1
>>>>> | #define X11_DGA2 1
>>>>> | #define X11_XV 1
>>>>> | #define X11_XVIDMODE 1
>>>>> | #define OS_BSD 1
>>>>> | #define HAVE_DIRENT_H 1
>>>>> | #define STDC_HEADERS 1
>>>>> | #define TIME_WITH_SYS_TIME 1
>>>>> | #define HAVE_FCNTL_H 1
>>>>> | #define HAVE_SYS_TIME_H 1
>>>>> | #define HAVE_UNISTD_H 1
>>>>> | #define HAVE_STDLIB_H 1
>>>>> | #define HAVE_PATHS_H 1
>>>>> | #define HAVE_USLEEP 1
>>>>> | /* end confdefs.h.  */
>>>>> |
>>>>> | /* Override any GCC internal prototype to avoid an error.
>>>>> |    Use char because int might match the return type of a GCC
>>>>> |    builtin and then its argument prototype would still apply.  */
>>>>> | #ifdef __cplusplus
>>>>> | extern "C"
>>>>> | #endif
>>>>> | char _x_ao_new_port ();
>>>>> | int
>>>>> | main ()
>>>>> | {
>>>>> | return _x_ao_new_port ();
>>>>> |   ;
>>>>> |   return 0;
>>>>> | }
>>>>> configure:42349: result: no
>>>>> configure:42365: checking for ao_new_port
>>>>> configure:42421: cc -o conftest -DNDEBUG -O2  -O2 -pipe
>>>>> -DQT_THREAD_SUPPORT   conftest.c  >&5
>>>>> /tmp//ccONgSjb.o: In function `main':
>>>>> conftest.c:(.text+0x7): undefined reference to `ao_new_port'
>>>>> collect2: ld returned 1 exit status
>>>>> configure:42427: $? = 1
>>>>> configure: failed program was:
>>>>> | /* confdefs.h.  */
>>>>> | #define PACKAGE_NAME ""
>>>>> | #define PACKAGE_TARNAME ""
>>>>> | #define PACKAGE_VERSION ""
>>>>> | #define PACKAGE_STRING ""
>>>>> | #define PACKAGE_BUGREPORT ""
>>>>> | #define PACKAGE "kdemultimedia"
>>>>> | #define VERSION "3.5.10"
>>>>> | #define KDELIBSUFF ""
>>>>> | #define STDC_HEADERS 1
>>>>> | #define HAVE_SYS_TYPES_H 1
>>>>> | #define HAVE_SYS_STAT_H 1
>>>>> | #define HAVE_STDLIB_H 1
>>>>> | #define HAVE_STRING_H 1
>>>>> | #define HAVE_MEMORY_H 1
>>>>> | #define HAVE_STRINGS_H 1
>>>>> | #define HAVE_INTTYPES_H 1
>>>>> | #define HAVE_STDINT_H 1
>>>>> | #define HAVE_UNISTD_H 1
>>>>> | #define HAVE_DLFCN_H 1
>>>>> | #define HAVE_SGI_STL 1
>>>>> | #define HAVE_STRLCAT 1
>>>>> | #define HAVE_STRLCAT_PROTO 1
>>>>> | #define HAVE_STRLCPY 1
>>>>> | #define HAVE_STRLCPY_PROTO 1
>>>>> | #define HAVE_CRYPT 1
>>>>> | #define kde_socklen_t socklen_t
>>>>> | #define ksize_t socklen_t
>>>>> | #define HAVE_SYS_TYPES_H 1
>>>>> | #define HAVE_STDINT_H 1
>>>>> | #define HAVE_RES_INIT 1
>>>>> | #define HAVE_RES_INIT_PROTO 1
>>>>> | #define SIZEOF_INT 4
>>>>> | #define SIZEOF_SHORT 2
>>>>> | #define SIZEOF_LONG 8
>>>>> | #define SIZEOF_CHAR_P 8
>>>>> | #define SIZEOF_SIZE_T 8
>>>>> | #define SIZEOF_UNSIGNED_LONG 8
>>>>> | #define HAVE_VSNPRINTF 1
>>>>> | #define HAVE_SNPRINTF 1
>>>>> | #define HAVE_LIBZ 1
>>>>> | #define HAVE_LIBPNG 1
>>>>> | #define HAVE_LIBJPEG 1
>>>>> | #define HAVE_LIBPTHREAD 1
>>>>> | #define HAVE_DIRENT_H 1
>>>>> | #define STDC_HEADERS 1
>>>>> | #define HAVE_FCNTL_H 1
>>>>> | #define HAVE_SYS_TIME_H 1
>>>>> | #define HAVE_UNISTD_H 1
>>>>> | #define HAVE_SYS_FILIO_H 1
>>>>> | #define HAVE_SYS_AUDIOIO_H 1
>>>>> | #define HAVE_SYS_SEM_H 1
>>>>> | #define HAVE_STRING_H 1
>>>>> | #define HAVE_GETOPT_H 1
>>>>> | #define HAVE_MACHINE_ENDIAN_H 1
>>>>> | #define HAVE_USLEEP 1
>>>>> | #define HAVE_SNPRINTF 1
>>>>> | #define TIME_WITH_SYS_TIME 1
>>>>> | #define RETSIGTYPE void
>>>>> | #define HAVE_OGG_VORBIS 1
>>>>> | #define HAVE_VORBIS 2
>>>>> | #define OGG_VORBIS 1
>>>>> | #define HAVE_SOUNDCARD_H 1
>>>>> | #define CDDA_PARANOIA 1
>>>>> | #define HAVE_TAGLIB 1
>>>>> | #define HAVE_AKODE 1
>>>>> | #define HAVE_ARTS 1
>>>>> | #define HAVE_LIBPTHREAD 1
>>>>> | #define HAVE_LIBAUDIOFILE 1
>>>>> | #define HAVE_MUSICBRAINZ 0
>>>>> | #define HAVE_GSTREAMER 1
>>>>> | #define GSTREAMER_VERSION 10
>>>>> | #define HAVE_LIBTHEORA 1
>>>>> | #define HAVE_LIBFLAC 1
>>>>> | #define HAVE_LIBOGGFLAC 1/usr/ports/x11/kde/multimedia3
>>>>> | #define USE_ARTS 1
>>>>> | #define HAVE_PTHREAD_H 1
>>>>> | #define HAVE_SOUNDCARD_H 1
>>>>> | #define ATTRIBUTE_ALIGNED_MAX 64
>>>>> | #define X11_SHARED_MEM 1
>>>>> | #define X11_DGA2 1
>>>>> | #define X11_XV 1
>>>>> | #define X11_XVIDMODE 1
>>>>> | #define OS_BSD 1
>>>>> | #define HAVE_DIRENT_H 1
>>>>> | #define STDC_HEADERS 1
>>>>> | #define TIME_WITH_SYS_TIME 1
>>>>> | #define HAVE_FCNTL_H 1
>>>>> | #define HAVE_SYS_TIME_H 1
>>>>> | #define HAVE_UNISTD_H 1
>>>>> | #define HAVE_STDLIB_H 1
>>>>> | #define HAVE_PATHS_H 1
>>>>> | #define HAVE_USLEEP 1/usr/ports/x11/kde/multimedia3
>>>>> | #define _x_ao_new_port ao_new_port
>>>>> | /* end confdefs.h.  */
>>>>> | /* Define ao_new_port to an innocuous variant, in case <limits.h>
>>>>> declares ao_new_port.
>>>>> |    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
>>>>> | #define ao_new_port innocuous_ao_new_port
>>>>> |
>>>>> | /* System header to define __stub macros and hopefully few
>>>>> prototypes,
>>>>> |     which can conflict with char ao_new_port (); below.
>>>>> |     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
>>>>> |     <limits.h> exists even on freestanding compilers.  */
>>>>> |
>>>>> | #ifdef __STDC__
>>>>> | # include <limits.h>
>>>>> | #else
>>>>> | # include <assert.h>
>>>>> | #endif
>>>>> |
>>>>> | #undef ao_new_port
>>>>> |
>>>>> | /* Override any GCC internal prototype to avoid an error.
>>>>> |    Use char because int might match the return type of a GCC
>>>>> |    builtin and then its argument prototype would still apply.  */
>>>>> | #ifdef __cplusplus
>>>>> | extern "C"
>>>>> | #endif
>>>>> | char ao_new_port ();
>>>>> | /* The GNU C library defines this for functions which it implements
>>>>> |     to always fail with ENOSYS.  Some functions are actually named
>>>>> |     something starting with __ and the normal name is an alias.  */
>>>>> | #if defined __stub_ao_new_port || defined __stub___ao_new_port
>>>>> | choke me
>>>>> | #endif
>>>>> |
>>>>> | int
>>>>> | main ()
>>>>> | {
>>>>> | return ao_new_port ();
>>>>> |   ;
>>>>> |   return 0;
>>>>> | }
>>>>> configure:42444: result: no
>>>>> -----------------------------------------------------------
>>>>>
>>>>> So I have tried a more radical hack : adding a real ao_new_port in
>>>>> libarts_xine.
>>>>> This means, at least, the file config.log must not have the error.
>>>>>
>>>>> Firstly (step 1) you must build libxine (it contains _x_ao_new_port)
>>>>> and
>>>>> after you launch "make configure" for libarts_xine (step 2) :
>>>>>
>>>>> Step 1] building the new libxine :
>>>>> ==================================
>>>>> 1.1) I have done a "make clean" and "make configure" in
>>>>> /usr/ports/multimedia/xine.
>>>>>
>>>>> 1.2) I have added a new declaration for ao_new_port in
>>>>>
>>>>> /usr/ports/pobj/xine-lib-1.2.6/xine-lib-1.2.6/src/xine-engine/audio_out.h
>>>>>
>>>>> and
>>>>> /usr/local/include/xine/audio_out.h
>>>>> by duplicating _x_ao_new_port
>>>>>
>>>>> 1.3) I have added a new definition for ao_new_port in
>>>>>
>>>>> /usr/ports/pobj/xine-lib-1.2.6/xine-lib-1.2.6/src/xine-engine/audio_out.c
>>>>>
>>>>> by duplicating the code for _x_ao_new_port
>>>>>
>>>>> 1.4) I have replaced the call of _x_ao_new_port by ao_new_port in
>>>>>
>>>>> /usr/ports/pobj/xine-lib-1.2.6/xine-lib-1.2.6/src/xine-engine/load_plugins.c
>>>>>
>>>>>
>>>>>
>>>>> 1.5) I have done a "make build", i have checked if the new files
>>>>> libxine.so.32.0 and
>>>>> libxine.a contain the new ao_new_port (ao_new_port.av_sync_methods and
>>>>> ao_new_port.resample_modes)
>>>>> The new lib seems good so i have copied the files to /usr/local/lib.
>>>>>
>>>>> Step 2] launching configure for libarts_xine :
>>>>> ==============================================
>>>>> 2.1) Finaly I have done a "make clean" in
>>>>> /usr/ports/x11/kde/multimedia3
>>>>> (where you create libarts_xine)
>>>>> followed by a "make configure", but in config.log I have always the
>>>>> same
>>>>> error!
>>>>> So it's useless to go further.
>>>>>
>>>>> It should work!
>>>>> What is missing?
>>>>> Thanks for any help.
>>>>>
>>>>>
>>>>
>>>> xine-lib in ports is v1.2.6, kdemultimedia needs changes to use the
>>>> later version of xine-lib. That means working out how to replace
>>>> _x_ao_new_port.
>>>> You don't change xine-lib unless there is an actual error, and the error
>>>> is kdemultimedia from KDE 3 is no longer maintained upstream.
>>>>
>>>> To disable xine add --with-xine=No to CONFIGURE_ARGS in the Makefile,
>>>> should also change LIB_DEPENDS and WANTLIB, and might need PLIST's
>>>> updating, plus a REVISION bump.
>>>
>>> I have already tried this.
>>> It doesn't work (it was not a surprise) :
>>>
>>> loading extension from '/usr/local/lib/libarts_xine.la' failed: file not
>>> found
>>> MCOP ObjectManager: Could not load extension libarts_xine.la.
>>> MCOP ObjectManager: can't find implementation for xineAudioPlayObject.
>>> Segmentation fault (core dumped)
>>
>>
>> There shouldn't be any references to xine if disabled.
>>
>>>>
>>>> kdemultimedia 3.5.10 dates from 2008 well before xine-lib 1.2.6 was
>>>> available see the cvs log
>>>>
>>>> revision 1.35
>>>> date: 2008/08/28 08:52:00; author: espie; state: Exp; lines: +5 -5;
>>>> 3.5.10
>>>>
>>> Yes, i know, the KDE team have abandoned KDE3 for KDE4.
>>> But with OpenBSD there are some updates after this date and this
>>> suggest that it works like before.
>>> But no, there is a regression for mp3 and ogg.
>>> Effectively an update is necessary in kdemultimedia in
>>> xine_artsplugin (libarts_xine).
>>>>
>>>>
>>>>
>>>> This looks like a KDE 3 fork that fixes xine 1.2 issues
>>>>
>>>> http://www.trinitydesktop.org/
>>>>
>>>>
>>>> Source files...
>>>>
>>>>
>>>> http://copernicus.mirrorservice.org/sites/trinitydesktop.org/trinity/releases/3.5.13.2/kdemultimedia-trinity-3.5.13.2.tar.xz
>>>>
>>>>
>>>>
>>>> git server here...
>>>>
>>>> https://git.trinitydesktop.org/cgit
>>>>
>>>> Some extracts....
>>>>
>>>> diff --git a/xine_artsplugin/audio_fifo_out.c
>>>> b/xine_artsplugin/audio_fifo_out.c
>>>> index f5256e1..9255ba2 100644
>>>> --- a/xine_artsplugin/audio_fifo_out.c
>>>> +++ b/xine_artsplugin/audio_fifo_out.c
>>>> @@ -1,6 +1,7 @@
>>>>    /*
>>>>       This file is part of KDE/aRts (Noatun) - xine integration
>>>>       Copyright (C) 2002-2003 Ewald Snel <ew...@rambo.its.tudelft.nl>
>>>> +   Copyright (C) 2014 Timothy Pearson <kb9...@pearsoncomputing.net>
>>>>
>>>>       This library is free software; you can redistribute it and/or
>>>>       modify it under the terms of the GNU Lesser General Public
>>>> @@ -21,29 +22,40 @@
>>>>    #include <sys/time.h>
>>>>    #include <xine/audio_out.h>
>>>>
>>>> +#if (XINE_MAJOR_VERSION >= 1) && (XINE_MINOR_VERSION >= 2)
>>>> +#include <xine/xine_internal.h>
>>>> +#include <xine/xine_plugin.h>
>>>> +#endif
>>>> +
>>>>
>>>>
>>>>
>>>> Properly register aRts plugin with Xine >= 1.2.x
>>>> This resolves Bug 1905
>>>> Diffstat (limited to 'xine_artsplugin/configure.in.in')
>>>> -rw-r--r--    xine_artsplugin/configure.in.in    6
>>>>
>>>> 1 files changed, 3 insertions, 3 deletions
>>>> diff --git a/xine_artsplugin/configure.in.in
>>>> b/xine_artsplugin/configure.in.in
>>>> index 61168fb..7797d22 100644
>>>> --- a/xine_artsplugin/configure.in.in
>>>> +++ b/xine_artsplugin/configure.in.in
>>>> @@ -232,11 +232,11 @@ int shmCompletionType = XShmGetEventBase(
>>>> display );
>>>>    AC_LANG_RESTORE()
>>>>
>>>>    dnl Check for new internal xine symbol names
>>>> -KDE_CHECK_LIB(xine, _x_ao_new_port, :,
>>>> +KDE_CHECK_LIB(xine, ao_new_port, :,
>>>>    [
>>>> -  AC_DEFINE(_x_ao_new_port, ao_new_port, [Compatibility with older
>>>> version of xine])
>>>> +  AC_DEFINE(ao_new_port, _x_ao_new_port, [Compatibility with newer
>>>> versions of xine])
>>>>    ])
>>>> -AC_CHECK_FUNC([ao_new_port])
>>>> +AC_CHECK_FUNC([_x_ao_new_port])
>>>>
>>>>    AC_ARG_WITH([xine],
>>>>      [AC_HELP_STRING([--with-xine],
>>>>
>>> Yes it was my favorite during my research on the web.
>>> I have already test this and it doesn't work (i don't know if it is
>>> because they use linux).
>>> I have the same error (...undefined symbol 'ao_new_port'...)
>>> But this remind me that i must contact this project!
>>> Did you try this previous patch?
>>>
>>>
>>
>> The above patch is only part of the diff for a single commit in git
>> specifically related to xine >= 1.2.x, that doesn't mean other commits
>> aren't needed. It looked related to the same problem your having.
>>
> Yes it's related to the problem.
> The complete patch i was referring in my previous post is available at
>
> https://git.trinitydesktop.org/cgit/tdemultimedia/commit/?id=68cff160cbf2fb0b4865f2b74bb49b8fa1a2a657
>
> Diffstat
> -rw-r--r--  xine_artsplugin/Makefile.am  2
> -rw-r--r--  xine_artsplugin/audio_fifo_out.c  155
> -rw-r--r--  xine_artsplugin/configure.in.in  6
> 3 files changed, 139 insertions, 24 deletions
>
> In your previous post you give some extracts of this same patch.
> If you have not tried it, i hope you will do it.
> Anyway thanks for your time!

Unfortunately, I didn't find the correct way to fix the issue, so I
just disabled the xine aRts plugin. It looks like we didn't loose
anything - Kaffeine and Noatun continue to play multimedia files
without problem.

--
  WBR,
  Vadim Zhukov

Reply via email to