Bug 124609 - mmxidct_asm.S doesn't compile on Solaris 9
Summary: mmxidct_asm.S doesn't compile on Solaris 9
Status: RESOLVED UNMAINTAINED
Alias: None
Product: mpeglib
Classification: Unmaintained
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Solaris
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-31 01:18 UTC by Trey Jones
Modified: 2011-03-10 08:24 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Trey Jones 2006-03-31 01:18:50 UTC
Version:            (using KDE KDE 3.5.1)
Installed from:    Compiled From Sources
Compiler:          gcc 3.3.5 
OS:                Solaris

The following error is produced when building kdemultimedia (this is actually version 3.5.2 which is not in the list for the bug report submission wizard):

make[4]: Entering directory `/tmp/kde_build/kdemultimedia-3.5.2/mpeglib/lib/mpegplay'
bash ../../../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I/ms_common/misc/OSS/KDE/kde-3.5.2_Sol9/include -I/ms_common/misc/OSS/KDE/qt-3.3.4_Sol9/include   -I/appserv/gnu_Sol9/include -I/ms_common/misc/OSS/KDE/kde-3.5.2_Sol9/include  -DNDEBUG -O2  -I/ms_common/misc/OSS/KDE/kde-3.5.2_Sol9/include -I/ms_common/misc/OSS/KDE/qt-3.3.4_Sol9/include -I/appserv/gnu_Sol9/include -c -o mmxidct_asm.lo mmxidct_asm.S
/usr/ccs/bin/as: "/var/tmp//cciEinnh.s", line 13: error: unknown "%"-symbol
/usr/ccs/bin/as: "/var/tmp//cciEinnh.s", line 13: error: quoted-string operand required
/usr/ccs/bin/as: "/var/tmp//cciEinnh.s", line 13: error: statement syntax
make[4]: *** [mmxidct_asm.lo] Error 1
make[4]: Leaving directory `/tmp/kde_build/kdemultimedia-3.5.2/mpeglib/lib/mpegplay'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/kde_build/kdemultimedia-3.5.2/mpeglib/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/kde_build/kdemultimedia-3.5.2/mpeglib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/kde_build/kdemultimedia-3.5.2'
make: *** [all] Error 2
*

Browsing the WebSVN repository, I discovered the following comment for the most recent version of mmxidct_asm.S:

  Turns out that @ means something else on ARM; using % instead
  should be universally acceptable.

My guess is that this assumption is incorrect as the Solaris assembler doesn't like the %.  I believe the earlier versions compiled fine (the last version I built successfully was 3.4.0).
Comment 1 Trey Jones 2006-03-31 02:18:34 UTC
After a little more digging, I figured out that the Solaris assembler doesn't like the following line:

           .section .note.GNU-stack,"",%progbits

BTW, changing the % back to an @ didn't help.  It just doesn't like the line.  Remember, not all platforms always use GNU binutils.  I'm using the Solaris linker and assembler.
Comment 2 Michael Lindig 2007-07-09 10:47:00 UTC
I have the same problem on Solaris10 KDE-3.5.7 sources. My solution was to remove the mmxidct_asm.S dependencies from kdemultimedia/mpeglib/lib/mpegplay/Makefile.in and kdemultimedia/mpeglib/lib/mpegplay/Makefile.am.

  sed -i -e 's!mmxidct_asm\.[^ \t]\+!!g' kdemultimedia/mpeglib/lib/mpegplay/Makefile.in
  sed -i -e 's!mmxidct_asm\.[^ \t]\+!!g' kdemultimedia/mpeglib/lib/mpegplay/Makefile.am

To fix this the mmxidct_asm.S should be only used if it is on right platform!
Comment 3 groot 2011-03-10 08:24:24 UTC
KDE 3.5 out of scope now. In KDE4, we do the right bits with MMX and Studio, at least.