Opened 15 years ago
Closed 15 years ago
#24673 closed defect (fixed)
mlt universal variant doesn't build universal software
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | ddennedy (Dan Dennedy) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.2 |
Keywords: | Cc: | ||
Port: | mlt |
Description
mlt's universal variant doesn't end up building universal software:
$ sudo port install mlt +universal ---> Computing dependencies for mlt ---> Fetching mlt ---> Verifying checksum(s) for mlt ---> Extracting mlt ---> Configuring mlt ---> Building mlt ---> Staging mlt into destroot ---> Installing mlt @0.5.2_0+universal ---> Activating mlt @0.5.2_0+universal ---> Cleaning mlt $ lipo -info /opt/local/lib/libmlt.dylib Non-fat file: /opt/local/lib/libmlt.dylib is architecture: x86_64
Please either fix mlt's universal variant so it builds universal software (preferred) or just disable mlt's universal variant.
Change History (3)
comment:1 Changed 15 years ago by ddennedy (Dan Dennedy)
comment:2 Changed 15 years ago by ddennedy (Dan Dennedy)
Ah, well, it is probably moot because mlt has a lot of dependencies and probably suffers the same fate as kmymoney: r66851 Ja?
comment:3 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
During the configure phase, MacPorts sets the CFLAGS variable to the value of ${configure.cflags} plus the value of either ${configure.universal_cflags} (if building universal) or ${configure.cc_archflags} (if not building universal). mlt doesn't use a configure script, so it doesn't see these. It looks at the CFLAGS variable in the build phase, where you only give it the value of ${configure.cflags}. Similarly for CPPFLAGS, CXXFLAGS, LDFLAGS, if applicable.
Yes, you're right, mlt's dependency ffmpeg-devel is not universal, so mlt can't be universal. Marked mlt as not universal in r67264.
Before I just give up, let me ask a question.. The Portfile has a "build.env CFLAGS="${configure.cflags}" LDFLAGS="${configure.ldflags}" line, and I see that reflected in the build phase environment:
But why do I not see the -arch flags in the compilation lines?
I see other flags like the include dirs getting picked up, but why not the -arch options? What happened to them? My Makefiles use CFLAGS+= and do nothing special to filter out arch options.