Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for initial build #1

Closed
modeswitch opened this issue Dec 29, 2014 · 22 comments
Closed

Support for initial build #1

modeswitch opened this issue Dec 29, 2014 · 22 comments

Comments

@modeswitch
Copy link
Member

Moving discussion over from webrtcftw/goals#1

@szimek
Copy link

szimek commented Dec 29, 2014

@modeswitch Almost :)

: Generating build scripts ...
Updating projects from gyp files...
gyp: chromium/src/third_party/yasm/yasm_compile.gypi not found (cwd: /Users/szimek/Projects/apps/webrtc-test/node_modules/wrtc/third_party/libwebrtc) while reading includes of chromium/src/third_party/boringssl/boringssl.gyp

@modeswitch
Copy link
Member Author

I killed yasm too. Sec, I'll add it.

@modeswitch
Copy link
Member Author

@szimek Fixed. Try now.

@szimek
Copy link

szimek commented Dec 29, 2014

: Generating build scripts ...
Updating projects from gyp files...
: Building libwebrtc ...
ninja: Entering directory `out/Release'
ninja: error: '../../chromium/src/third_party/boringssl/src/crypto/aes/aes.c', needed by 'obj/chromium/src/third_party/boringssl/src/crypto/aes/boringssl.aes.o', missing and no known rule to make it

@modeswitch
Copy link
Member Author

I'll have a look.

@modeswitch
Copy link
Member Author

Which platform/arch are you building?

@szimek
Copy link

szimek commented Dec 29, 2014

Mac OS X 10.10.1 (Darwin localhost 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64)

@modeswitch
Copy link
Member Author

Can you paste the entire log?

@szimek
Copy link

szimek commented Dec 29, 2014

This? Or do you mean entire npm-debug.log?

$ npm install wrtc
\
> [email protected] install /Users/szimek/Projects/apps/webrtc-test/node_modules/wrtc
> node-gyp rebuild

  ACTION Run build script /dev/null
TARGET_ARCH=x64 PLATFORM=darwin CONFIGURATION=Release
: Preparing directories ...
: Cloning depot_tools ...
Cloning into 'depot_tools'...
POST git-upload-pack (189 bytes)
POST git-upload-pack (198 bytes)
remote: Sending approximately 13.98 MiB ...
remote: Counting objects: 807, done
remote: Finding sources: 100% (807/807)
remote: Total 807 (delta 75), reused 435 (delta 75)
Receiving objects: 100% (807/807), 2.74 MiB | 2.06 MiB/s, done.
Resolving deltas: 100% (75/75), done.
Checking connectivity... done.
: Cloning libwebrtc ...
Cloning into 'libwebrtc'...
POST git-upload-pack (205 bytes)
POST git-upload-pack (214 bytes)
remote: Counting objects: 7555, done.
remote: Compressing objects: 100% (6435/6435), done.
remote: Total 7555 (delta 952), reused 6474 (delta 791)
Receiving objects: 100% (7555/7555), 37.29 MiB | 5.88 MiB/s, done.
Resolving deltas: 100% (952/952), done.
Checking connectivity... done.
Checking out files: 100% (7024/7024), done.
: Generating build scripts ...
Updating projects from gyp files...
: Building libwebrtc ...
ninja: Entering directory `out/Release'
ninja: error: '../../chromium/src/third_party/boringssl/src/crypto/aes/aes.c', needed by 'obj/chromium/src/third_party/boringssl/src/crypto/aes/boringssl.aes.o', missing and no known rule to make it
ERROR: 1 null

make: *** [/dev/null] Error 255
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Darwin 14.0.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/szimek/Projects/apps/webrtc-test/node_modules/wrtc
gyp ERR! node -v v0.10.35
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
npm ERR! Darwin 14.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "wrtc"
npm ERR! node v0.10.35
npm ERR! npm  v2.1.14
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the wrtc package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls wrtc
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/szimek/Projects/apps/webrtc-test/npm-debug.log

@modeswitch
Copy link
Member Author

