Skip to content
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

Has J2V8 been abandoned? #461

Closed
GrahamBorland opened this issue Mar 26, 2019 · 12 comments
Closed

Has J2V8 been abandoned? #461

GrahamBorland opened this issue Mar 26, 2019 · 12 comments

Comments

@GrahamBorland
Copy link
Contributor

GrahamBorland commented Mar 26, 2019

For several weeks now, people have been asking for status updates, trying to figure out how to get 64-bit Android builds, offering help, and trying to figure out what's going on.

There has been no response.

We are only a few months away from needing to have 64-bit builds integrated, tested, and released. For companies with long development and QA pipelines, we are now at an absolutely critical stage.

If J2V8 is no longer being actively maintained, please come out and say so so we can start to make alternative plans or figure out what we're going to do about it.

@JessHolle
Copy link
Contributor

It is easy enough to hack something into place to get current 32 and 64-bit builds -- and then to smash them together (by hand) into a fat .aar -- to get by. I could push up a fork -- as I'm guessing others could as well.

That said, that's clearly not a good foundation for the future of J2V8. Official fixes to the various issues in HEAD are needed. Official "fat" aar builds are needed. And, yes, I think a move to a more recent V8 is overdue as well.

@GrahamBorland
Copy link
Contributor Author

I'd be happy with a 64-bit build of the current 4.8.x release. I'm not too bothered about new features or fixes; I just need something which will keep working after August. :)

@JessHolle I'd love to know your steps to put together a fat .aar, if you're able to share.

@GrahamBorland
Copy link
Contributor Author

Maybe they're prevented from talking about it because it's in the process of being acquired by Google, or something.

@JessHolle
Copy link
Contributor

See https://github.com/JessHolle/J2V8/tree/jmh-quick-fixes for the quick fixes I made on top of the current HEAD to get it building/running.

That allows you to build a 32-bit aar and a 64-bit aar. To combine them you simply unzip both, take the union of the resulting files, and zip that up (maintaining the same relative zip root) into a new aar. In practice this just means adding the 64-bit lib directory to the 32-bit aar.

@irbull
Copy link
Member

irbull commented Mar 27, 2019

No, but I can understand your frustration.

I have built snapshot versions of the latest J2V8 and published them publicly. They are available at https://oss.sonatype.org/content/repositories/snapshots/com/eclipsesource/j2v8/j2v8/5.0.100-SNAPSHOT/

This is built from master (I didn't need @JessHolle quick fixes, but it looks like those might be related to a difference in Docker versions). But I understand that a snapshot release is not what you want. However, I've not been able to get the Jar Signer working properly. I will take another stab at that.

Sorry for the delay in this. :(

@JessHolle
Copy link
Contributor

JessHolle commented Mar 27, 2019

@irbull I'll have to give your snapshot build a try.

My quick fixes involved addressing several issues:

  1. Address other versions of docker -- as you noted. (I believe I updated Docker right before this, i.e. that the version was quite new.) My "quick fix" is not really right here -- as I'm disabling Docker checking rather than instituting proper checking for the version at hand. See docker_build.py health_check examines Client OS/Arch seems it should examine Server #454
  2. Addressed a failure at runtime with an UnsatisfiedLinkError due to a missing "uv_default_loop" symbol. See discussion on Building a full android AAR #458 and Issues building J2V8 from latest master #459 (and ignore my accidental references to GitHub issues 1 and 2 where I meant my own items 1 and 2). The solution @artcodex suggested worked -- i.e. disabling node support, so I went with that (as I have no interest in node support anyway).
  3. Address another failure at runtime on Android: UnsatisfiedLinkError: Unsupported arch: armv7l #455
  4. Added an easy, obvious way to produce a 64-bit ARM build. I am still unclear as to how to produce a multi-architecture AAR here -- except by manually squashing multiple AARs together as I did.

Besides being unclear as to how you built a multi-architecture AAR, I'm quite unclear how you could simply build from master without encountering 2 and 3 above -- irrespective of docker version used.

@irbull
Copy link
Member

irbull commented Mar 27, 2019

Maybe it works because I don't build with node support. The exact steps I use to build are actually in the .gitlab-ci.yml. I mirror master from GitHub and build on a GitLab instance because I have compute resources there to do the build. I tried with Travis, but it takes too long and times out (they have a 50min max for OpenSource projects).

https://github.com/eclipsesource/J2V8/blob/master/.gitlab-ci.yml

You can see the 4 build commands that build J2V8 on the 4 different platforms and assemble them into 1 aar.

@JessHolle
Copy link
Contributor

JessHolle commented Mar 27, 2019

That explains how you got around 2 and 4 from my list above -- and you already explained 1.

How you didn't run into the issue from 3 (i.e. #455) is still a complete mystery to me, though.

@GrahamBorland
Copy link
Contributor Author

@irbull Thank you! Good to know you're still there. :) We can close this issue, then, since we already have #384 to track the 64-bit Android build issues.

@JessHolle Thank you also for the assistance.

@irbull
Copy link
Member

irbull commented Mar 27, 2019

I think I can solve that mystery. I didn't test on those devices and I missed that issue. Sorry :(. I will pull that change into master and get a new snapshot build.

I'm traveling right now (I usually work remotely, but right now I'm in the office and I have a colleague here who may be able to help with the release build). I'll get together with him this week and see if we can get a release build out.

@JessHolle
Copy link
Contributor

Awesome!

@thomashoef
Copy link

@irbull Any chance of getting the build fixed so we can use the build result on armv8l / armv7l? That would be awesome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants