Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

GYP build fails on Solaris #2123

Closed
ptribble opened this Issue · 3 comments

3 participants

@ptribble

Building using gyp doesn't work at all on my Solaris system, specifically Solaris 10u8.

There are two issues I encountered:

  1. The v8 build doesn't build the platform bits at all

I was able to get round this by adding a solaris section in deps/v8/tools/gyp/v8.gyp that builds platform-solaris.cc and platform-posix.cc, and links against -lsocket and -lrt

  1. Linking uses gnu-specific syntax

Newer Solaris ld actually understand the gnu options and map them to ld's own options, but that's fairly recent.

-Wl,--start-group => -z rescan-start
-Wl,--end-group => -z rescan-end
-Wl,--whole-archive => -z allextract
-Wl,--no-whole-archive => -z defaultextract

however, older ld only has a single '-z rescan' rather than the start/end pair

Patch (works for me, but I'm not that familiar with gyp): http://www.petertribble.co.uk/Solaris/node-gyp-solaris.diff

@bnoordhuis bnoordhuis was assigned
@bnoordhuis

Peter, can you check the v0.6 branch? It compiles for me now on illumos with the GNU toolchain.

Do you know why you need -lsocket and -lrt? The build works fine for me without.

Re: the gyp patch - I'm kind of loath to take it. It a) doesn't apply and b) I want to keep the delta with upstream gyp as small as possible. Can you send it to the gyp-developers mailing list?

@ptribble

Regular v0.6 works fine for me, on Solaris 10, and I produce packages for that.

I'm specifically testing master to see what sort of impact the changes to the build systems are going to have.

As for -lsocket -lrt, it may be that Illumos has merged those into libc (which Sun should have done years ago); they're definitely needed on Solaris 10.

I wasn't expecting you to take the patch straight off - I'll continue plugging away.

@bnoordhuis

As for -lsocket -lrt, it may be that Illumos has merged those into libc (which Sun should have done years ago); they're definitely needed on Solaris 10.

Okay, I'll add them. Are they specific to V8 or does the whole build need them? I would assume the latter but your patch adds them to v8.gyp.

@isaacs isaacs closed this issue from a commit
Commit has since been removed from the repository and is no longer available.
@isaacs isaacs closed this in 4be3e4b
@bnoordhuis bnoordhuis referenced this issue from a commit in bnoordhuis/node
@isaacs isaacs 2012.02.17 Version 0.6.11 (stable)
* http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)

* http: allow multiple WWW-Authenticate headers (Ben Noordhuis)

* windows: support unicode argv and environment variables (Bert Belder)

* tls: mitigate session renegotiation attacks (Ben Noordhuis)

* tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)

* tls: Allow establishing secure connection on the existing socket (koichik)

* dgram: handle close of dgram socket before DNS lookup completes (Seth Fitzsimmons)

* windows: Support half-duplex pipes (Igor Zinkovsky)

* build: disable omit-frame-pointer on solaris systems (Dave Pacheco)

* debugger: fix --debug-brk (Ben Noordhuis)

* net: fix large file downloads failing (koichik)

* fs: fix ReadStream failure to read from existing fd (Christopher Jeffrey)

* net: destroy socket on DNS error (Stefan Rusu)

* dtrace: add missing translator (Dave Pacheco)

* unix: don't flush tty on switch to raw mode (Ben Noordhuis)

* windows: reset brightness when reverting to default text color (Bert Belder)

* npm: update to 1.1.1
  - Update which, fstream, mkdirp, request, and rimraf
  - Fix #2123 Set path properly for lifecycle scripts on windows
  - Mark the root as seen, so we don't recurse into it. Fixes #1838. (Martin Cooper)
1eb1fe3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.