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

mips configure failure #1032

Closed
jdub opened this issue Mar 3, 2015 · 14 comments
Closed

mips configure failure #1032

jdub opened this issue Mar 3, 2015 · 14 comments
Labels
build Issues and PRs related to build files or the CI.

Comments

@jdub
Copy link

jdub commented Mar 3, 2015

Hi all,

I know MIPS isn't meant to be a supported architecture, but at the moment node 0.12.0 configures for it (and as I watch, is thus far successfully building), while io.js 1.4.2 does not.

Here's the ./configure --dest-cpu=mips output:

creating  ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'host_arch': 'x64',
                 'icu_small': 'false',
                 'node_install_npm': 'true',
                 'node_prefix': '',
                 'node_shared_http_parser': 'false',
                 'node_shared_libuv': 'false',
                 'node_shared_openssl': 'false',
                 'node_shared_v8': 'false',
                 'node_shared_zlib': 'false',
                 'node_tag': '',
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_lttng': 'false',
                 'node_use_mdb': 'false',
                 'node_use_openssl': 'true',
                 'node_use_perfctr': 'false',
                 'openssl_no_asm': 0,
                 'python': '/usr/bin/python',
                 'target_arch': 'mips',
                 'uv_library': 'static_library',
                 'uv_parent_path': '/deps/uv/',
                 'uv_use_dtrace': 'false',
                 'v8_enable_gdbjit': 0,
                 'v8_enable_i18n_support': 0,
                 'v8_no_strict_aliasing': 1,
                 'v8_optimized_debug': 0,
                 'v8_random_seed': 0,
                 'v8_use_snapshot': 'false',
                 'want_separate_host_toolset': 0}}
creating  ./config.gypi
creating  ./config.mk
gyp: name 'mips_arch_variant' is not defined while evaluating condition 'mips_arch_variant=="r6"' in /home/jdub/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/iojs-v1.4.2/deps/v8/tools/gyp/v8.gyp while loading dependencies of /home/jdub/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/iojs-v1.4.2/node.gyp while trying to load /home/jdub/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/iojs-v1.4.2/node.gyp
Error running GYP

Thanks for your work on io.js!

@jbergstroem
Copy link
Member

Had a quick look at the nodejs 0.12 codebase and it seems like adding the architecture doesn't seem like a big step -- but I think for this to happen @iojs/build will need access to mips hardware that can be added to the jenkins build cluster. It doesn't automatically mean it'll be supported, but it's at least a step closer.

@jdub
Copy link
Author

jdub commented Mar 3, 2015

So, I have some mips and mipsel devices, but… I never build on them. Getting chunky enough MIPSen for a build farm is kind of a challenge. Maybe Debian could help out?

@brendanashworth brendanashworth added the build Issues and PRs related to build files or the CI. label Mar 3, 2015
@jdub
Copy link
Author

jdub commented Mar 3, 2015

Hmm, so it turns out that v8 removed soft-float support after 3.17, which makes io.js… a disappointing no-go on my low-end hardware (router class). Perhaps let this one coast until someone comes along with the desire to run io.js on a MIPS box with an FPU. 😃

@bnoordhuis
Copy link
Member

@jdub Maybe you can test #1045 with --with-mips-float-abi=soft?

@rvagg
Copy link
Member

rvagg commented Mar 3, 2015

What hardware are you running this on? I remember reading an article about a new single-board coming out with MIPS but I can't find the details on that. If the build team were to be donated some hardware we could potentially bring support up to scratch by adding it to our CI.

@jbergstroem
Copy link
Member

@rvagg I think its this thing: http://www.elinux.org/MIPS_Creator_CI20 (more info here). Been available to buy for a month.

@jdub
Copy link
Author

jdub commented Mar 4, 2015

@bnoordhuis: Thanks -- I'll give that a go!

@rvagg: I'm building for a VoCore and an old Billion 7700N router. The CI20 would be a luxury, @jbergstroem. But what a great little build box!

@jdub
Copy link
Author

jdub commented Mar 4, 2015

@bnoordhuis: Configured and building successfully! Although now I've hit what looks like a uClibc-related issue.

../deps/v8/src/base/logging.cc:9:23: fatal error: execinfo.h: No such file or directory

I'll keep plugging, but it's looking good so far. So, what's with the soft-float support? Is it there, just not supported, or did it return at some point?

@rvagg
Copy link
Member

rvagg commented Mar 4, 2015

hah, I have a 7800N and it frustrates me enough to want to pull it apart ...

@jdub
Copy link
Author

jdub commented Mar 4, 2015

Bummer. All built, but on the device it tries to use hard float. So, I'm stuck with the V8 > 3.17 problem.

However, thanks to @bnoordhuis, we can now happily build io.js for MIPS+FPU. 😃

@rvagg Hey, not too loud, there's a 7800N keeping my ADSL connection up! 👻

@bnoordhuis
Copy link
Member

So, what's with the soft-float support? Is it there, just not supported, or did it return at some point?

I thought it was still possible to build just the baseline compiler (so not Crankshaft or TurboFan) but I'm either wrong or I overlooked something. I'll cc you on the PR if I find what it is.

@bnoordhuis
Copy link
Member

After #1045 and commit 726671c, configure now knows about --dest-cpu=mips and --dest-cpu=mipsel. Closing this, please file bug reports for any issues you encounter.

@ghost
Copy link

ghost commented Apr 15, 2015

@jdub I try to build iojs 1.7.1 and get the same build error as you got above:

../deps/v8/src/base/logging.cc:9:23: fatal error: execinfo.h: No such file or directory

What did you do to build successfully?

I try to build for an AR9331 SoC without FP unit, but want to try it with MIPS FP emulation enabled in the linux kernel. According to what is written here http://www.linux-mips.org/wiki/Floating_point this should work, however, I am stuck with the build :(

Thanks for any hint

@ghost ghost mentioned this issue Apr 15, 2015
@ghost
Copy link

ghost commented Apr 15, 2015

above would be solved with #1432

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.
Projects
None yet
Development

No branches or pull requests

5 participants