Opened 7 years ago
Closed 7 years ago
#54666 closed defect (fixed)
MacVim @8.0.snapshot136: fails to build with +universal
Reported by: | enxio (Clemens Wittinger) | Owned by: | raimue (Rainer Müller) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | MacVim |
Description
There's a build failure in MacVim/MMBackend.m, some explicit casts are lacking according to the compiler errors.
I'm attaching a patch.
Note that the same errors were also present in the last drops of MacVim.
I'm running 10.12.6, FWIW.
Attachments (1)
Change History (11)
Changed 7 years ago by enxio (Clemens Wittinger)
Attachment: | MacVIM-136.diff added |
---|
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Owner: | set to raimue |
---|---|
Status: | new → assigned |
In the future, please Cc the port maintainers (port info --maintainers MacVim
), if any.
comment:2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
I wonder why you experience this problem when our automated build machines didn't.
If you think the changes you propose are correct, you should send them to the developers for inclusion in the next version. That way your fixes could help more users than just those who install it using MacPorts.
comment:3 Changed 7 years ago by raimue (Rainer Müller)
I also did not experience any build errors when testing the upgrades with Xcode 8.3.3 8E3004b. Are you using the Xcode 9 beta (xcodebuild -version
)?
comment:4 Changed 7 years ago by enxio (Clemens Wittinger)
Well, same here. Xcode 8.3.3 8E3004b. Is there anything else I could check? By default I should be using the system compiler, right? I don't think I messed with that, though.
I am using the following variants, if that maybe matters: @8.0.snapshot136_0+cscope+huge+universal
I'd agree, that the patches are better applied upstream, btw.
I will look into that, once the "issue" with macports is a bit more clear.
comment:5 Changed 7 years ago by raimue (Rainer Müller)
Ah, +universal would be causing the problem. The default is usually a 64-bit build, which works fine. However, for a 32-bit build, the %ld
in the printf format does not match the size of the type. Upstream no longer provides 32-bit builds, so they have noticed either.
Is there a specific reason you need the +universal
variant of MacVim?
comment:6 Changed 7 years ago by enxio (Clemens Wittinger)
I see. I put it in variants.conf because one port required it and I thought it wouldn't hurt.
Thanks I'll remove it from variants.conf and see what happens.
comment:7 Changed 7 years ago by raimue (Rainer Müller)
You should apply +universal
only for specific ports, as any non-default variants stops you from using any pre-compiled binary archives MacPorts provides. However, removing it from variants.conf now will not remove it from installed ports, as upgrade will use the same set of installed variants again.
You can remove it for a specific port like shown below. port -n
does not recurse to dependencies, so it really only affects this single port.
sudo port -n upgrade --enforce-variants MacVim -universal
If you want to try to remove +universal from dependencies, you could try this without -n
. If any ports break, they should be detected and fixed by the automatic run of port rev-upgrade
afterwards.
comment:8 Changed 7 years ago by enxio (Clemens Wittinger)
Thanks very much for the help in clearing this up.
Would the following work (using your command as a template)
sudo port upgrade --enforce-variants outdated -universal
to get rid of it eventually over time?
comment:9 Changed 7 years ago by raimue (Rainer Müller)
Summary: | MacVim 136 build failure. → MacVim @8.0.snapshot136: fails to build with +universal |
---|
This will immediately force (--enforce-variants) a rebuild of ports to deselect the universal variant, even if now upgrade was necessary otherwise. To get rid of +universal over time on regular port version updates, you could run the upgrade command like this (and ignore the warnings):
$ sudo port upgrade outdated -universal Warning: Skipping upgrade since gettext 0.19.8.1_0 >= gettext 0.19.8.1_0, even though installed variants "+universal" do not match "". Use 'upgrade --enforce-variants' to switch to the requested variants. ...
As it does not build anyway, I will just disable 32-bit builds for MacVim, as all supported releases of OS X are using 64-bit.
comment:10 Changed 7 years ago by raimue (Rainer Müller)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Patch to make MacVim (136) to compile.