Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

GYP build fails on Solaris #2123

Closed
ptribble opened this issue Nov 15, 2011 · 3 comments
Closed

GYP build fails on Solaris #2123

ptribble opened this issue Nov 15, 2011 · 3 comments
Assignees

Comments

@ptribble
Copy link

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

@ghost ghost assigned bnoordhuis Nov 15, 2011
@bnoordhuis
Copy link
Member

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
Copy link
Author

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
Copy link
Member

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 as completed Feb 17, 2012
bnoordhuis pushed a commit to bnoordhuis/node that referenced this issue Feb 17, 2012
* 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 nodejs#2123 Set path properly for lifecycle scripts on windows
  - Mark the root as seen, so we don't recurse into it. Fixes nodejs#1838. (Martin Cooper)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants
@isaacs @bnoordhuis @ptribble and others