lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

August 2018

  • 2 participants
  • 112 discussions
[tor-browser-build/master] Bug 25485: Fix libstdc++.so.6 compatibility for Tor Browser
by boklm@torproject.org 08 Aug '18

08 Aug '18
commit 6a89049c0d1200302a59f74e71151466ddae5582 Author: Sukhbir Singh <sukhbir(a)torproject.org> Date: Tue Aug 7 10:08:30 2018 -0400 Bug 25485: Fix libstdc++.so.6 compatibility for Tor Browser We ship our version of libstdc++.so.6 for backward compatibility of Tor Browser on older systems like Ubuntu 16.04. However, a newer version of the library may be installed on the user's system and we should detect and use that. This commit adds support for detecting the library using a C++ program that uses the latest ABI; if the program executes, we should use the system library, and if not (for the older systems), we add our libstdc++.so.6 to LD_LIBRARY_PATH. --- projects/firefox/abicheck.cc | 35 ++++++++++++++++++++++ projects/firefox/build | 4 +++ projects/firefox/config | 2 ++ .../tor-browser/RelativeLink/start-tor-browser | 7 +++++ projects/tor/build | 4 ++- 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/projects/firefox/abicheck.cc b/projects/firefox/abicheck.cc new file mode 100644 index 0000000..cbecafa --- /dev/null +++ b/projects/firefox/abicheck.cc @@ -0,0 +1,35 @@ +/* + * Bug 25485: Browser/TorBrowser/Tor/libstdc++.so.6: version `CXXABI_1.3.11' not found + * This program is borrowed from + * https://en.cppreference.com/w/cpp/error/uncaught_exception and is useful in + * determining the latest C++ ABI. Specifically this program requires + * `GLIBCXX_3.4.22` which we use to compare the version of the installed + * libstdc++.so.6 and the bundled version. If the program executes + * successfully, that means we should use the system version of libstdc++.so.6 + * and if not, that means we should use the bundled version. + */ + +#include <iostream> +#include <exception> +#include <stdexcept> + +struct Foo { + int count = std::uncaught_exceptions(); + ~Foo() { + std::cout << (count == std::uncaught_exceptions() + ? "~Foo() called normally\n" + : "~Foo() called during stack unwinding\n"); + } +}; + +int main() +{ + Foo f; + try { + Foo f; + std::cout << "Exception thrown\n"; + throw std::runtime_error("test exception"); + } catch (const std::exception& e) { + std::cout << "Exception caught: " << e.what() << '\n'; + } +} diff --git a/projects/firefox/build b/projects/firefox/build index da1e71b..4dd0945 100644 --- a/projects/firefox/build +++ b/projects/firefox/build @@ -237,6 +237,10 @@ ELSE; END; %] +[% IF c("var/linux") %] + /var/tmp/dist/gcc/bin/g++ $rootdir/abicheck.cc -o Browser/abicheck +[% END %] + [% c('tar', { tar_src => [ browserdir ], tar_args => '-czf ' _ dest_dir _ '/' _ c('filename') _ '/tor-browser.tar.gz', diff --git a/projects/firefox/config b/projects/firefox/config index 3284ed4..02a380d 100644 --- a/projects/firefox/config +++ b/projects/firefox/config @@ -116,3 +116,5 @@ input_files: - project: fxc2 name: fxc2 enable: '[% c("var/windows") %]' + - filename: abicheck.cc + enable: '[% c("var/linux") %]' diff --git a/projects/tor-browser/RelativeLink/start-tor-browser b/projects/tor-browser/RelativeLink/start-tor-browser index 6639f44..47fbdef 100755 --- a/projects/tor-browser/RelativeLink/start-tor-browser +++ b/projects/tor-browser/RelativeLink/start-tor-browser @@ -274,7 +274,14 @@ if [ $SYSARCHITECTURE -ne $TORARCHITECTURE ]; then fi LD_LIBRARY_PATH="${HOME}/TorBrowser/Tor/" +# Check if the system has a more recent version of libstdc++.so.6; if yes, use +# that instead of the bundled version. +./abicheck >/dev/null 2>&1 +if [ $? -ne 0 ]; then + LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/TorBrowser/Tor/libstdc++/" +fi export LD_LIBRARY_PATH + [% IF ! c("var/release") %] export SELFRANDO_write_layout_file= [% END %] diff --git a/projects/tor/build b/projects/tor/build index 8f129d6..89a5418 100644 --- a/projects/tor/build +++ b/projects/tor/build @@ -47,12 +47,14 @@ openssldir=/var/tmp/dist/openssl # LD_LIBRARY_PATH value to the Tor Browser with the newer one. Thus, we copy # the libstdc++ into the directory with the libs tor depends on, too. See bug # 13359 for further details. - cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libstdc++.so.6 "$distdir/Tor/" + mkdir -p "$distdir/Tor/libstdc++" + cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libstdc++.so.6 "$distdir/Tor/libstdc++/" [% IF c("var/asan") -%] cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libasan.so.3 "$distdir/Tor/" cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libubsan.so.0 "$distdir/Tor/" [% END -%] chmod 700 "$distdir"/Tor/*.so* + chmod 700 "$distdir"/Tor/libstdc++/*.so* # This is needed to make RPATH unavailable. See bug 9150. export LD_LIBRARY_PATH="$distdir/Tor/" [% END %]
1 0
0 0
[tor-browser-build/master] Bug: 27020: RBM build fails with runc version 1.0.1
by boklm@torproject.org 03 Aug '18

03 Aug '18
commit 3960ad5d91701ef9b22e57eef8532e7a2e19b9db Author: Richard Pospesel <richard(a)torproject.org> Date: Wed Aug 1 11:29:46 2018 -0700 Bug: 27020: RBM build fails with runc version 1.0.1 runc version on Ubuntu 18.04 is 1.0.1 which is not currently handled in rbm.conf, so the runc_spec100 flag does not get set properly. This patch changes it so the runc_spec100 flag is set if a spec string greater than 1.0.0 is found. --- rbm.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rbm.conf b/rbm.conf index d046d86..8cfa5e2 100644 --- a/rbm.conf +++ b/rbm.conf @@ -390,11 +390,11 @@ ENV: my ($out) = capture_exec('sudo', 'runc', '--version'); return !($out =~ m/^runc version 0.1.1/); }, - # runc_spec100 is true if runc spec is exactly 1.0.0 + # runc_spec100 is true if runc spec is at least 1.0.0 # We will need to update this when there is a new spec version available runc_spec100 => sub { my ($out) = capture_exec('sudo', 'runc', '--version'); - return $out =~ m/^spec: 1\.0\.0$/m; + return $out =~ m/^.*spec: 1\.[0-9]+\.[0-9]+$/m; }, }, )
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.