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

building native_client failed #1

Open
StanPlatinum opened this issue Nov 3, 2020 · 7 comments
Open

building native_client failed #1

StanPlatinum opened this issue Nov 3, 2020 · 7 comments

Comments

@StanPlatinum
Copy link

Greetings!

Great work! Big fan!

When I tried to build it, the following lines came out...

➜ ryoan git:(master) ✗ cd native_client && make J=2
./scons MODE=opt-ryoan,nacl platform=x86_64 -j2
scons: Reading SConscript files ...
SCons.Script:41: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.

scons: *** ("Ignoring missing SConscript 'scons-out/opt-ryoan-x86-64/obj/src/third_party/gtest/build.scons'",)
File "./site_scons/site_init.py", line 118, in BuildEnvironmentSConscripts
Makefile:24: recipe for target 'scons-out/opt-ryoan-x86-64/staging/sel_ldr' failed
make: *** [scons-out/opt-ryoan-x86-64/staging/sel_ldr] Error 2

Do you have any thoughts on it? Thanks!

@tylershunt
Copy link

Hi! Thanks for trying it out. Apologies for the long silence on this.

If you still care: Looks like a rogue .gitignore line was causing part of the problem, the release was missing some files necessary to build. Totally my bad.

@StanPlatinum
Copy link
Author

Thanks very much @tylershunt , for the reply!

The previous problem gone yet another came out, unfortunately...

ryoan@ryoan-NUC7PJYH:~/ryoan/native_client$ make J=2
./scons MODE=opt-ryoan,nacl platform=x86_64 -j2
scons: Reading SConscript files ...
checking for -mmmx... yes
checking for -msse2... yes
checking for -msse3... yes
checking for -mssse3... yes
checking for -msse4.1... yes
checking for -mavx... yes
checking for -mavx2... yes
Checking for aes and pclmul... yes
Checking for C header file sys/mman.h... yes
Checking for x86_64 asm... yes
Checking for avx opcode... yes
Checking for 128 bit arithmetic... no
Checking for cpuid instruction... yes
checking for .private_extern asm directive is supported... no

checking for .hidden asm directive is supported... yes
checking if weak symbols are supported... yes
Generating version.h file(cached) yes
SKIPPING test  text_overlaps_rodata
SKIPPING test  text_overlaps_data

scons: *** ("Ignoring missing SConscript 'scons-out/nacl-x86-64/obj/tests/toolchain/nacl.scons'",)
File "./site_scons/site_init.py", line 118, in BuildEnvironmentSConscripts
Makefile:24: recipe for target 'scons-out/opt-ryoan-x86-64/staging/sel_ldr' failed
make: *** [scons-out/opt-ryoan-x86-64/staging/sel_ldr] Error 2

(To whom may also get interested @ya0guang)

@tylershunt
Copy link

Ah more missing files, (sorry I'm not set up to build this myself right now). I pushed some more files, try again?

@StanPlatinum
Copy link
Author

Thanks a ton!

After I installed libatlas-dev and add /usr/lib/x86_64-linux-gnuthe LIBRARY_PATH, two dependency issuses have been solved. The building script can run for a while.

But seems some files still missing. I got the following that cut from the output of cd native_client && make J=2

...
________Linking scons-out/nacl_irt-x86-64/obj/tests/irt_private_pthread/irt_thread_test_raw.nexe
Install file: "scons-out/nacl_irt-x86-64/obj/tests/irt_private_pthread/irt_thread_test_raw.nexe" as "scons-out/nacl_irt-x86-64/staging/irt_thread_test_raw.nexe"
scons: Nothing to be done for `all_bundles'.
/usr/bin/python tools/command_tester.py --name nacl_newlib.run_valid_nexe_with_stubout_test --time_warning 10 --time_error 100 --perf_env_description x86-64_nnacl_newlib_static --using_nacl_signal_handler True --subarch 64 --arch x86 --output_stamp /home/ryoan/ryoan/native_client/scons-out/nacl-x86-64/test_results/hello_world_stub_out_run.out scons-out/opt-ryoan-x86-64/staging/sel_ldr -s -P 9658 -- scons-out/nacl-x86-64/staging/hello_world.nexe
[ RUN      ] nacl_newlib.run_valid_nexe_with_stubout_test
scons-out/opt-ryoan-x86-64/staging/sel_ldr -s -P 9658 -- scons-out/nacl-x86-64/staging/hello_world.nexe
exception: [Errno 2] No such file or directory
======================================================================
Stdout for nacl_newlib.run_valid_nexe_with_stubout_test:
======================================================================

======================================================================
Stderr for nacl_newlib.run_valid_nexe_with_stubout_test:
======================================================================

[  FAILED  ] nacl_newlib.run_valid_nexe_with_stubout_test (0 ms)


scons: *** [scons-out/nacl-x86-64/test_results/hello_world_stub_out_run.out] Error 1
scons: building terminated because of errors.

**********************************************************************
ERROR REPORT: 1 failures
**********************************************************************

run_valid_nexe_with_stubout_test (scons-out/nacl-x86-64/test_results/hello_world_stub_out_run.out) failed: Error 1

Makefile:24: recipe for target 'scons-out/opt-ryoan-x86-64/staging/sel_ldr' failed
make: *** [scons-out/opt-ryoan-x86-64/staging/sel_ldr] Error 2

@tylershunt
Copy link

Oh that's good! it got to the testing phase so it was at least built. Not sure why that input file is missing. I should have time to bring up a fresh test environment this weekend and see if I get the same thing.

@StanPlatinum
Copy link
Author

StanPlatinum commented May 28, 2021

Thanks @tylershunt

Take your time! I am always aware that rebuilding a functional environment is tedious and time-consuming. Don't worry, not trying to rush you.

Just out of curiosity, does Ryoan use some techniques to prevent side- or covert channels? I know hardware-based side channel is difficult to prevent but I am curious about what Ryoan can do on mitigating the software-based covert channels?

BTW, do you think this question should be raised on another issue since it seems irrelevant to the building issue?

@StanPlatinum
Copy link
Author

@tylershunt Dear Tyler,

Still cannot build it...

Just bumping this thread in case you didn't see it.

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