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

Change base to Ubuntu 22.04 LTS (jammy) #1135

Merged
merged 1 commit into from
Nov 21, 2022
Merged

Change base to Ubuntu 22.04 LTS (jammy) #1135

merged 1 commit into from
Nov 21, 2022

Conversation

forderud
Copy link
Contributor

@forderud forderud commented Nov 20, 2022

Done to upgrade CMake from 3.16.3 to 3.22.1.

Motiation: CMake 3.21 or newer is needed to build the Qt 6 sources with emscripten.

CI problem

CI is failing with a code signing error. I suspect that this is due to docker/docker-install#244, which is fixed by updating the Docker version on the CI node.

forderud added a commit to forderud/QtWasm that referenced this pull request Nov 20, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
.circleci/config.yml Outdated Show resolved Hide resolved
Copy link
Collaborator

@kleisauke kleisauke left a comment

Choose a reason for hiding this comment

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

LGTM! I tested this locally on the wasm-vips project without any issues using:

$ docker build --network host --build-arg=EMSCRIPTEN_VERSION=3.1.26 -t emscripten/emsdk:3.1.26 -f docker/Dockerfile .
$ cd ~/wasm-vips
# Ensure we use the locally build Docker image
$ sed -i 's/docker build -t wasm-vips ./& --pull=false/' package.json
$ npm run build
$ npm run test

@sbc100 Feel free to merge if it looks good to you. Perhaps we should mention this in Emscripten's ChangeLog.md, something along?:

- The `emscripten/emsdk` Docker base image was updated from Ubuntu 20.04 LTS
  (Focal) to Ubuntu 22.04 LTS (Jammy). (emscripten-core/emsdk#1135)

@kleisauke
Copy link
Collaborator

Ah, I just noticed that a similar setup_remote_docker change is being done in #1117, so maybe we can land that PR before this.

Done to upgrade from CMake 3.16.3 to 3.22.1. CMake 3.21 or newer is needed to build the Qt 6.4.1 sources with emscripten.

Also update to libidn12 to resolve an "Unable to locate package libidn11" error.
@forderud
Copy link
Contributor Author

I've now rebased the PR on top of main after #1117 was merged.

@sbc100 sbc100 merged commit edc4dc5 into emscripten-core:main Nov 21, 2022
@forderud
Copy link
Contributor Author

@kleisauke @sbc100 Is it possible to request release of a new Docker image that includes the Ubuntu 22.04 update?

@sbc100
Copy link
Collaborator

sbc100 commented Nov 21, 2022

We normally do a release ever week or two.. it would be simplest if you could just wait for the next emsdk release?

In the interim, isn't it possible to simply point of the Dockerfile in this repo (i.e. just use it directly form here without needing a publication of dockerhub?) I'm not docker expert but I seem to remember it fairly easy to just directly use a dockerfile from git?

@forderud
Copy link
Contributor Author

We normally do a release ever week or two.. it would be simplest if you could just wait for the next emsdk release?

I can live with that. Anyhow, thanks for your willingness to merge the Ubuntu upgrade so quickly. :-)

In the interim, isn't it possible to simply point of the Dockerfile in this repo (i.e. just use it directly form here without needing a publication of dockerhub?) I'm not docker expert but I seem to remember it fairly easy to just directly use a dockerfile from git?

Thanks for the tip. Will investigate it.

@forderud forderud deleted the ubuntu-jammy branch November 21, 2022 20:59
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 2, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 2, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 3, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 4, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 4, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 4, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 5, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 5, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 5, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 5, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
forderud added a commit to forderud/QtWasm that referenced this pull request Dec 6, 2022
The build unfortunately fail due to too old CMake version.

