Date: Thu, 22 Jun 2006 17:50:21 GMT From: Jamie Jones <jamie@bishopston.net> To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/96754 : audio/openal Message-ID: <200606221750.k5MHoLrw083710@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/96754; it has been noted by GNATS. From: Jamie Jones <jamie@bishopston.net> To: bug-followup@freebsd.org, edwin@freebsd.org, eol1@yahoo.com, erik@math.missouristate.edu, jannisan@t-online.de Cc: jamie@bishopston.net Subject: Re: ports/96754 : audio/openal Date: Thu, 22 Jun 2006 18:41:30 +0100 (BST) Hi. I too have had the exact same problem with this. As with Peter, my problem was also fixed by removing the following from /etc/make.conf : CFLAGS?= -O -pipe CFLAGS+= -mtune=athlon-xp -march=athlon-xp CPUTYPE=athlon-xp MACHINE_ARCH=i386 ( Peter, more permanent fix at the end of this message ) I'd hardly call these 'non-standard cflags' as the PR closure statement said, so I did a bit of investigation. In a nutshell, the openal MMX optimising code doesn't appear to compile - this is where the error lies. The -march causes MMX to be enabled. Removing the -march causes MMX to NOT be enabled (see the config.log) and so no error is produced, however, I'd hardly call this a fix, more a workaround. The part of the configure that checks for 'MMX' is the following conftest.c : | /* confdefs.h. */ | | #define PACKAGE_NAME "OpenAL library" | #define PACKAGE_TARNAME "openal" | #define PACKAGE_VERSION "0.0.8" | #define PACKAGE_STRING "OpenAL library 0.0.8" | #define PACKAGE_BUGREPORT "openal-devel@opensource.creative.com" | #define PACKAGE "openal" | #define VERSION "0.0.8" | #define _ISOC99_SOURCE 1 | #define _POSIX_C_SOURCE 199309 | #define AL_BUILD_LIBRARY 1 | #define HAVE___ATTRIBUTE__ 1 | #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 | #ifdef __cplusplus | extern "C" void std::exit (int) throw (); using std::exit; | #endif | #define USE_POSIXTHREADING 1 | #define NDEBUG 1 | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | | #ifndef __MMX__ | #error no MMX support | #endif | | int | main () | { | | ; | return 0; | } And you'll see the different results with: | 18:20 (225) "tmp" root@thompson# cc -c -O2 -fno-strict-aliasing -pipe -mtune=athlon-xp -I /usr/local/include -o plop conftest.c | cc.c:34:2: #error no MMX support | | 18:20 (226) "tmp" root@thompson# cc -c -O2 -fno-strict-aliasing -pipe -mtune=athlon-xp -march=athlon-xp -I /usr/local/include -o plop conftest.c | | 18:20 (227) "tmp" root@thompson# Peter, as for your comment: > Anyway around this w/o me have to mod my /etc/make.conf anytime there is an openal update? Well, ideally I think the MMX issue should be sorted, but failing that, the following will work in /etc/make.conf : # ------------------------------------------------------------------------ # audio/openal: # ~~~~~~~~~~~~ .if ${.CURDIR}=="/usr/ports/audio/openal" CFLAGS= -O2 -fno-strict-aliasing -pipe CPUTYPE= .endif # ------------------------------------------------------------------------ I'm going to attempt to add this to the PR, as it may help someone else too - indeed, if Peters query hadn't been a PR in the first place, I'd probably still be stuck! Hope this helps, cheers, Jamie -- -=-=-=- Virus Scanned by "pacha.mail.bishopston.net" using ClamAv -=-=-=- Database Last Checked: Thu Jun 22 18:38:02 BST 2006 - http://www.clamav.net/ Database Updated : Thu Jun 22 18:38:02 BST 2006 - 60080 viruses scanned
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200606221750.k5MHoLrw083710>