New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update tee-clc #12540

Merged
merged 3 commits into from Apr 26, 2017

Conversation

Projects
None yet
5 participants
@carlowahlstedt
Contributor

carlowahlstedt commented Apr 17, 2017

2nd Attempt. Tried from homebrew command line but it's failing audit on the description and I don't see a way to adjust that. Attempting to make the adjustments here instead.

  • Have you followed the guidelines for contributing?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

Update tee-clc
2nd Attempt. Tried from homebrew command line but it's failing audit on the description and I don't see a way to adjust that. Attempting to make the adjustments here instead.
@carlowahlstedt

This comment has been minimized.

Show comment
Hide comment
@carlowahlstedt

carlowahlstedt Apr 17, 2017

Contributor

Help?

Contributor

carlowahlstedt commented Apr 17, 2017

Help?

@MikeMcQuaid

This comment has been minimized.

Show comment
Hide comment
@MikeMcQuaid
Member

MikeMcQuaid commented Apr 18, 2017

@MikeMcQuaid

This comment has been minimized.

Show comment
Hide comment
@MikeMcQuaid

MikeMcQuaid Apr 18, 2017

Member

Is this built from source?

Member

MikeMcQuaid commented Apr 18, 2017

Is this built from source?

@carlowahlstedt

This comment has been minimized.

Show comment
Hide comment
@carlowahlstedt

carlowahlstedt Apr 18, 2017

Contributor

Please, forgive my ignorance in this whole process.

