[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #19001 [Obfuscation/Snowflake]: Tor Browser with Snowflake
#19001: Tor Browser with Snowflake
-----------------------------------+---------------------
Reporter: dcf | Owner:
Type: project | Status: new
Priority: Medium | Milestone:
Component: Obfuscation/Snowflake | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
-----------------------------------+---------------------
Comment (by dcf):
I've been working on getting the mac build to work; however I'm having
trouble and it doesn't work yet. I pushed some work-in-progress changes
here:
https://gitweb.torproject.org/user/dcf/tor-browser-
bundle.git/diff/?h=snowflake&id=dcf12df6630b519abecf86e58467aad151816083&id2=39a46f2b37573c3824e7bab8719d2bcd90f7af77
{{{
+ echo "print(\"$SDKROOT\")" > build/mac/find_sdk.py
}}}
This line prevents an error when the build system runs `find_sdk.py`,
which tries to guess the Mac OS X SDK version of the ''build'' system;
i.e., it does the wrong thing when cross-compiling:
{{{
$ webrtc/build/gyp_webrtc
Updating projects from gyp files...
Traceback (most recent call last):
File "./build/mac/find_sdk.py", line 91, in <module>
raise Exception("This script only runs on Mac")
Exception: This script only runs on Mac
gyp: Call to 'python ./build/mac/find_sdk.py 10.10' returned exit status 1
while in all.gyp.
}}}
{{{
+ sed -i -e 's#\$(SDKROOT)#/usr/lib/apple/SDKs/MacOSX10.6.sdk#g'
out/Release/obj/webrtc/tools/*.ninja
}}}
For some reason, the `$(SDKROOT)` variable doesn't get properly
substituted in these files, so I tried replacing it with a hardcoded value
to get the build to at least progress. With this line, the error is:
{{{
$ ninja -C out/Release/
ninja: Entering directory `out/Release/'
ninja: error: obj/webrtc/tools/psnr_ssim_analyzer.ninja:43: bad $-escape
(literal $ must be written as $$)
$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework
^ near here
}}}
I first tried building using the usual `/home/debian/build/apple-
osx/bin/i686-apple-darwin11-g++`. However that version of g++ appears to
be too old to support the flags that Chromium assumes:
{{{
$ ninja -C out/Release/
ninja: Entering directory `out/Release/'
[1/1996] CXX
obj/third_party/protobuf/src/google/protobuf/protobuf_lite.wire_format_lite.o
FAILED:
obj/third_party/protobuf/src/google/protobuf/protobuf_lite.wire_format_lite.o
/home/debian/build/apple-osx/bin/i686-apple-darwin11-g++ -MMD -MF
obj/third_party/protobuf/src/google/protobuf/protobuf_lite.wire_format_lite.o.d
-DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2
-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD
-DUSE_AURA=1 -DUSE_OZONE=1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN
-DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DENABLE_CONFIGURATION_POLICY
-DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DDONT_EMBED_BUILD_METADATA
-DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1
-DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_SESSION_SERVICE=1
-DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1
-DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1
-DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1
-DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1
-DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA
-DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL
-DLIBPROTOBUF_EXPORTS -DPROTOBUF_USE_DLLS -DGOOGLE_PROTOBUF_NO_RTTI
-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DUSE_LIBPCI=1 -DUSE_OPENSSL=1
-DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen
-I../../third_party/protobuf -I../../third_party/protobuf/src -fstack-
protector --param=ssp-buffer-size=4 -Wno-unused-local-typedefs -c
../../third_party/protobuf/src/google/protobuf/wire_format_lite.cc -o
obj/third_party/protobuf/src/google/protobuf/protobuf_lite.wire_format_lite.o
cc1plus: error: unrecognized command line option "-Wno-unused-local-
typedefs"
}}}
So I tried building it with clang, as in #18331.
Now the problem I'm having is a lack of a stdlib with C++11 support
(features such as `nullptr_t`) for the x86_64-apple-darwin10 arch:
{{{
[3/1996] CXX
obj/webrtc/common_audio/resampler/common_audio_sse2.sinc_resampler_sse.o
FAILED:
obj/webrtc/common_audio/resampler/common_audio_sse2.sinc_resampler_sse.o
/home/debian/build/clang/bin/clang++ -MMD -MF
obj/webrtc/common_audio/resampler/common_audio_sse2.sinc_resampler_sse.o.d
-DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -D__ASS
LE_ONE_CLICK_SIGNIN -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1
-DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1
-DDONT_EMBED_BUILD_METADATA -DFIELDTRI
_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_SPELLCHECK=1
-DUSE_BROWSER_SPELLCHECKER=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1
-DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=
_LOCAL -DEXPAT_RELATIVE_PATH -DWEBRTC_POSIX -DWEBRTC_MAC -DUSE_LIBPCI=1
-DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG
-DNVALGRIND -DDYNAMIC_ANN
ripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default
-Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-
inconsistent-missing-override
msse2 -std=gnu++11 -stdlib=libc++ -mmacosx-version-min=10.6 -target x86_64
-apple-darwin10 -isysroot /home/debian/build/MacOSX10.7.sdk
-I/home/debian/build/MacOSX10.7.sdk/
/sinc_resampler_sse.cc -o
obj/webrtc/common_audio/resampler/common_audio_sse2.sinc_resampler_sse.o
In file included from
../../webrtc/common_audio/resampler/sinc_resampler_sse.cc:14:
In file included from
../../webrtc/common_audio/resampler/sinc_resampler.h:18:
../../webrtc/base/scoped_ptr.h:331:19: error: no type named 'nullptr_t' in
namespace 'std'
scoped_ptr(std::nullptr_t) : impl_(nullptr) {}
~~~~~^
../../webrtc/base/scoped_ptr.h:368:30: error: no type named 'nullptr_t' in
namespace 'std'
scoped_ptr& operator=(std::nullptr_t) {
~~~~~^
../../webrtc/base/scoped_ptr.h:380:17: error: no member named 'move' in
namespace 'std'
return std::move(*this);
~~~~~^
../../webrtc/base/scoped_ptr.h:491:19: error: no type named 'nullptr_t' in
namespace 'std'
scoped_ptr(std::nullptr_t) : impl_(nullptr) {}
~~~~~^
../../webrtc/base/scoped_ptr.h:504:30: error: no type named 'nullptr_t' in
namespace 'std'
scoped_ptr& operator=(std::nullptr_t) {
~~~~~^
../../webrtc/base/scoped_ptr.h:516:17: error: no member named 'move' in
namespace 'std'
return std::move(*this);
~~~~~^
6 errors generated.
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/19001#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs