Skip site navigation (1)Skip section navigation (2)
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>