Bug 63456 - compiling multimedia/xmms breaks with WITHOUT_SIMD=yes knob set
Summary: compiling multimedia/xmms breaks with WITHOUT_SIMD=yes knob set
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Michael Scheidell
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-27 16:30 UTC by Paul Seniura
Modified: 2012-07-13 13:30 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Seniura 2004-02-27 16:30:19 UTC
Compiling xmms will cause the following error with the knob WITHOUT_SIMD=yes set in /etc/make.conf or other means.

[...]
Making all in mpg123
gmake[3]: Entering directory `/src/ports/multimedia/xmms/work/xmms-1.2.10/Input/mpg123'
[...]
cc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../xmms -I/usr/X11R6/include/gtk12 -I/usr/local/include/glib12 -D_THREAD_SAFE -I/usr/local/include -I/usr/X11R6/include -DI386_ASSEM -I../../intl -I../.. -I/usr/local/include -pipe -O -march=pentium2 -Wall -Wpointer-arith -finline-functions -fomit-frame-pointer -ffast-math -MT decode_i386.lo -MD -MP -MF .deps/decode_i386.Tpo -c decode_i386.c  -fPIC -DPIC -o decode_i386.lo
if /bin/sh ../../libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../xmms -I/usr/X11R6/include/gtk12 -I/usr/local/include/glib12 -D_THREAD_SAFE -I/usr/local/include -I/usr/X11R6/include -DI386_ASSEM -I../../intl -I../..  -I/usr/local/include  -pipe -O -march=pentium2 -Wall -Wpointer-arith -finline-functions -fomit-frame-pointer -ffast-math -MT dct64_i386.lo -MD -MP -MF ".deps/dct64_i386.Tpo" \
  -c -o dct64_i386.lo `test -f 'dct64_i386.c' || echo './'`dct64_i386.c; \
then mv -f ".deps/dct64_i386.Tpo" ".deps/dct64_i386.Plo"; \
else rm -f ".deps/dct64_i386.Tpo"; exit 1; \
fi
cc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../xmms -I/usr/X11R6/include/gtk12 -I/usr/local/include/glib12 -D_THREAD_SAFE -I/usr/local/include -I/usr/X11R6/include -DI386_ASSEM -I../../intl -I../.. -I/usr/local/include -pipe -O -march=pentium2 -Wall -Wpointer-arith -finline-functions -fomit-frame-pointer -ffast-math -MT dct64_i386.lo -MD -MP -MF .deps/dct64_i386.Tpo -c dct64_i386.c  -fPIC -DPIC -o dct64_i386.lo
gmake[3]: *** No rule to make target `decode_i586.lo', needed by `libmpg123.la'.  Stop.
gmake[3]: Leaving directory `/src/ports/multimedia/xmms/work/xmms-1.2.10/Input/mpg123'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/src/ports/multimedia/xmms/work/xmms-1.2.10/Input'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/src/ports/multimedia/xmms/work/xmms-1.2.10'
gmake: *** [all] Error 2
*** Error code 2

Stop in /src/ports/multimedia/xmms.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade1837.8 make
** Fix the problem and try again.
--->  Build of multimedia/xmms ended at: Wed, 25 Feb 2004 12:40:21 -0600 (consumed 00:05:09)
--->  Upgrade of multimedia/xmms ended at: Wed, 25 Feb 2004 12:40:21 -0600 (consumed 00:05:09)
[...]

Fix: 

Some of us are not priviledged to be provided hardware that supports the SIMD instructions in i386 platforms.
So we must use the WITHOUT_SIMD knob to prevent these instructions being emitted out of the compiler.
Since the FreeBSD ports system is patching the original author's files for this app, the problem is likely in the FreeBSD patches for this app instead of the original author.
Either give me a PC that supports SIMD or fix the patches, please.  ;-)
How-To-Repeat: Compile xmms with WITHOUT_SIMD=yes set in /etc/make.conf.
Comment 1 Pav Lucistnik freebsd_committer 2004-02-28 13:49:38 UTC
http://www.freebsd.org/cgi/query-pr.cgi?pr=63456

Can submitter or maintainer provide a patch to fix this?

-- 
Pav Lucistnik <pav@oook.cz>
              <pav@FreeBSD.org>

Knight: We shall say Ny! again to you if you do not appease us.
Arthur: All right. What do you want?
Knight: We want... a shruberry!
Comment 2 Pav Lucistnik freebsd_committer 2004-02-28 13:49:41 UTC
State Changed
From-To: open->feedback

Asked around for a patch. 


Comment 3 Pav Lucistnik freebsd_committer 2004-02-28 13:49:41 UTC
Responsible Changed
From-To: freebsd-ports-bugs->pav

Track.
Comment 4 Paul Seniura 2004-02-28 19:07:52 UTC
> From: Pav Lucistnik <pav@FreeBSD.org>
> [...]
> Can submitter or maintainer provide a patch to fix this?

I was studying the FreeBSD patches in order to fix this at work
but ran out of time there (I don't have li'l-endians at home ;) .

If I am on the right track, the FreeBSD patches under files/ are
changing some assembler code filenames in the original distfile's
Makefile.in from *.s to *.S -- but the 'sed' 'from'/'to' strings
were each including a trailing space byte 0x20 which does not
match at least some of the filenames found in the original
distfile's Makefile.in.  I believe the trailing space byte also
prevents a .SUFFIX rule from being changed from .s to .S as well. 
All this string-changing is done WITH trailing spaces ONLY when
the knob WITHOUT_SIMD is set -- whether it is done 'generically'
I cannot remember at this time but I think different 'sed'
strings are changed that do NOT include any trailing spaces if
that knob is NOT set.  I hope this makes sense! ;)

I might be able to continue studying on Monday if that PC is
caught-up to the forced recompiles for the recent thread lib
changes and resolver changes in kernel etc. and if no other
massive changes have been committed during the weekend which will
further delay things on that Puny Pentium2 machine. ;)


O.T.
> Knight: We shall say Ny! again to you if you do not appease us.
> Arthur: All right. What do you want?
> Knight: We want... a shruberry!
Ok how do you spell what they said after they became
'The Knights Who Used To Say Ny!' ??  
It began with 'Icky-Icky-P.Tang' or something like that ;)


  --  Paul Seniura
Comment 5 Espen Skoglund 2004-03-01 14:35:15 UTC
[Pav Lucistnik]
> http://www.freebsd.org/cgi/query-pr.cgi?pr=63456
> Can submitter or maintainer provide a patch to fix this?

Here's a fix to make it compile.

Note to submitter: It is completely safe to enable simd instructions
by default since they are never used unless they are detected during
runtime.

	eSk

================================================================
--- Makefile.orig	Mon Mar  1 14:54:20 2004
+++ Makefile	Mon Mar  1 15:30:06 2004
@@ -96,9 +96,10 @@
 post-extract:
 	(cd ${WRKSRC}/Input/mpg123 && ${MV} decode_i586.s decode_i586.S && \
 	  cd ${WRKSRC}/Visualization/blur_scope && ${MV} blur_8.s blur_8.S);
-	${REINPLACE_CMD} -e 's:\.s :\.S :g' ${WRKSRC}/Input/mpg123/Makefile.in
-	${REINPLACE_CMD} -e 's:blur_8.s:blur_8.S:g' \
-	  ${WRKSRC}/Visualization/blur_scope/Makefile.in
+	${REINPLACE_CMD} -e 's:\.s :.S :g' -e 's:\.s$$:.S:g' \
+	  -e 's:^\.s\.:.S.:g' ${WRKSRC}/Input/mpg123/Makefile.in
+	${REINPLACE_CMD} -e 's:\.s :.S :g' -e 's:\.s$$:.S:g' \
+	  -e 's:^\.s\.:.S.:g' ${WRKSRC}/Visualization/blur_scope/Makefile.in
 .endif
 
 pre-extract:
Comment 6 Pav Lucistnik freebsd_committer 2004-03-01 14:54:09 UTC
State Changed
From-To: feedback->closed

Maintainer's patch committed.
Comment 7 Mark Linimon freebsd_committer freebsd_triage 2012-06-23 19:37:09 UTC
State Changed
From-To: closed->open

From misfiled PR caught in spamtrap: 

X-Originating-IP: [66.232.74.144] 
Comment 8 Mark Linimon freebsd_committer freebsd_triage 2012-06-23 19:37:09 UTC
Responsible Changed
From-To: pav->freebsd-ports-bugs
Comment 9 Michael Scheidell freebsd_committer 2012-07-13 10:40:24 UTC
Responsible Changed
From-To: freebsd-ports-bugs->scheidell

I'll take it.
Comment 10 dfilter service freebsd_committer 2012-07-13 13:20:34 UTC
scheidell    2012-07-13 12:20:20 UTC

  FreeBSD ports repository

  Modified files:
    multimedia/xmms      Makefile 
  Log:
  - Mark Broken on i386 and WITHOUT_SIMD
  - No PORTREVISION bump (WITH_SIMD is default)
  
  PR:             ports/63456
  Reported by:    Timothy Frahm <t1m1976@hotmail.com>
  
  Revision  Changes    Path
  1.120     +4 -0      ports/multimedia/xmms/Makefile
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 11 Michael Scheidell freebsd_committer 2012-07-13 13:20:36 UTC
State Changed
From-To: open->closed

Committed. Thanks!