I copied the .rb file down locally, updated with the same values from this PR, and installed it (brew install --build-from-source <formula>). I ran the audit and clean up everything but the error you linked to (thanks for I couldn't seem to find). However, I didn't change anything seemingly related to this and the command line update only showed the description error. So I thought it might have been a machine issue.

Any idea why it would be linking to those binary files? I was at a loss for a reason.

Thanks.

Contributor

carlowahlstedt commented Apr 18, 2017

Please, forgive my ignorance in this whole process.

I copied the .rb file down locally, updated with the same values from this PR, and installed it (brew install --build-from-source <formula>). I ran the audit and clean up everything but the error you linked to (thanks for I couldn't seem to find). However, I didn't change anything seemingly related to this and the command line update only showed the description error. So I thought it might have been a machine issue.

Any idea why it would be linking to those binary files? I was at a loss for a reason.

Thanks.

@carlowahlstedt

This comment has been minimized.

Show comment
Hide comment
@carlowahlstedt

carlowahlstedt Apr 21, 2017

Contributor

@MikeMcQuaid I did more research and here's what I came to.

I decided to install the gcc compiler, from HB, to see if the missing library would show up. After the install of the latest version (6), the usr/lib/libgcc_s.1.dylib now exists, but that's not that alias needed. Looking into the gcc folder (/usr/local/Cellar/gcc/6.3.0_1/lib/gcc/6/) I found the missing link (libgcc_s_ppc64.1.dylib), which links back to the libgcc_s.1.dylib link. That link goes to /usr/lib/libSystem.B.dylib, which seems to be the original file.

In a vain attempt to satisfy the auditing, I attempted to create a manual symlink, but because of SIP I can't seem to create it. Not sure how the gcc install was able.

That said, my big question is still, why is it asking for libgcc_s_pcc_64.1.dylib? Team Explorer Everywhere doesn't need it as far as I can see and nothing in the ruby script that does the install is invoking it either. I guess it could be something with how the auditing works? Next chance I get, that will be what I'll attempt to research.

Contributor

carlowahlstedt commented Apr 21, 2017

@MikeMcQuaid I did more research and here's what I came to.

I decided to install the gcc compiler, from HB, to see if the missing library would show up. After the install of the latest version (6), the usr/lib/libgcc_s.1.dylib now exists, but that's not that alias needed. Looking into the gcc folder (/usr/local/Cellar/gcc/6.3.0_1/lib/gcc/6/) I found the missing link (libgcc_s_ppc64.1.dylib), which links back to the libgcc_s.1.dylib link. That link goes to /usr/lib/libSystem.B.dylib, which seems to be the original file.

In a vain attempt to satisfy the auditing, I attempted to create a manual symlink, but because of SIP I can't seem to create it. Not sure how the gcc install was able.

That said, my big question is still, why is it asking for libgcc_s_pcc_64.1.dylib? Team Explorer Everywhere doesn't need it as far as I can see and nothing in the ruby script that does the install is invoking it either. I guess it could be something with how the auditing works? Next chance I get, that will be what I'll attempt to research.

@MikeMcQuaid

This comment has been minimized.

Show comment
Hide comment
@MikeMcQuaid

MikeMcQuaid Apr 23, 2017

Member

That said, my big question is still, why is it asking for libgcc_s_pcc_64.1.dylib?

It seems that it's probably not being built from source and is using a prebuilt binary (at least in part) which links to a file that no longer exists. Does that sound like it could be the case?

Member

MikeMcQuaid commented Apr 23, 2017

That said, my big question is still, why is it asking for libgcc_s_pcc_64.1.dylib?

It seems that it's probably not being built from source and is using a prebuilt binary (at least in part) which links to a file that no longer exists. Does that sound like it could be the case?

@martinwoodward

This comment has been minimized.

Show comment
Hide comment
@martinwoodward

martinwoodward Apr 24, 2017

FYI - for tips on compiling Team Explorer Everywhere see:

Note that if the compilation process still works how I it did back when I worked on the project then it pulls in pre-compiled JNI binaries (therefore allowing a build of the pure Java stuff on one platform to work across all the client operating systems that TEE supports because the JNI code changes much less infrequently). If you want to build the JNI files from source then take a look here:

/cc @AlexRukhlin, @DavidStaheli, @ethomson

martinwoodward commented Apr 24, 2017

FYI - for tips on compiling Team Explorer Everywhere see:

Note that if the compilation process still works how I it did back when I worked on the project then it pulls in pre-compiled JNI binaries (therefore allowing a build of the pure Java stuff on one platform to work across all the client operating systems that TEE supports because the JNI code changes much less infrequently). If you want to build the JNI files from source then take a look here:

/cc @AlexRukhlin, @DavidStaheli, @ethomson

@ethomson

This comment has been minimized.

Show comment
Hide comment
@ethomson

ethomson Apr 25, 2017

It seems that it's probably not being built from source and is using a prebuilt binary (at least in part)

Yep, that's almost certainly the case. As Martin mentions, TEE is a Java project that loads some native components in a dylib with JNI. The last time I touched the build process here, that dylib was built on a PowerMac G5 running the latest versions of Mac OS X and XCode that were supported, since that was the last system that would produce fat binaries for PPC, PPC64, x86 and amd64. 😭

I'm surprised that you're getting linker errors trying to load libraries for a platform that you're not actually running (PPC64) but maybe something has changed recently. I'm afraid that I'm travelling this week so I don't have a Mac in front of me to test with.

@carlowahlstedt does TEE work for you generally? Is it only in the context of homebrew that it's failing, or does it fail with this error even when you try to run it from the command-line?

ethomson commented Apr 25, 2017

It seems that it's probably not being built from source and is using a prebuilt binary (at least in part)

Yep, that's almost certainly the case. As Martin mentions, TEE is a Java project that loads some native components in a dylib with JNI. The last time I touched the build process here, that dylib was built on a PowerMac G5 running the latest versions of Mac OS X and XCode that were supported, since that was the last system that would produce fat binaries for PPC, PPC64, x86 and amd64. 😭

I'm surprised that you're getting linker errors trying to load libraries for a platform that you're not actually running (PPC64) but maybe something has changed recently. I'm afraid that I'm travelling this week so I don't have a Mac in front of me to test with.

@carlowahlstedt does TEE work for you generally? Is it only in the context of homebrew that it's failing, or does it fail with this error even when you try to run it from the command-line?

@MikeMcQuaid

This comment has been minimized.

Show comment
Hide comment
@MikeMcQuaid

MikeMcQuaid Apr 25, 2017

Member

It's not broken, it's just detecting failed linkages here. It may be we just decide that's not a problem and ship this as-is.

Member

MikeMcQuaid commented Apr 25, 2017

It's not broken, it's just detecting failed linkages here. It may be we just decide that's not a problem and ship this as-is.

@MikeMcQuaid

This comment has been minimized.

Show comment
Hide comment
@MikeMcQuaid

MikeMcQuaid Apr 25, 2017

Member

since that was the last system that would produce fat binaries for PPC, PPC64, x86 and amd64.

It's worth noting on macOS at least supporting more than amd64 has been unnecessary since 10.6 (released almost 8 years ago).

Member

MikeMcQuaid commented Apr 25, 2017

since that was the last system that would produce fat binaries for PPC, PPC64, x86 and amd64.

It's worth noting on macOS at least supporting more than amd64 has been unnecessary since 10.6 (released almost 8 years ago).

@ethomson

This comment has been minimized.

Show comment
Hide comment
@ethomson

ethomson Apr 25, 2017

It's worth noting on macOS at least supporting more than amd64 has been unnecessary since 10.6 (released almost 8 years ago).

Team Explorer Everywhere basically exists to serve legacy customers. Our support matrix includes versions of IBM AIX from the 90's.

ethomson commented Apr 25, 2017

It's worth noting on macOS at least supporting more than amd64 has been unnecessary since 10.6 (released almost 8 years ago).

Team Explorer Everywhere basically exists to serve legacy customers. Our support matrix includes versions of IBM AIX from the 90's.

@ethomson

This comment has been minimized.

Show comment
Hide comment
@ethomson

ethomson Apr 25, 2017

Team Explorer Everywhere basically exists to serve legacy customers. Our support matrix includes versions of IBM AIX from the 90's.

Having said that, you could probably lipo that dylib to get rid of the ancient architectures. While you're at it, you can remove the native libraries for all the other platforms to save some space. Or, of course, you can ship it as-is. :grin

ethomson commented Apr 25, 2017

Team Explorer Everywhere basically exists to serve legacy customers. Our support matrix includes versions of IBM AIX from the 90's.

Having said that, you could probably lipo that dylib to get rid of the ancient architectures. While you're at it, you can remove the native libraries for all the other platforms to save some space. Or, of course, you can ship it as-is. :grin

@carlowahlstedt

This comment has been minimized.

Show comment
Hide comment
@carlowahlstedt

carlowahlstedt Apr 25, 2017

Contributor

@ethomson for confirmation, TEE does generally work for me. It's just the exe that was grabbed from the Github TEE releases. @MikeMcQuaid is right, it's just the HB audit process that's failing. However, it sounds like the reason has become obvious.

Once a resolution can be reached, I was looking at trying to setup an automated process to use the homebrew command-line to submit updated version of TEE from their releases on Github. @MikeMcQuaid would you prefer we attempt to remove the dependency using the suggested lipo method, accept as is, or something else? If accepted as-is, then it looks like the brew bump-formula-pr will allow for submitting the pull request where this same failure would be observed the next time.

Thanks everyone for your input! Automate all the things!

Contributor

carlowahlstedt commented Apr 25, 2017

@ethomson for confirmation, TEE does generally work for me. It's just the exe that was grabbed from the Github TEE releases. @MikeMcQuaid is right, it's just the HB audit process that's failing. However, it sounds like the reason has become obvious.

Once a resolution can be reached, I was looking at trying to setup an automated process to use the homebrew command-line to submit updated version of TEE from their releases on Github. @MikeMcQuaid would you prefer we attempt to remove the dependency using the suggested lipo method, accept as is, or something else? If accepted as-is, then it looks like the brew bump-formula-pr will allow for submitting the pull request where this same failure would be observed the next time.

Thanks everyone for your input! Automate all the things!

@MikeMcQuaid MikeMcQuaid merged commit 6bb32f9 into Homebrew:master Apr 26, 2017

1 check failed

continuous-integration/jenkins/ghprb Build finished.
Details
@MikeMcQuaid

This comment has been minimized.

Show comment
Hide comment
@MikeMcQuaid

MikeMcQuaid Apr 26, 2017

Member

Thanks for your first contribution to Homebrew, @carlowahlstedt! Without people like you submitting PRs we couldn't run this project. You rock!

Member

MikeMcQuaid commented Apr 26, 2017

Thanks for your first contribution to Homebrew, @carlowahlstedt! Without people like you submitting PRs we couldn't run this project. You rock!

@Homebrew Homebrew locked and limited conversation to collaborators May 4, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.