Closed ronaldtse closed 2 years ago
It is internal compiler error. Probably it does not have enough memory.
Facebook now does not say at all how much is required to compile folly. Last time I saw it back in May, it was 8 Gb RAM requirement
I updated Docker to run with 12GB RAM and tebako setup
successfully finished.
In order to build packed-mn
, I needed to do this:
Building packed-mn:
apt-get install -y libpng-dev libc6-dev libfontconfig1-dev libfreetype6-dev zlib1g-dev
bin/build-with-tebako.sh
Then I encounter this issue:
current directory: /packed-mn/tebako/output/source_filesystem/lib/ruby/gems/2.7.0/gems/rice-3.0.0
/packed-mn/tebako/output/source_filesystem/bin/ruby -I /packed-mn/tebako/output/source_filesystem/lib/ruby/2.7.0 -r
./siteconf20211217-97085-wmcyqu.rb extconf.rb
Unfortunately Rice does not build against a staticly linked Ruby.
You'll need to rebuild Ruby with --enable-shared to use this library.
If you're on rvm: rvm reinstall [version] -- --enable-shared
If you're on rbenv: CONFIGURE_OPTS="--enable-shared" rbenv install [version]
How did you get around this?
@ronaldtse The whole idea was to have --disable-shared. Otherwise Ruby builds extensions as shared libraries and requires all these libraries to run.
I did not have this issue, so it is something new for me.
Building packed-mn:
apt-get install -y libpng-dev libc6-dev libfontconfig1-dev libfreetype6-dev zlib1g-dev bin/build-with-tebako.sh
I do not think it is related to tebako. packed-mn probably does have its own requirements that need to be satisfied.
There are two non-exclusive options:
just test rice 4.0
Good point, yes let me try that.
To build packed-mn, I had to do this:
apt-get install -y libxslt-dev libz-dev libpng-dev libfreetype-dev libfontconfig-dev autoconf
# This is needed to build the expressir gem
export CC=clang; export CC=clang++
bundle
# Then some gems will fail to compile, such as nokogiri
export CC=gcc; export CXX=g++
gem install nokogiri -- --use-system-libraries
# run bundle again
bundle
I'm facing this now:
root@6db1a805a582:/packed-mn# make
mkdir -p build/bin/;
.archive/tebako/bin/tebako press -r "build/package" -e "metanorma" -o "build/bin/metanorma-linux-aarch64";
Setting up Linux environment
make: *** [Makefile:106: build/bin/metanorma-linux-aarch64] Error 1
root@6db1a805a582:/packed-mn# make clean
rm -rf build
root@6db1a805a582:/packed-mn# make
mkdir -p build/package/;
cp bin/metanorma build/package/metanorma
mkdir -p build/package/;
cp Gemfile build/package/Gemfile
mkdir -p build/package/;
cp Gemfile.lock build/package/Gemfile.lock
mkdir -p build/package/;
cp vendor/cacert.pem.mozilla build/package/cacert.pem.mozilla
mkdir -p build/package/;
cp -R vendor build/package/vendor
touch build/.package-ready
mkdir -p build/bin/;
.archive/tebako/bin/tebako press -r "build/package" -e "metanorma" -o "build/bin/metanorma-linux-aarch64";
Setting up Linux environment
make: *** [Makefile:106: build/bin/metanorma-linux-aarch64] Error 1
My bad... retrying.
This also worked with the same steps here: https://github.com/tamatebako/tebako/issues/56#issuecomment-1007218049
Going to update the README.
Addressed in faea15d.
Running on Apple M1, using the arm64 ubuntu container (this is 20.04-lts).
Within the container, run this to build tebako:
It compiles and then fails here: