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

[libffi] Update to v3.3 release #6119

Merged
merged 19 commits into from
Feb 7, 2020
Merged

Conversation

driver1998
Copy link
Contributor

@driver1998 driver1998 commented Apr 16, 2019

Update: v3.3 finally released(3e249f826e77c57f4a85be746dcfd1f891ab90f4), hopefully it will just work.

This is a port of libffi master as of Apr 10 (d1e9b4b), with both libffi/libffi#483 (arm64 support) and libffi/libffi#477 (arm32 support).

This port is work in progress.

@driver1998 driver1998 marked this pull request as ready for review April 17, 2019 02:36
@Rastaban
Copy link
Contributor

Thanks for all of the new PRs! With this one I see a new build failure with libffi on osx and Linux. Are you able to investigate those? Also do you know when libffi is planning on releasing 3.3? We prefer to stick with official releases rather than switching to an unofficial repro and using a hash.

@driver1998
Copy link
Contributor Author

@Rastaban I agree with you about the official releases, this is currently just a temporary hack for testing & using glib on arm-windows / arm64-windows. That is also why it is marked as WIP.
As for the 3.3 release, I am not 100% sure about that though.

@driver1998
Copy link
Contributor Author

driver1998 commented Apr 17, 2019

I'll see what I can do to the Linux side of things soon.

As for OS X, I don't have a Mac so sorry about that. (Maybe they are related though)

@grdowns grdowns added the wip label Apr 17, 2019
@grdowns grdowns self-assigned this Apr 23, 2019
@grdowns
Copy link
Contributor

grdowns commented Apr 23, 2019

Hey @driver1998, here is the failure log for x64-linux if you're interested in seeing it. Note that the debug installation links fine while the release installation fails -- I might be able to take a deeper look at it at some point if you don't get the chance to. Thanks for all these PR's!
install-x64-linux-rel-out.log

@driver1998
Copy link
Contributor Author

批注 2019-04-28 013830
So it works on my end, Xubuntu 18.04 amd64.
Can you provide me a little bit more detail?

@driver1998
Copy link
Contributor Author

With this commit I also updated to a more recent commit, and we are pretty close to main branch right now (waiting for one more PR to upstream).

@grdowns
Copy link
Contributor

grdowns commented Apr 29, 2019

x64-linux seems to be building fine according to the CI now -- that might have been an error on my part. Thanks for confirming the results and giving us a status update, @driver1998. 😄

@grdowns
Copy link
Contributor

grdowns commented May 29, 2019

Hey @driver1998, could you please link the upstream pull requests so we can follow along with the progress?

@driver1998
Copy link
Contributor Author

libffi/libffi#490

@ras0219-msft
Copy link
Contributor

Let's move forward with this by pulling the PR branch, since upstream hasn't looked at the PR in a month.

@driver1998
Copy link
Contributor Author

driver1998 commented Jun 29, 2019

Now libffi/libffi#486 is merged, I am going to move to upstream master...

@ras0219-msft @grdowns

@driver1998
Copy link
Contributor Author

driver1998 commented Jun 29, 2019

libffi/libffi#490 contains one more patch over libffi/libffi#486 (and the current upstream), which is added as a patch to the port.

The new PR for this patch is libffi/libffi#496.

@driver1998
Copy link
Contributor Author

Now everything we need is in upstream master, only to wait for.an official 3.3 release...

@cbezault cbezault added the depends:upstream-changes Waiting on a change to the upstream project label Sep 10, 2019
janisozaur added a commit to janisozaur/vcpkg that referenced this pull request Oct 16, 2019
`boost-python` depends on `python3`, which in turn depends on `libffi`,
which is not available for arm (see
microsoft#6119, pending upstream release
3.3). Until this becomes fixed, drop `boost-python` from packages
`boost` depends on, so it can be built for arm.

https://github.com/microsoft/vcpkg/blob/75b4620da5c201d577426aafe101ecb045e7411b/ports/boost-python/CONTROL#L4
https://github.com/microsoft/vcpkg/blob/75b4620da5c201d577426aafe101ecb045e7411b/ports/python3/CONTROL#L5
@c72578
Copy link
Contributor

c72578 commented Oct 27, 2019

Now everything we need is in upstream master, only to wait for.an official 3.3 release...

In the meantime, libffi 3.3 Release Candidate 1 has been released (2019-10-24). However, not the official 3.3 yet, but definitely worth testing.
https://github.com/libffi/libffi/releases/tag/v3.3-rc1

@qz3fwd
Copy link

qz3fwd commented Nov 3, 2019

Adding the more recent version which supports arm64 would be great. Last night I hacked together a portfile to build the arm64 lib using the msbuild function. I would prefer the port be updated rather than my hack.

@driver1998 driver1998 changed the title [libffi][wip] update to 3.3-rc0, with arm/arm64 windows support [libffi][WIP] Update to v3.3, currently RC2 Nov 4, 2019
@driver1998
Copy link
Contributor Author

driver1998 commented Nov 4, 2019

Rebased this branch to current vcpkg master, and upgrade to libffi v3.3-rc2 (just released).

@driver1998
Copy link
Contributor Author

Resolved.

@PhoebeHui
Copy link
Contributor

@driver1998, thanks for updates!

The CI failed with following failures, could you please take a look? if this is expected, could you please update them to ci.baseline.txt file?

##[error] REGRESSION: libnice:arm64-windows
##[error] REGRESSION: gdk-pixbuf:arm64-windows
##[error] REGRESSION: pangomm:arm64-windows
##[error] PASSING, REMOVE FROM FAIL LIST: libffi:arm64-windows (C:\vsts_work\3\s\scripts\ci.baseline.txt)
##[error] REGRESSION: atk:arm64-windows

@driver1998
Copy link
Contributor Author

Should be resolved now.

ports/pangomm/portfile.cmake Outdated Show resolved Hide resolved
ports/pangomm/portfile.cmake Show resolved Hide resolved
ports/pangomm/portfile.cmake Outdated Show resolved Hide resolved
Copy link
Contributor

@PhoebeHui PhoebeHui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the PR!

@PhoebeHui PhoebeHui added info:reviewed Pull Request changes follow basic guidelines and removed waiting for response labels Feb 5, 2020
…riables instead. Avoid double expansion inside if().
@ras0219-msft
Copy link
Contributor

Thanks for the PR!

@ras0219-msft ras0219-msft merged commit 7d4227f into microsoft:master Feb 7, 2020
KineticTheory pushed a commit to KineticTheory/vcpkg that referenced this pull request Feb 17, 2020
* libffi 3.3-rc0 custom port, with arm/arm64 windows support

* fix linux build

* enable EFI64 in linux x64, should fix build errors in some cases

* libffi: move to the arm64 support pr branch

* libffi: move to latest upstream master

* libffi: update to upstream master

* libffi: update to v3.3-rc2

* libffi: update to v3.3 release

* libffi: update version in fficonfig.h

* libffi: Remove CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS

* [libffi] update portfile.cmake

* [libnice] fix Windows ARM64 build

* CI: set atk:arm64-windows to fail
atk compilation requires running glib(arm64) tools, which is not possible on a x86 system.

* CI: libffi:arm64-windows passing

* [gdk-pixbuf] fix Windows ARM64 build

* [pangomm] show unsupported architecture error on ARM

* [pangomm] update portfile.cmake

* [libffi] Avoid depending on VCPKG_TARGET_TRIPLET; use native cmake variables instead. Avoid double expansion inside if().

* [libffi] TARGET is a keyword for if() -- use quoted expansion instead.

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet