ports/96754 : audio/openal
Jamie Jones
jamie at bishopston.net
Thu Jun 22 17:50:23 UTC 2006
The following reply was made to PR ports/96754; it has been noted by GNATS.
From: Jamie Jones <jamie at bishopston.net>
To: bug-followup at freebsd.org, edwin at freebsd.org, eol1 at yahoo.com,
erik at math.missouristate.edu, jannisan at t-online.de
Cc: jamie at 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 at 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 at 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 at 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 at 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
More information about the freebsd-ports-bugs
mailing list