[jira] [Commented] (FLINK-27554) The asf-site does not build on Apple Silicon
[ https://issues.apache.org/jira/browse/FLINK-27554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17539522#comment-17539522 ] Martijn Visser commented on FLINK-27554: In the end, it all boils down to Ruby dependency {{therubyracer}} which is no longer maintained and won't work on arm64 architectures. I'm wondering if it makes more sense to focus on https://issues.apache.org/jira/browse/FLINK-22922 as an 'easier' fix. > The asf-site does not build on Apple Silicon > > > Key: FLINK-27554 > URL: https://issues.apache.org/jira/browse/FLINK-27554 > Project: Flink > Issue Type: Sub-task > Components: Project Website >Affects Versions: 1.15.0 >Reporter: Jiangjie Qin >Priority: Major > > It looks that the ASF website does not build on my laptop with Apple silicon. > It errors out when installing libv8 via the following command: > {noformat} > gem install libv8 -v '3.16.14.19' --source 'https://rubygems.org/' > {noformat} > The error logs are following: > {noformat} > current directory: /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8 > /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I > /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r > ./siteconf20220509-16154-19vsxkp.rb extconf.rb > creating Makefile > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/disable-building-tests.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/disable-werror-on-osx.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/disable-xcode-debugging.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/do-not-imply-vfp3-and-armv7.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/do-not-use-MAP_NORESERVE-on-freebsd.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/do-not-use-vfp2.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/fPIC-for-static.patch > Compiling v8 for x64 > Using python 2.7.18 > Using compiler: c++ (clang version 13.1.6) > Unable to find a compiler officially supported by v8. > It is recommended to use GCC v4.4 or higher > Beginning compilation. This will take some time. > Building v8 with env CXX=c++ LINK=c++ /usr/bin/make x64.release vfp2=off > vfp3=on hardfp=on ARFLAGS.target=crs werror=no > GYP_GENERATORS=make \ > build/gyp/gyp --generator-output="out" build/all.gyp \ > -Ibuild/standalone.gypi --depth=. \ > -Dv8_target_arch=x64 \ > -S.x64 -Dv8_enable_backtrace=1 > -Dv8_can_use_vfp2_instructions=false -Dv8_can_use_vfp3_instructions=true > -Darm_fpu=vfpv3 -Dwerror='' -Dv8_use_arm_eabi_hardfloat=true > CXX(target) > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o > clang: warning: include path for libstdc++ headers not found; pass > '-stdlib=libc++' on the command line to use the libc++ standard library > instead [-Wstdlibcxx-not-found] > In file included from ../src/allocation.cc:33: > ../src/utils.h:33:10: fatal error: 'climits' file not found > #include > ^ > 1 error generated. > make[1]: *** > [/Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o] > Error 1 > make: *** [x64.release] Error 2 > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:36:in > `block in verify_installation!': libv8 did not install properly, expected > binary v8 archive > '/Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a'to > exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound) > from > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in > `each' > from > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in > `verify_installation!' > from > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:26:in > `install!' > from extconf.rb:7:in `' > > extconf failed, exit code 1 > {noformat} -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (FLINK-27554) The asf-site does not build on Apple Silicon
[ https://issues.apache.org/jira/browse/FLINK-27554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536975#comment-17536975 ] Jiangjie Qin commented on FLINK-27554: -- Thanks for digging into this, [~xtsong]. I think this is a good progress. I am wondering if [~vthinkxie] would have some idea about how to make this work. > The asf-site does not build on Apple Silicon > > > Key: FLINK-27554 > URL: https://issues.apache.org/jira/browse/FLINK-27554 > Project: Flink > Issue Type: Sub-task > Components: Project Website >Affects Versions: 1.15.0 >Reporter: Jiangjie Qin >Priority: Major > > It looks that the ASF website does not build on my laptop with Apple silicon. > It errors out when installing libv8 via the following command: > {noformat} > gem install libv8 -v '3.16.14.19' --source 'https://rubygems.org/' > {noformat} > The error logs are following: > {noformat} > current directory: /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8 > /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I > /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r > ./siteconf20220509-16154-19vsxkp.rb extconf.rb > creating Makefile > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/disable-building-tests.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/disable-werror-on-osx.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/disable-xcode-debugging.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/do-not-imply-vfp3-and-armv7.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/do-not-use-MAP_NORESERVE-on-freebsd.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/do-not-use-vfp2.patch > Applying > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/patches/fPIC-for-static.patch > Compiling v8 for x64 > Using python 2.7.18 > Using compiler: c++ (clang version 13.1.6) > Unable to find a compiler officially supported by v8. > It is recommended to use GCC v4.4 or higher > Beginning compilation. This will take some time. > Building v8 with env CXX=c++ LINK=c++ /usr/bin/make x64.release vfp2=off > vfp3=on hardfp=on ARFLAGS.target=crs werror=no > GYP_GENERATORS=make \ > build/gyp/gyp --generator-output="out" build/all.gyp \ > -Ibuild/standalone.gypi --depth=. \ > -Dv8_target_arch=x64 \ > -S.x64 -Dv8_enable_backtrace=1 > -Dv8_can_use_vfp2_instructions=false -Dv8_can_use_vfp3_instructions=true > -Darm_fpu=vfpv3 -Dwerror='' -Dv8_use_arm_eabi_hardfloat=true > CXX(target) > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o > clang: warning: include path for libstdc++ headers not found; pass > '-stdlib=libc++' on the command line to use the libc++ standard library > instead [-Wstdlibcxx-not-found] > In file included from ../src/allocation.cc:33: > ../src/utils.h:33:10: fatal error: 'climits' file not found > #include > ^ > 1 error generated. > make[1]: *** > [/Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o] > Error 1 > make: *** [x64.release] Error 2 > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:36:in > `block in verify_installation!': libv8 did not install properly, expected > binary v8 archive > '/Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a'to > exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound) > from > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in > `each' > from > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in > `verify_installation!' > from > /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:26:in > `install!' > from extconf.rb:7:in `' > > extconf failed, exit code 1 > {noformat} -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (FLINK-27554) The asf-site does not build on Apple Silicon
[ https://issues.apache.org/jira/browse/FLINK-27554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536970#comment-17536970 ] Xintong Song commented on FLINK-27554: -- I've made a little progress on this. I ran into the same error with the `docker-build.sh`. Inspired by this [comment|https://github.com/rubyjs/libv8/issues/315#issuecomment-846475866], I tried with the `amd64` image, and it worked! The full command is: {code:java} docker run --rm --volume="$PWD:/srv/flink-web" --expose=4000 -p 4000:4000 -it --platform linux/amd64 ruby:2.6.0 bash -c "cd /srv/flink-web && gem install bundler && ./build.sh $@"{code} Unfortunately, while this works for `./docker-build.sh` (the generated HTML files look good), I ran into another error with `./docker-build.sh -p`. {code:java} Configuration file: /srv/flink-web/_config.yml Source: /srv/flink-web Destination: /srv/flink-web/content Incremental build: disabled. Enable with --incremental Generating... done in 85.06 seconds. bundler: failed to load command: jekyll (/srv/flink-web/.rubydeps/ruby/2.6.0/bin/jekyll) Traceback (most recent call last): 40: from /usr/local/bundle/bin/bundle:23:in `' 39: from /usr/local/bundle/bin/bundle:23:in `load' 38: from /usr/local/bundle/gems/bundler-2.3.13/exe/bundle:36:in `' 37: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors' 36: from /usr/local/bundle/gems/bundler-2.3.13/exe/bundle:48:in `block in ' 35: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/cli.rb:25:in `start' 34: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start' 33: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/cli.rb:31:in `dispatch' 32: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch' 31: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' 30: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' 29: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/cli.rb:483:in `exec' 28: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/cli/exec.rb:23:in `run' 27: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/cli/exec.rb:58:in `kernel_load' 26: from /usr/local/bundle/gems/bundler-2.3.13/lib/bundler/cli/exec.rb:58:in `load' 25: from /srv/flink-web/.rubydeps/ruby/2.6.0/bin/jekyll:23:in `' 24: from /srv/flink-web/.rubydeps/ruby/2.6.0/bin/jekyll:23:in `load' 23: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/jekyll-3.0.5/bin/jekyll:17:in `' 22: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program' 21: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go' 20: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute' 19: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each' 18: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute' 17: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/jekyll-3.0.5/lib/jekyll/commands/serve.rb:26:in `block (2 levels) in init_with_program' 16: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/jekyll-3.0.5/lib/jekyll/commands/build.rb:39:in `process' 15: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/jekyll-3.0.5/lib/jekyll/commands/build.rb:72:in `watch' 14: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/jekyll-watch-1.5.1/lib/jekyll/watcher.rb:26:in `watch' 13: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/listen-3.7.1/lib/listen/listener.rb:92:in `start' 12: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/listen-3.7.1/lib/listen/fsm.rb:72:in `transition' 11: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/listen-3.7.1/lib/listen/fsm.rb:105:in `transition_with_callbacks!' 10: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/listen-3.7.1/lib/listen/fsm.rb:124:in `call' 9: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/listen-3.7.1/lib/listen/fsm.rb:124:in `instance_eval' 8: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/listen-3.7.1/lib/listen/listener.rb:71:in `block in ' 7: from /usr/local/lib/ruby/2.6.0/forwardable.rb:230:in `start' 6: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/listen-3.7.1/lib/listen/adapter/base.rb:66:in `start' 5: from /srv/flink-web/.rubydeps/ruby/2.6.0/gems/listen-3.7.1/lib/listen/adapter/base.rb:42:in `configure' 4: from