uavmvs icon indicating copy to clipboard operation
uavmvs copied to clipboard

Showing "invalid value 'nvcc' for toolset" when run premake5 gmake

Open yilinliu77 opened this issue 6 years ago • 7 comments

Test both in win10 and ubuntu18.04, with cuda 8.0

../premake-core/bin/release/premake5 gmake

➜  uavmvs git:(master) ../premake-core/bin/release/premake5 gmake
** Warning: the flags value C++11 has been deprecated and will be removed.
   Use `cppdialect "C++11"` instead
   @/home/whatseven/Desktop/uavmvs/premake5.lua(3)

Error: invalid value 'nvcc' for toolset

yilinliu77 avatar Dec 19 '18 04:12 yilinliu77

Please use the premake from this branch https://github.com/nmoehrle/premake-core/tree/toolset-nvcc, the changes are not merged into the premake/premake-core repository.

nmoehrle avatar Dec 19 '18 10:12 nmoehrle

Thanks for your explanation! But I still have trouble in compiling these three project using make after premake

  1. apps/generate_guidance_volume The error message is:
==== Building generate_guidance_volume (debug) ====
generate_guidance_volume.cu
nvcc warning : Resource usage is not shown as the final resource allocation is not done.
../libs/fmt/format.h(1856): error: expected an identifier
          detected during:
            instantiation of "Result fmt::ArgVisitor<Impl, Result>::visit(const fmt::ArgVisitor<Impl, Result>::Arg &) [with Impl=fmt::ArgFormatter<char>, Result=void]" 
(3696): here
            instantiation of "const fmt::BasicFormatter<CharType, ArgFormatter>::Char *fmt::BasicFormatter<CharType, ArgFormatter>::format(const fmt::BasicFormatter<CharType, ArgFormatter>::Char *&, const fmt::internal::Arg &) [with CharType=char, ArgFormatter=fmt::ArgFormatter<char>]" 
(3717): here
            instantiation of "void fmt::BasicFormatter<CharType, ArgFormatter>::format(fmt::BasicCStringRef<fmt::BasicFormatter<CharType, ArgFormatter>::Char>) [with CharType=char, ArgFormatter=fmt::ArgFormatter<char>]" 
(2482): here
            instantiation of "void fmt::BasicWriter<Char>::write(fmt::BasicCStringRef<Char>, fmt::ArgList) [with Char=char]" 
(3143): here

1 error detected in the compilation of "/tmp/tmpxft_00004324_00000000-7_generate_guidance_volume.cpp1.ii".
generate_guidance_volume.make:158: recipe for target 'obj/debug/generate_guidance_volume/generate_guidance_volume.o' failed
make[1]: *** [obj/debug/generate_guidance_volume/generate_guidance_volume.o] Error 2
Makefile:376: recipe for target 'generate_guidance_volume' failed
  1. apps/apps/evaluate_heuristic The error message is:
==== Building evaluate_heuristic (debug) ====
evaluate_heuristic.cu
nvcc warning : Resource usage is not shown as the final resource allocation is not done.
In file included from ../apps/evaluate_heuristic/evaluate_heuristic.cu:16:0:
../libs/util/numpy_io.h:12:25: fatal error: util/endian.h: No such file or directory
compilation terminated.
evaluate_heuristic.make:158: recipe for target 'obj/debug/evaluate_heuristic/evaluate_heuristic.o' failed
make[1]: *** [obj/debug/evaluate_heuristic/evaluate_heuristic.o] Error 1
Makefile:424: recipe for target 'evaluate_heuristic' failed
  1. apps/evaluate_ground_sampling The error message is same as No.2

And I have a lot of compiling errors on missing the hearder files <vector> and <random>, I manually add them and solve the problem, I' m not sure if it is correct. But I can't find util/endian.h for problem No.2 and No.3. And I have no idea with No.1.

My current compiling environment: Ubuntu:18.04 GCC:5.5.0 g++:5.5.0 nvcc:8.0, V8.0.61

yilinliu77 avatar Dec 20 '18 02:12 yilinliu77

Thanks for the detailed write up.

The last two errors are caused by https://github.com/simonfuhrmann/mve/commit/8d63805fcf4c226b195a322a39e0695b47178d2a I was using my fork of mve and didn't detect it. I will update and change the includes eventually.

For the first one I will try to reproduce it but the guidance volume app is not necessary for the final trajectory planning app, I haven't come around to remove all apps that were just used for experimentation.

nmoehrle avatar Dec 20 '18 08:12 nmoehrle

I have another question about the input ply mesh. Sorry about that, I think I'm looking like a fool.

In the example script given in the home page of this paper, I found that the first command is generate_proxy_mesh $root/$scenes/recon/gesox-cloud.ply $root/$scenes/recon/gesox-mesh.ply. So is the gesox-cloud.ply means the proxy mesh we get from the nadir images using MVE algorithm? Does that mean the example script doesn't include the process of reconstructing proxy mesh through the nadir images?

I tried to execute this command with the proxy mesh gesox-mesh_orig.ply after processing by generate_proxy_cloud and origin from the NY-1 dataset. But it failed with segmentfault. After checking the source code I found that the colors are blank in line 455,generate_proxy_mesh.cpp. I instead make the MVE repo from https://github.com/nmoehrle/mve but get the same error.

Below is the code can't be execute using gesox-mesh_orig.ply

//generate_proxy_mesh.cpp, line 450
if (!nns.empty()) {
    math::Vec3f color(0.0f);
    float norm = 0.0f;
    for (std::size_t n = 0; n < nns.size(); ++n) {
        float weight = 1.0f - nns[n].second / args.resolution;
        color += weight * math::Vec3f(colors[nns[n].first].begin());
        norm += weight;
    }

yilinliu77 avatar Dec 20 '18 13:12 yilinliu77

First of all the way you report issues is very professional a nothing of that makes you look like a fool it rather shows a lock of documentation.

Secondly regardless of the input a segfault is a bug on my side.

With respect to the clouds and meshes, the generate_proxy_mesh app will take the point cloud generated with dmrecon and scene2pset generate a geometric scene proxy (gesox) mesh, I will have to look into the example script - my phone can't open it...

I would appreciate a PR for the missing vector includes :-)

nmoehrle avatar Dec 20 '18 20:12 nmoehrle

Thanks for your explanation~

I submited the PR just now. But some files are in sub repo acc, after I checkout to the master of acc it failed to compile with other problem. So I havn't change them. The missing headers are <vector> in bvh_tree.h required by std::vector and <numeric> required by std::iota

yilinliu77 avatar Dec 21 '18 02:12 yilinliu77

Thanks, I'll add the missing headers, and will look into the other issues within the next couple of days.

nmoehrle avatar Dec 24 '18 15:12 nmoehrle