Proposal for root-cause fix: emscripten-core/emsdk#1135
lewing pushed a commit to dotnet/emsdk that referenced this pull request Feb 7, 2023
* [bazel] Set CLOSURE_COMPILER to workaround RBE+symlinks issue (emscripten-core#1037)

* [bazel] Set CLOSURE_COMPILER to workaround RBE+symlinks issue

* space

* specify node_js

* 3.1.10 (emscripten-core#1046)

* Optimize sandbox performance (emscripten-core#1045)

* Optimize sandbox performance

Link just the files needed to compile, link, or archive, rather than the entire directory tree. This drastically improves build times on macOS, where the sandbox is known to be slow (bazelbuild/bazel#8230).

* Linux wants clang to link

* all_files not needed?

* Linux wants llc

* And llvm-ar

* Templated build_file_content

* include node modules glob with linker files. also some minor formatting fixes. (emscripten-core#1052)

* Using bazelisk on macOS CI (emscripten-core#1049)

* Explicit outputs for wasm_cc_binary (emscripten-core#1047)

* Explicit outputs for wasm_cc_binary

* Backwards compatibility

* data_runfiles restore

* restore test_bazel.sh

* Using wrong path on accident

* two separate rules for legacy support

* Added name attribute to wasm_cc_binary rule

* 3.1.11 (emscripten-core#1053)

* 3.1.12 (emscripten-core#1054)

* 3.1.13 (emscripten-core#1055)

* [bazel] Add additional files necessary for building with closure and on RBE (emscripten-core#1057)

* 3.1.14 (emscripten-core#1061)

* 3.1.15 (emscripten-core#1066)

* Pin `latest` to a specific version for arm64-linux (emscripten-core#1065)

Fixes: emscripten-core#1040

* 3.1.16 (emscripten-core#1071)

* 3.1.17 (emscripten-core#1076)

* Exclude msys from path fix function. (emscripten-core#1078)

Fixes: #911

* 3.1.18 (emscripten-core#1081)

* 3.1.18

* Update LLVM include path in Bazel files

* Version 3.1.18-2 (emscripten-core#1083)

3.1.18 had a bad release binary on ARM64 Mac so push an updated version of the release.

* 3.1.19 (emscripten-core#1090)

* Add EMSDK_QUIET to make emsdk_env less chatting (emscripten-core#1091)

Without this the recommended way to silence emsdk_env was to pipe its
stderr to /dev/null.. but then you also loose potentially useful error
message.

Fixes: #946

* 3.1.20 (emscripten-core#1095)

* Add double-quotes to allow spaces in path (emscripten-core#1097)

* 3.1.21 (emscripten-core#1101)

* Update latest-arm64-linux to 3.1.21 (emscripten-core#1102)

* Update XCode version on CircleCI (emscripten-core#1103)

12.2 is being deprecated

* 3.1.22 (emscripten-core#1107)

* 3.1.23 (emscripten-core#1111)

* Avoid exporting EM_CONFIG for modern SDK versions (emscripten-core#1110)

Newer versions of emscipten, starting all the way back in 1.39.13, can
automatically locate the `.emscripten` config file that emsdk creates so
there is no need for the explicit EM_CONFIG environment variable.  Its
redundant and adds unnessary noisce/complexity.

Really, adding emcc to the PATH is all the is needed these days.

One nice thing about this change is that it allows folks to run
whichever emcc they want to and have it just work, even if they have
configured emsdk.   Without this change, if I activate emsdk and I run
`some/other/emcc` then emsdk's `EM_CONFIG` will still be present and
override the configuration embedded in `some/other/emcc`.

e.g. in the same shell, with emsdk activated, I can run both these
commands and have them both just work as expected.

```
$ emcc --version
$ /path/to/my/emcc --version
```

* Use x64 version for Windows on Arm (emscripten-core#1115)

* 3.1.24 (emscripten-core#1122)

* 3.1.25 (emscripten-core#1130)

* [bazel] Switch to platforms-based toolchain resolution (emscripten-core#1036)

* remove "name" attribute from bazel rules (emscripten-core#1131)

* 3.1.26 (emscripten-core#1134)

* Update remote_docker version in CircleCI config (emscripten-core#1117)

20.10.17 is the current default.

* docker image: Change base to Ubuntu 22.04 LTS (jammy) (emscripten-core#1135)

Done to upgrade from CMake 3.16.3 to 3.22.1. CMake 3.21 or newer is needed to build the Qt 6.4.1 sources with emscripten.

Also update to libidn12 to resolve an "Unable to locate package libidn11" error.

* 3.1.27 (emscripten-core#1139)

* Use constants for fixed paths. NFC (emscripten-core#1140)

* Add standalone_wasm feature to bazel emscripten_toolchain (emscripten-core#1145)

* 3.1.28 (emscripten-core#1149)

* Upgrade to rules_nodejs 5.8.0 (emscripten-core#1150)

Fixes emscripten-core#1020

* 3.1.29 (emscripten-core#1160)

* Pin Windows CI to Bazel 5.4.0 (emscripten-core#1163)

* Remove reference to fastcomp-latest. NFC (emscripten-core#1164)

fastcomp can only be install using explicit versions names so this name
doesn't work.

* Remove fastcomp SDK and fastcomp build rules. NFC (emscripten-core#1165)

Folks that want to work with fastcomp will now need to use an older
checkout of emsdk.

* 3.1.30 (emscripten-core#1167)

* Bump emscripten to 3.1.30

* Bump clang version

* Do not include test directory

* Update eng/emsdk.proj

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>

---------

Co-authored-by: Kevin Lubick <kjlubick@users.noreply.github.com>
Co-authored-by: Sam Clegg <sbc@chromium.org>
Co-authored-by: John Firebaugh <john.firebaugh@gmail.com>
Co-authored-by: walkingeyerobot <mitch@thefoley.net>
Co-authored-by: Ezekiel Warren <zaucy@users.noreply.github.com>
Co-authored-by: Heejin Ahn <aheejin@gmail.com>
Co-authored-by: Tim Ebbeke <Tim06TR@gmail.com>
Co-authored-by: Derek Schuff <dschuff@chromium.org>
Co-authored-by: Joel Van Eenwyk <joel.vaneenwyk@gmail.com>
Co-authored-by: Pierrick Bouvier <101587250+pbo-linaro@users.noreply.github.com>
Co-authored-by: Trevor Hickey <TrevorJamesHickey@gmail.com>
Co-authored-by: Fredrik Orderud <forderud@users.noreply.github.com>
Co-authored-by: Robbert van Ginkel <570934+robbertvanginkel@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
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

Successfully merging this pull request may close these issues.

3 participants