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.

Reply via email to