Opened 15 years ago
Closed 14 years ago
#24698 closed defect (fixed)
mlt fails to build
Reported by: | steve@… | Owned by: | ddennedy (Dan Dennedy) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.2 |
Keywords: | Cc: | ||
Port: | mlt |
Description (last modified by jmroot (Joshua Root))
I have been trying to install kdenlive for several days. The ffmpeg bug has been fixed. Now mlt fails to install. After the first failure I retried with the following sequence:
% sudo port selfupdate % sudo port update outdated % sudo port clean mlt % sudo port install mlt # this failed so I retried with -d % sudo port -d install mlt &>mlt.txt
Attachments (3)
Change History (11)
comment:1 Changed 15 years ago by steve@…
comment:2 Changed 15 years ago by jmroot (Joshua Root)
Description: | modified (diff) |
---|---|
Keywords: | kdenliv removed |
Owner: | changed from macports-tickets@… to dan@… |
Port: | mlt added; mtl removed |
Priority: | High → Normal |
Please remember to cc the maintainer. As per the ticket guidelines, the High priority is reserved for the use of MacPorts team members.
comment:3 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
It looks like it's having trouble with the MMX assembly code. Exactly what kind of Mac do you have -- what processor?
comment:4 Changed 15 years ago by steve@…
Mac OS X Version 10.6.3
Hardware Overview: Model Name: Mac mini Model Identifier: Macmini1,1 Processor Name: Intel Core Duo Processor Speed: 1.66 GHz Number Of Processors: 1 Total Number Of Cores: 2 L2 Cache: 2 MB Memory: 2 GB Bus Speed: 667 MHz Boot ROM Version: MM11.0055.B08 SMC Version (system): 1.3f4
Changed 15 years ago by steve@…
As requested this attachment is a more complete error log, this time following a clean
comment:5 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
I think the key is that you have a Mac with an Intel Core processor. This is a 32-bit processor, whereas 2nd generation and later Intel Macs are all 64-bit processors. And on Snow Leopard, code compiles 64-bit on 64-bit systems. On my 64-bit Intel Core 2 processor, mlt doesn't even try to build this have_mmx.S source file, so maybe the code is written to only compile on 32-bit systems, which would be why I didn't see the problem. There was also a change already made to the portfile to disable the MMX code on Tiger, as not explained at all in #21925. So it won't attempt to compile the MMX code on Tiger either. MMX is of course an extension to Intel processors, so it does not come into play on any PowerPC system. So the only system left to test is i386 Leopard. Either the MMX code works on i386 Leopard, which is why MMX was disabled on Tiger only, or it doesn't work there either, in which case we should just disable the MMX code all the time.
That would be, in any case, a quick workaround you could use to successfully build the port today, while we work out the final fix. I'll attach a patchfile.
Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | mlt-no-MMX.diff added |
---|
a potential solution
Changed 15 years ago by steve@…
I applied the patch to the Portfile, did the usual clean drill and got a new error.
comment:6 Changed 14 years ago by ddennedy (Dan Dennedy)
The fix for this is in the upgrade patch in ticket #25374.
Basically, this fixes the last reported problem. configure --disable-mmx implies disabling sse as well, but failed to disable sse2 when that configure option was added. In summary, the fix is that --disable-mmx now implies disabling sse and sse2, and the Portfile patch in the upgrade ticket contains the mlt-no-MMX.diff.
comment:7 Changed 14 years ago by ddennedy (Dan Dennedy)
There are 3 modules that contain MMX code directly within MLT. 2 of them do not have a problem on x86_64. Definitely, one of them has a problem with some versions of gcc, and its Makefile already disables its MMX on x86_64. I have not seen a problem on x86 on Linux, which is why it remained enabled for that. So, I plan to add a 'mmx' variant that removes the --disable-mmx option after the pending patches are committed. Then, x86_64 users can opt into that, but now the default is safer for all.
comment:8 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Thanks, fixed in r69077.
Sorry. I am new at this. I didn't preview my report adequately. There is a typo in the keyword which should have been "kdenlive" and the port which should have been "mlt".