[tor-bugs] #28205 [Obfuscation/Snowflake]: linking against other libwebrtc binaries errors out on missing symbols

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Nov 22 02:50:09 UTC 2018


#28205: linking against other libwebrtc binaries errors out on missing symbols
-----------------------------------+------------------------------
 Reporter:  eighthave              |          Owner:  eighthave
     Type:  defect                 |         Status:  needs_review
 Priority:  Medium                 |      Milestone:
Component:  Obfuscation/Snowflake  |        Version:
 Severity:  Major                  |     Resolution:
 Keywords:  android                |  Actual Points:
Parent ID:                         |         Points:
 Reviewer:                         |        Sponsor:
-----------------------------------+------------------------------

Comment (by dcf):

 Replying to [comment:48 arlolra]:
 > Replying to [comment:46 eighthave]:
 > > Ok, I figured out the `go get` issue, it seems sometimes that `go get`
 decides that it needs to have `.git` at the end of the path, and other
 times not.  So I used symlinks to provide both options.  Then I only built
 `.../client/lib`, not the whole client.
 >
 > These are the same issues as before with unsupported export types.  What
 needs to be done is a `client/mobile/` that imports from `client/lib/` but
 only exposes a few methods that your app would need.

 Right--you want to build `client`, not `client/lib`. The point of making a
 separate `client/lib` package was not to expose an external interface;
 rather it was to ''hide'' some of client's internal interfaces,
 specifically the ones that gomobile doesn't like.

 Replying to [comment:49 eighthave]:
 > It is not possible to build the shared library, because of `package
 main`:
 > {{{
 > $ gomobile bind -v -x -target=android/arm
 github.com/keroserene/snowflake/client
 > gomobile: binding 'main' package () is not supported
 > }}}

 Please do what you were already planning to do and do for other
 transports; i.e., rename the `main` package to something else. We can also
 talk about adding a new, gomobile-specific package to the source tree to
 make it easier for you, but first I'd like to ensure that it works using
 the procedure you have used for other transports.

 > Looks like building the Android app is working, except for:
 > {{{
 > gomobile: github.com/keroserene/snowflake/client does not import
 "golang.org/x/mobile/app"
 > }}}
 > I'll try implementing golang.org/x/mobile/app tomorrow, unless someone
 else wants to try it.

 Yes, please try it; and if it works that's something we can consider
 adopting into the source tree.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28205#comment:50>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list