That's what I needed.

On darwin, use_openssl is true (on linux it's false). I tried building with it set to true on my linux machine and it seems fine though.

@modeswitch
Copy link
Member Author

Can you try checking out this repo (js-platform/libwebrtc) and building it manually?

  • python webrtc/build/gyp_webrtc
  • ninja -C out/Release wrtc_build

@szimek
Copy link

szimek commented Dec 29, 2014

Same thing.

$ python webrtc/build/gyp_webrtc.py
Updating projects from gyp files...
$ ninja -C out/Release wrtc_build
ninja: Entering directory `out/Release'
ninja: error: '../../chromium/src/third_party/boringssl/src/crypto/aes/aes.c', needed by 'obj/chromium/src/third_party/boringssl/src/crypto/aes/boringssl.aes.o', missing and no known rule to make it

@modeswitch
Copy link
Member Author

Wasn't expecting that error. I may need to get my hands on a Mac.

What if you try checking out node-webrtc and running npm install?

On December 29, 2014 3:03:25 PM EST, Szymon Nowak [email protected] wrote:

$ python webrtc/build/gyp_webrtc
Traceback (most recent call last):
 File "webrtc/build/gyp_webrtc", line 23, in <module>
   import gyp_chromium
File "/Users/szimek/Projects/apps/libwebrtc/build/gyp_chromium.py",
line 18, in <module>
   execfile(os.path.join(path, 'gyp_chromium'))
File "/Users/szimek/Projects/apps/libwebrtc/build/gyp_chromium", line
11, in <module>
   import gyp_environment
File "/Users/szimek/Projects/apps/libwebrtc/build/gyp_environment.py",
line 14, in <module>
   import vs_toolchain
File "/Users/szimek/Projects/apps/libwebrtc/build/vs_toolchain.py",
line 21, in <module>
   import gyp
ImportError: No module named gyp

I'm not Python dev - how can I install "gyp" module?


Reply to this email directly or view it on GitHub:
#1 (comment)

@szimek
Copy link

szimek commented Dec 29, 2014

Unfortunately, I'm getting exactly the same error.

You might try running it on Travis CI (http://docs.travis-ci.com/user/osx-ci-environment), though it looks like they've got OS X 10.9.5.

@modeswitch
Copy link
Member Author

Can you check the symlinks (specifically third_party/libwebrtc/third_party/boringssl)in your local copy? Could be that they're broken.

@szimek
Copy link

szimek commented Dec 30, 2014

I've ran something like this find . -type l -exec sh -c "file -b {} | grep -q ^broken" \; -print in "libwebrtc" clone and got only:

./tools/perf/perf
./tools/python_charts/gviz_api.py

@modeswitch
Copy link
Member Author

The issue with boringssl is fixed now.

@szimek
Copy link

szimek commented Jan 6, 2015

Thanks! It's better, but still fails for me:

$ npm install wrtc
-
> [email protected] install /Users/szimek/Projects/apps/test/node_modules/wrtc
> node-gyp rebuild

  ACTION Run build script /dev/null
TARGET_ARCH=x64 PLATFORM=darwin CONFIGURATION=Release PYTHON=python
: Preparing directories ...
: Cloning depot_tools ...
Cloning into 'depot_tools'...
POST git-upload-pack (189 bytes)
POST git-upload-pack (198 bytes)
remote: Sending approximately 13.99 MiB ...
remote: Counting objects: 807, done
remote: Finding sources: 100% (807/807)
remote: Total 807 (delta 75), reused 435 (delta 75)
Receiving objects: 100% (807/807), 2.74 MiB | 2.24 MiB/s, done.
Resolving deltas: 100% (75/75), done.
Checking connectivity... done.
: Cloning libwebrtc ...
Cloning into 'libwebrtc'...
POST git-upload-pack (205 bytes)
POST git-upload-pack (214 bytes)
remote: Counting objects: 11018, done.
remote: Compressing objects: 100% (8737/8737), done.
remote: Total 11018 (delta 1806), reused 9927 (delta 1644)
Receiving objects: 100% (11018/11018), 18.21 MiB | 4.38 MiB/s, done.
Resolving deltas: 100% (1806/1806), done.
Checking connectivity... done.
Checking out files: 100% (10144/10144), done.
: Updating clang ...
Trying to download prebuilt clang
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 20.6M  100 20.6M    0     0  5108k      0  0:00:04  0:00:04 --:--:-- 5108k
clang 218707 unpacked
: Generating build scripts ...
Updating projects from gyp files...
: Building libwebrtc ...
ninja: Entering directory `out/Release'
[630/630] LINK wrtc_build, POSTBUILDS
: Build complete

  TOUCH Release/obj.target/action_before_build.stamp
  CXX(target) Release/obj.target/wrtc/src/binding.o
  CXX(target) Release/obj.target/wrtc/src/create-offer-observer.o
  CXX(target) Release/obj.target/wrtc/src/create-answer-observer.o
  CXX(target) Release/obj.target/wrtc/src/set-local-description-observer.o
  CXX(target) Release/obj.target/wrtc/src/set-remote-description-observer.o
  CXX(target) Release/obj.target/wrtc/src/peerconnection.o
In file included from ../src/peerconnection.cc:17:
../src/peerconnection.h:181:38: warning: private field '_mediaConstraints' is not used [-Wunused-private-field]
  webrtc::MediaConstraintsInterface* _mediaConstraints;
                                     ^
1 warning generated.
  CXX(target) Release/obj.target/wrtc/src/datachannel.o
In file included from ../src/datachannel.cc:11:
../src/datachannel.h:116:24: warning: private field '_observer' is not used [-Wunused-private-field]
  DataChannelObserver* _observer;
                       ^
1 warning generated.
  SOLINK_MODULE(target) Release/wrtc.node
clang: error: no such file or directory: '../third_party/libwebrtc/out/Release/obj/talk/libjingle_peerconnection.a'
clang: error: no such file or directory: '../third_party/libwebrtc/out/Release/obj/talk/libjingle_p2p.a'
clang: error: no such file or directory: '../third_party/libwebrtc/out/Release/obj/talk/libjingle_media.a'
clang: error: no such file or directory: '../third_party/libwebrtc/out/Release/obj/webrtc/p2p/librtc_p2p.a'
clang: error: no such file or directory: '../third_party/libwebrtc/out/Release/obj/webrtc/base/librtc_base.a'
clang: error: no such file or directory: '../third_party/libwebrtc/out/Release/obj/webrtc/base/librtc_base_approved.a'
clang: error: no such file or directory: '../third_party/libwebrtc/out/Release/obj/chromium/src/net/third_party/nss/libcrssl.a'
clang: error: no such file or directory: '../third_party/libwebrtc/out/Release/obj/chromium/src/third_party/usrsctp/libusrsctplib.a'
make: *** [Release/wrtc.node] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Darwin 14.0.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/szimek/Projects/apps/test/node_modules/wrtc
gyp ERR! node -v v0.10.35
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
npm ERR! Darwin 14.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "wrtc"
npm ERR! node v0.10.35
npm ERR! npm  v2.1.14
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the wrtc package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls wrtc
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/szimek/Projects/apps/test/npm-debug.log

@modeswitch
Copy link
Member Author

Yeah, that's the same problem @TomKaltz is having. What happens when you do this from a cloned repo instead of from npm?

@modeswitch
Copy link
Member Author

@szimek Feel free to jump onto #webrtc on irc.freenode.net to chat.

@modeswitch modeswitch reopened this Jan 6, 2015
@modeswitch
Copy link
Member Author

Ah, I see the problem. The paths are different on OSX for the static libraries. I'll push an updated binding.gyp but I'll need testers to see what libraries are missing.

@modeswitch
Copy link
Member Author

This should be completely fixed now. Please open a new issue for any additional build problems on OSX.

Thanks to @szimek and @TomKaltz for their help with this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants