-- Vadim Zhukov 02 сент. 2015 г. 1:57 пользователь "Alexandre H" <openbs...@wanadoo.fr> написал: > > 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) > >> >> 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?
Thank you for detailed report. I'll look at this problem closer at the weekend; sorry, there's a lot of other stuff right now I have to cope with first. :(