Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#10573 closed Bug Report - General (Invalid)

Build fails when configured with --disable-amd3dnow

Reported by: userblues@… Owned by: beirdo
Priority: minor Milestone: unknown
Component: MythTV - General Version: 0.25-fixes
Severity: low Keywords:
Cc: Ticket locked: no

Description

CC libswscale/swscale.o libswscale/swscale.c: In function 'ff_getSwsFunc': libswscale/swscale.c:1270:16: error: 'swScale_3DNow' undeclared (first use in this function) libswscale/swscale.c:1270:16: note: each undeclared identifier is reported only once for each function it appears in make[1]: * [libswscale/swscale.o] Error 1 make[1]: Leaving directory `/home/saul/work/mythtv/mythtv/external/FFmpeg'

Change History (10)

comment:1 Changed 8 years ago by beirdo

Status: newinfoneeded_new

What is your exact configure command line, and what CPU are you compiling for (and on)

comment:2 Changed 8 years ago by userblues@…

./configure --disable-amd3dnow --disable-audio-oss --disable-distcc --disable-lirc --disable-hdhomerun --disable-ceton

The CPU is Core 2 Duo Q6600, running Gentoo ~amd64, gcc-4.2.6.

comment:3 Changed 8 years ago by beirdo

OK, I'll take a quick run at it later on, however, why are you disabling amd3dnow on a processor that doesn't even support it? Seems like a total waste of time.

comment:4 Changed 8 years ago by beirdo

Owner: set to beirdo

comment:5 in reply to:  3 Changed 8 years ago by userblues@…

Replying to beirdo:

OK, I'll take a quick run at it later on, however, why are you disabling amd3dnow on a processor that doesn't even support it? Seems like a total waste of time.

Because my CPU does not support it I do not want it built. What's wrong with that? The whole distro I'm running is created with idea to disable unused code. ;)

comment:6 Changed 8 years ago by beirdo

Our application is designed to take care of that itself, and does not need your guidance to know what to compile and what not to. In most cases, trying to outsmart it will cause exactly this kind of problem. There is no need for you to disable what will already be disabled. However, I'll look into making it not crap out when you do the unnecessary.

In the meantime, just don't do it. :)

comment:7 Changed 8 years ago by userblues@…

Please do not get me wrong. I do appreciate all the hard work you are doing. I really do. I do enjoy your application, I was just thinking I'm helping by filing this bug. Now, --disable-amd3dnow configure option exists. If I'm trying to use it why you call it my guidance? I'm a long time (2003) Gentoo user, for me it just seems logical to cut the cruft off. But by all means, if this bug report seems bogus to you feel free to close it. No worries, I will never file a bug again. :) Sorry if my attempt to help wasn't any help.

comment:8 Changed 8 years ago by beirdo

The configuration option exists for the case where amd3dnow is actually enabled when it shouldn't be. It's not there so users have to list a pile of disables for everything that their processor doesn't actually support.

Anyways, I will be looking to see if we missed a spot to actually disable code that should obey that flag. Nevertheless, we have many users using Core2 (myself included) just fine without insisting on overriding the default build configuration. The defaults are already set to cover 90%+ of users. If the defaults don't work, *then* you experiment with overrides. I understand this is not the gentoo way, but it has been the mythtv way for quite some time. Our defaults are actually set to be sane :)

In short: you shouldn't need that, but it should NOT be borked. :)

comment:9 Changed 8 years ago by beirdo

Resolution: Invalid
Status: infoneeded_newclosed

OK, this is due to how ffmpeg builds.

If you *really* want to use --disable-amd3dnow, you also will need --disable-runtime-cpudetect.

ffmpeg code is smart enough to check the CPU flags and use the best it can if you allow the runtime CPU detection. However, that code requires you NOT to disable amd3dnow, mmx or mmx2, but rather let it determine for you.

So take your choice. Add the other flag, or remove both. It should work either way.

comment:10 Changed 8 years ago by userblues@…

Thanks :) Works for me now. With --enable-proc-opt

Note: See TracTickets for help on using tickets.