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

FreeBSD 10.1: build fails #324

Closed
jbergstroem opened this issue Jan 13, 2015 · 5 comments · May be fixed by aliscco/alisco-node#232
Closed

FreeBSD 10.1: build fails #324

jbergstroem opened this issue Jan 13, 2015 · 5 comments · May be fixed by aliscco/alisco-node#232
Labels
build Issues and PRs related to build files or the CI. freebsd Issues and PRs related to the FreeBSD platform.

Comments

@jbergstroem
Copy link
Member

Couldn't find any other open bugs about clang compatibility, but this error probably just affects FreeBSD:

V8 seems to call g++ instead of c++ (rather clang++) which makes the build fail. If I set CC/CPP/CXX environment flags it at least builds, but fails here:

  clang++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DISASSEMBLER' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' '-DENABLE_HANDLE_ZAPPING' -I../deps/v8  -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-strict-aliasing -I/usr/local/include -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /usr/home/jbergstroem/io.js-1.x/out/Release/.deps//usr/home/jbergstroem/io.js-1.x/out/Release/obj.target/v8_base/deps/v8/src/arguments.o.d.raw  -c -o /usr/home/jbergstroem/io.js-1.x/out/Release/obj.target/v8_base/deps/v8/src/arguments.o ../deps/v8/src/arguments.cc
In file included from ../deps/v8/src/api.cc:16:
In file included from ../deps/v8/src/background-parsing-task.h:11:
In file included from ../deps/v8/src/parser.h:13:
../deps/v8/src/preparser.h:470:29: error: reinterpret_cast from 'nullptr_t' to 'const char *' is not allowed
                            reinterpret_cast<const char*>(NULL),
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is FreeBSD builder 10.1-RELEASE amd64, clang 3.4.1.

@rvagg
Copy link
Member

rvagg commented Jan 13, 2015

/cc @indutny

I have 2 FreeBSD boxes from Voxer to hook up to CI but it's going to have to wait post 1.0.0 for now, having the tests pass prior to 1.0.0 would be really nice though, if possible.

indutny added a commit to indutny/io.js that referenced this issue Jan 13, 2015
clang++ on FreeBSD was blaming v8 for using invalid casts from nullptr:

    reinterpret_cast from 'nullptr_t' to '...' is not allowed

Replace casts with NULL, or NULL with 0 where applicable.

fix nodejs#324
@indutny
Copy link
Member

indutny commented Jan 13, 2015

See https://github.com/iojs/io.js/pull/332/files for a fix. Still has lots of test failures :)

@indutny
Copy link
Member

indutny commented Jan 13, 2015

After lots of fixes:

=== release test-http-default-encoding ===
Path: parallel/test-http-default-encoding
200
Command: out/Release/iojs /usr/home/indutny/io.js/test/parallel/test-http-default-encoding.js
=== release test-http-request-end ===
Path: parallel/test-http-request-end
200
Command: out/Release/iojs /usr/home/indutny/io.js/test/parallel/test-http-request-end.js
--- TIMEOUT ---
=== release test-net-better-error-messages-port-hostname ===
Path: parallel/test-net-better-error-messages-port-hostname
Command: out/Release/iojs /usr/home/indutny/io.js/test/parallel/test-net-better-error-messages-port-hostname.js
--- TIMEOUT ---
=== release test-net-connect-immediate-finish ===
Path: parallel/test-net-connect-immediate-finish
Command: out/Release/iojs /usr/home/indutny/io.js/test/parallel/test-net-connect-immediate-finish.js
--- TIMEOUT ---
=== release test-child-process-execsync ===
Path: sequential/test-child-process-execsync
assert.js:100
  throw new assert.AssertionError({
        ^
AssertionError: false == true
    at Object.<anonymous> (/usr/home/indutny/io.js/test/sequential/test-child-process-execsync.js:28:3)
    at Module._compile (module.js:446:26)
    at Object.Module._extensions..js (module.js:464:10)
    at Module.load (module.js:341:32)
    at Function.Module._load (module.js:296:12)
    at Function.Module.runMain (module.js:487:10)
    at startup (node.js:111:16)
    at node.js:809:3
Command: out/Release/iojs /usr/home/indutny/io.js/test/sequential/test-child-process-execsync.js
[02:27|% 100|+ 785|-   5]: Done

@indutny
Copy link
Member

indutny commented Jan 13, 2015

Should be better now.

@indutny
Copy link
Member

indutny commented Jan 13, 2015

Just for posterity: https://codereview.chromium.org/839053004

bnoordhuis pushed a commit to bnoordhuis/io.js that referenced this issue Jan 18, 2015
clang++ on FreeBSD was blaming v8 for using invalid casts from nullptr:

    reinterpret_cast from 'nullptr_t' to '...' is not allowed

Replace casts with NULL, or NULL with 0 where applicable.

Fixes: nodejs#324
PR-URL: nodejs#332
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
@brendanashworth brendanashworth added build Issues and PRs related to build files or the CI. freebsd Issues and PRs related to the FreeBSD platform. labels Sep 2, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. freebsd Issues and PRs related to the FreeBSD platform.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants