imake: Patch to work with superenv #16420

Closed
wants to merge 1 commit into
from

Projects

None yet

6 participants

@samueljohn

Perhaps this helps for #15687.

The two configure tests for cpp are kind of obsolete for clang -E, which is what we use in superenv.

@Sharpie

Has this been reported upstream? Looks like the next major release of XCode will be the last to have llvm-gcc so projects need to step up Clang compatibility.

@samueljohn

I think their configuer script is ancient. But the two offending checks don't matter for clang as I understand.

I have not reported this. I don't intend to. Too lazy. ^^

Some Linux guy will try clang and then, they'll fix it :-)
Wishful thinking.

@MikeMcQuaid
Homebrew member

Would be great if you could report it. Otherwise I'll do so.

@Sharpie

I think their configuer script is ancient.

And without reporting things like this, nothing will change on that front.

@samueljohn

@mikemcquaid I chose the "otherwise", so please go ahead, tell them that their configure fails because clang -E does not default to stdin (you need to call clang -E - and that the configure check for -undef does not work.

@venachescu

I'm having a little bit of trouble applying this patch to my homebrew installation, how do I use this to update imake.rb?

@samueljohn

@venachescu Two options:

  1. brew can install from URLs. Klick "Files changed" above, then "view @ ", then click "raw". Give the raw URL to brew like so: brew install https://raw.github.com/samueljohn/homebrew/398110ff1c5e5138bec1fe10dfab3a878b8fc3d3/Library/Formula/imake.rb
  2. You cd into your brew --repository (and now it's all about git), create a branch so that you can later switch back to master: git checkout -b imake_fix. Now brew pull 16420 (the number is the issue number), brew install imake. Once installed go back to master: git checkout master.

In any case please report success or failure. That helps a lot.

@venachescu

Used the first method and it worked right away, thank you so much! And explaining the second method helps, I didn't realize you could use the issue numbers to pull patches.

@samueljohn

@mikemcquaid there is a bug report that is very similar (also dealing with clang issues) and in the comments they are discussing this very issue, though not so explicitly stating the stdin thing and the failing configure tests.

If you have an login for for freedesktop.org, please go and tell them about the two configure tests that are failing for us and link to our issue (perhaps the diff is helpful for them).

@MikeMcQuaid
Homebrew member

Done (although you've brought back trauma of trying to get the launchd D-Bus patches merged).

@guitorri

@samueljohn the formula compiles, but it is only me or ccmakedep, mergelib and xmkmf have zero bytes in size? Besides not being brew linked, I get a -bash: ./xmkmf: Permission denied when I try to run xmkmf from #{prefix}/bin.
OS 10.8.2 over here, XCode and CLT installed.

@samueljohn

@mikemcquaid thank you!

@guitorri woha... yep, for me too, ccmakedep, mergelib, and xmkmf are zero bytes in size. I don't know. Actually, I don't use imake. I needed it because it was a dependency of something and for that purpose imake seems to work.

Can anybody confirm this? I hope this was not introduced by my pull request... can anybody tell me?

@samueljohn

@guitorri any suggestions? Are these files zero size without my pull request, too?

@guitorri

@samueljohn, no suggestions at the moment. I am stuck since the current imake on master is not compiling either, due to the -undef test thing.

@samueljohn

@guitorri can you report to or ask the devs about the zero size files?

@guitorri

@samueljohn sorry, I won't be able to report this one.

@samueljohn

What do we do now?

I don't think my patch is related to this, so pulling this or not has no effect on the zero size files. Are these perhaps minor files not needed for common use?

At least #15687 works with this imake, so it cannot be all that broken.

@adamv

Should this be a fails_with :clang block instead?

@samueljohn

@adamv no, --use-llvm results in the same issue:

brew install imake --use-llvm
==> Downloading http://xorg.freedesktop.org/releases/individual/util/imake-1.0.5.tar.bz2
Already downloaded: /Library/Caches/Homebrew/imake-1.0.5.tar.bz2
==> ./configure --prefix=/homebrew/Cellar/imake/1.0.5
checking for cpp... /homebrew/Library/ENV/4.3/cpp
checking if /homebrew/Library/ENV/4.3/cpp requires -undef... i686-apple-darwin11-llvm-gcc-4.2: no input files
i686-apple-darwin11-llvm-gcc-4.2: no input files
i686-apple-darwin11-llvm-gcc-4.2: no input files
configure: error: /homebrew/Library/ENV/4.3/cpp defines unix with or without -undef.  I don't know what to do.
@adamv

Strongly considering flagging this env :std rather than carry another patch.

@samueljohn

That would not work with Xcode-only.

@adamv

brew uses imake doesn't turn up anything in core.

@samueljohn

This patch does nothing complicated and just removes dated configure checks. When the patch will no longer apply, chances are they have finally fixed this. So, maintenance for us should be manageable.

@samueljohn

There is a PR for a Xfig formula that would need imake. Personally I don't like nor need imake :-)

@guitorri

I also needed imake to build transfig, needed for Xfig. I ended up writing new CMake files for transfig, so avoiding imake. I wonder if imake is still being maintained at all....

@samueljohn

I'd be fine if we pull this patch, so imake builds on Xcode-only and then we move it to the boneyard.
@guitorri would be great to have cmake files for your project :-)

@adamv

Is the Xfig pull request ready to go if I pull this, or not? If not, I'll hold on this one too.

@MikeMcQuaid
Homebrew member

This good to go?

@samueljohn

I'd say, yes. If we later decide to (re)move, we have it building on superenv and Xcode-only at least. For me this builds.

@MikeMcQuaid MikeMcQuaid added a commit that closed this pull request Feb 2, 2013
@samueljohn samueljohn imake: Patch to work with superenv
Closes #16420.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
c64873e
@jsallis jsallis added a commit that referenced this pull request Feb 2, 2013
@samueljohn samueljohn imake: Patch to work with superenv
Closes #16420.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
853b0c2
@n1k0 n1k0 added a commit that referenced this pull request Feb 13, 2013
@samueljohn samueljohn imake: Patch to work with superenv
Closes #16420.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
9a97ff8
@rajeeja rajeeja pushed a commit that referenced this pull request Apr 19, 2013
@samueljohn samueljohn imake: Patch to work with superenv
Closes #16420.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
92ea4c2
@xu-cheng xu-cheng locked and limited conversation to collaborators Feb 16, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.