weixin_39906245
weixin_39906245
2020-11-24 11:39

Does not build on Windows

There's already another issue about not building on Windows, but my error log is different enough from theirs that I don't want to confuse things in that thread.

I'm running Microsoft Visual Studio Community 2017, Version 15.7.2

I followed all the instructions in the readme, and the result was this:


1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
1>Checking Build System
1>CMake does not need to re-run because C:/Users/Andrew/Documents/GitHub/libfive/build/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/Users/Andrew/Documents/GitHub/libfive/build/libfive/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/Users/Andrew/Documents/GitHub/libfive/build/libfive/src/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/Users/Andrew/Documents/GitHub/libfive/build/libfive/test/CMakeFiles/generate.stamp is up-to-date.
2>------ Build started: Project: five-version, Configuration: Debug Win32 ------
2>Building Custom Rule C:/Users/Andrew/Documents/GitHub/libfive/libfive/src/CMakeLists.txt
2>CMake does not need to re-run because C:/Users/Andrew/Documents/GitHub/libfive/build/libfive/src/CMakeFiles/generate.stamp is up-to-date.
3>------ Build started: Project: five, Configuration: Debug Win32 ------
3>Building Custom Rule C:/Users/Andrew/Documents/GitHub/libfive/libfive/src/CMakeLists.txt
3>CMake does not need to re-run because C:/Users/Andrew/Documents/GitHub/libfive/build/libfive/src/CMakeFiles/generate.stamp is up-to-date.
3>base.cpp
3>deck.cpp
3>eval_interval.cpp
3>eval_jacobian.cpp
3>eval_array.cpp
3>eval_deriv_array.cpp
3>eval_deriv.cpp
3>eval_feature.cpp
3>eval_point.cpp
3>tape.cpp
3>feature.cpp
3>heightmap.cpp
3>voxels.cpp
3>contours.cpp
3>edge_tables.cpp
3>manifold_tables.cpp
3>mesh.cpp
3>neighbor_tables.cpp
3>progress.cpp
3>intersection_aligner.cpp
3>Generating Code...
3>Compiling...
3>marching.cpp
3>dc_contourer.cpp
3>dc_mesher.cpp
3>dc_neighbors2.cpp
3>dc_neighbors3.cpp
3>dc_pool2.cpp
3>dc_pool3.cpp
3>dc_tree2.cpp
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\eigen\src\core\util\memory.h(728): error C2182: 'reference': illegal use of type 'void'
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\allocator_traits.hpp(136): note: see reference to class template instantiation 'Eigen::aligned_allocator<u>' being compiled
3>        with
3>        [
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\small_vector.hpp(86): note: see reference to class template instantiation 'boost::container::allocator_traits<:aligned_allocator>>' being compiled
3>        with
3>        [
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\allocator_traits.hpp(136): note: see reference to class template instantiation 'boost::container::small_vector_allocator<t>>' being compiled
3>        with
3>        [
3>            T=Kernel::Intersection<2>,
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\vector.hpp(756): note: see reference to class template instantiation 'boost::container::allocator_traits<:container::small_vector_allocator>>>' being compiled
3>        with
3>        [
3>            T=Kernel::Intersection<2>,
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\small_vector.hpp(342): note: see reference to class template instantiation 'boost::container::vector<t>>,void>' being compiled
3>        with
3>        [
3>            T=Kernel::Intersection<2>,
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\small_vector.hpp(513): note: see reference to class template instantiation 'boost::container::small_vector_base<t>' being compiled
3>        with
3>        [
3>            T=Kernel::Intersection<2>,
3>            Allocator=Eigen::aligned_allocator<:intersection>>
3>        ]
3>c:\users\andrew\documents\github\libfive\libfive\src\render\brep\dc\dc_tree.cpp(332): note: see reference to class template instantiation 'boost::container::small_vector<:intersection>,4,Eigen::aligned_allocator<:intersection>>>' being compiled
3>c:\users\andrew\documents\github\libfive\libfive\src\render\brep\dc\dc_tree.cpp(122): note: while compiling class template member function 'void Kernel::DCTree<2>::evalLeaf(Kernel::XTreeEvaluator *,std::shared_ptr<:tape>,const Kernel::Region<2> &,Kernel::ObjectPool<:dctree>,Kernel::DCLeaf<2>> &,const Kernel::DCNeighbors<2> &)'
3>c:\users\andrew\documents\github\libfive\libfive\include\libfive\render\brep\dc\dc_tree.hpp(284): note: see reference to class template instantiation 'Kernel::DCTree<2>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(54): note: see reference to class template instantiation 'boost::arg<9>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(53): note: see reference to class template instantiation 'boost::arg<8>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(52): note: see reference to class template instantiation 'boost::arg<7>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(51): note: see reference to class template instantiation 'boost::arg<6>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(50): note: see reference to class template instantiation 'boost::arg<5>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(49): note: see reference to class template instantiation 'boost::arg<4>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(48): note: see reference to class template instantiation 'boost::arg<3>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(47): note: see reference to class template instantiation 'boost::arg<2>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(46): note: see reference to class template instantiation 'boost::arg<1>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\eigen\src\core\util\memory.h(729): error C2182: 'const_reference': illegal use of type 'void'
3>dc_tree3.cpp
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\eigen\src\core\util\memory.h(728): error C2182: 'reference': illegal use of type 'void'
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\allocator_traits.hpp(136): note: see reference to class template instantiation 'Eigen::aligned_allocator<u>' being compiled
3>        with
3>        [
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\small_vector.hpp(86): note: see reference to class template instantiation 'boost::container::allocator_traits<:aligned_allocator>>' being compiled
3>        with
3>        [
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\allocator_traits.hpp(136): note: see reference to class template instantiation 'boost::container::small_vector_allocator<t>>' being compiled
3>        with
3>        [
3>            T=Kernel::Intersection<3>,
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\vector.hpp(756): note: see reference to class template instantiation 'boost::container::allocator_traits<:container::small_vector_allocator>>>' being compiled
3>        with
3>        [
3>            T=Kernel::Intersection<3>,
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\small_vector.hpp(342): note: see reference to class template instantiation 'boost::container::vector<t>>,void>' being compiled
3>        with
3>        [
3>            T=Kernel::Intersection<3>,
3>            U=void
3>        ]
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\container\small_vector.hpp(513): note: see reference to class template instantiation 'boost::container::small_vector_base<t>' being compiled
3>        with
3>        [
3>            T=Kernel::Intersection<3>,
3>            Allocator=Eigen::aligned_allocator<:intersection>>
3>        ]
3>c:\users\andrew\documents\github\libfive\libfive\src\render\brep\dc\dc_tree.cpp(332): note: see reference to class template instantiation 'boost::container::small_vector<:intersection>,4,Eigen::aligned_allocator<:intersection>>>' being compiled
3>c:\users\andrew\documents\github\libfive\libfive\src\render\brep\dc\dc_tree.cpp(122): note: while compiling class template member function 'void Kernel::DCTree<3>::evalLeaf(Kernel::XTreeEvaluator *,std::shared_ptr<:tape>,const Kernel::Region<3> &,Kernel::ObjectPool<:dctree>,Kernel::DCLeaf<3>> &,const Kernel::DCNeighbors<3> &)'
3>c:\users\andrew\documents\github\libfive\libfive\include\libfive\render\brep\dc\dc_tree.hpp(285): note: see reference to class template instantiation 'Kernel::DCTree<3>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(54): note: see reference to class template instantiation 'boost::arg<9>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(53): note: see reference to class template instantiation 'boost::arg<8>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(52): note: see reference to class template instantiation 'boost::arg<7>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(51): note: see reference to class template instantiation 'boost::arg<6>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(50): note: see reference to class template instantiation 'boost::arg<5>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(49): note: see reference to class template instantiation 'boost::arg<4>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(48): note: see reference to class template instantiation 'boost::arg<3>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(47): note: see reference to class template instantiation 'boost::arg<2>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\boost\bind\placeholders.hpp(46): note: see reference to class template instantiation 'boost::arg<1>' being compiled
3>c:\users\andrew\documents\github\libfive\vcpkg\installed\x86-windows-static\include\eigen\src\core\util\memory.h(729): error C2182: 'const_reference': illegal use of type 'void'
3>dc_xtree2.cpp
3>dc_xtree3.cpp
3>hybrid_debug.cpp
3>hybrid_pool2.cpp
3>hybrid_pool3.cpp
3>hybrid_neighbors2.cpp
3>hybrid_neighbors3.cpp
3>hybrid_tree2.cpp
3>hybrid_tree3.cpp
3>hybrid_xtree2.cpp
3>hybrid_xtree3.cpp
3>Generating Code...
3>Compiling...
3>hybrid_mesher.cpp
3>simplex_debug.cpp
3>simplex_neighbors2.cpp
3>simplex_neighbors3.cpp
3>simplex_pool2.cpp
3>simplex_pool3.cpp
3>simplex_tree2.cpp
3>simplex_tree3.cpp
3>simplex_xtree2.cpp
3>simplex_xtree3.cpp
3>simplex_mesher.cpp
3>bounds.cpp
3>solver.cpp
3>cache.cpp
3>opcode.cpp
3>archive.cpp
3>deserializer.cpp
3>serializer.cpp
3>tree.cpp
3>oracle_clause.cpp
3>Generating Code...
3>Compiling...
3>transformed_oracle.cpp
3>transformed_oracle_clause.cpp
3>libfive.cpp
3>Generating Code...
3>Done building project "five.vcxproj" -- FAILED.
4>------ Build started: Project: libfive-test, Configuration: Debug Win32 ------
4>Building Custom Rule C:/Users/Andrew/Documents/GitHub/libfive/libfive/test/CMakeLists.txt
4>CMake does not need to re-run because C:/Users/Andrew/Documents/GitHub/libfive/build/libfive/test/CMakeFiles/generate.stamp is up-to-date.
4>main.cpp
4>api.cpp
4>archive.cpp
4>bounds.cpp
4>cache.cpp
4>contours.cpp
4>deck.cpp
4>dual.cpp
4>eval_interval.cpp
4>eval_jacobian.cpp
4>eval_array.cpp
4>eval_deriv.cpp
4>eval_deriv_array.cpp
4>eval_feature.cpp
4>c:\users\andrew\documents\github\libfive\libfive\test\eval_feature.cpp(79): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\eval_feature.cpp(80): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\eval_feature.cpp(80): error C2398: Element '1': conversion from 'double' to 'const float &' requires a narrowing conversion
4>eval_point.cpp
4>feature.cpp
4>heightmap.cpp
4>hybrid_meshing.cpp
4>c:\users\andrew\documents\github\libfive\libfive\test\hybrid_meshing.cpp(172): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\hybrid_meshing.cpp(221): error C2398: Element '1': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\hybrid_meshing.cpp(221): error C2398: Element '2': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\hybrid_meshing.cpp(276): error C2398: Element '1': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\hybrid_meshing.cpp(276): error C2398: Element '2': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\hybrid_meshing.cpp(276): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\hybrid_meshing.cpp(304): error C2398: Element '1': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\hybrid_meshing.cpp(304): error C2398: Element '2': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\hybrid_meshing.cpp(305): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>indexes.cpp
4>marching.cpp
4>Generating Code...
4>Compiling...
4>manifold_tables.cpp
4>mesh.cpp
4>c:\users\andrew\documents\github\libfive\libfive\test\mesh.cpp(140): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\mesh.cpp(158): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>neighbors.cpp
4>object_pool.cpp
4>oracle.cpp
4>oracle_context.cpp
4>progress.cpp
4>qef.cpp
4>region.cpp
4>simplex.cpp
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(206): error C2398: Element '1': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(206): error C2398: Element '2': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(206): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(221): error C2398: Element '1': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(221): error C2398: Element '2': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(221): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(435): error C2398: Element '1': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(435): error C2398: Element '2': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(435): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(482): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(566): error C2398: Element '1': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(566): error C2398: Element '2': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(566): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(585): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(673): error C2398: Element '1': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(673): error C2398: Element '2': conversion from 'double' to 'const float &' requires a narrowing conversion
4>c:\users\andrew\documents\github\libfive\libfive\test\simplex.cpp(673): error C2398: Element '3': conversion from 'double' to 'const float &' requires a narrowing conversion
4>solver.cpp
4>surface_edge_map.cpp
4>transformed_oracle.cpp
4>tree.cpp
4>voxels.cpp
4>xtree.cpp
4>mesh_checks.cpp
4>shapes.cpp
4>Generating Code...
4>Done building project "libfive-test.vcxproj" -- FAILED.
5>------ Skipped Build: Project: ALL_BUILD, Configuration: Debug Win32 ------
5>Project not selected to build for this solution configuration 
========== Build: 2 succeeded, 2 failed, 0 up-to-date, 1 skipped ==========
</:dctree></:tape></:intersection></:intersection></:intersection></t></t></:container::small_vector_allocator></t></:aligned_allocator></u></:dctree></:tape></:intersection></:intersection></:intersection></t></t></:container::small_vector_allocator></t></:aligned_allocator></u>

该提问来源于开源项目:libfive/libfive

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答

  • weixin_39992788 weixin_39992788 4月前

    Error C2182 (illegal use of type 'void') looks like the same problem as https://github.com/libfive/libfive/issues/279. Matt's suggestion worked for me -- does that error go away if you build https://github.com/libfive/libfive/pull/282?

    For error C2398 it looks like your compiler wants the numbers in tests written as 1.3f instead of 1.3. This is weird but apparently Visual Studio has been this way for a while: https://stackoverflow.com/questions/33605632/error-83-error-c2398-conversion-from-double-to-float-requires-a-narrowing-c.

    点赞 评论 复制链接分享
  • weixin_39906245 weixin_39906245 4月前

    Your pull request took care of the first chunk of errors, yes! Thank you!!

    Will try sticking fs on the constants now…

    点赞 评论 复制链接分享
  • weixin_39756336 weixin_39756336 4月前

    Yeah, it looks like the error is caused when we're trying to create an Eigen::Vector3f with an initializer list: from reading those errors, it looks like {0, 0, 0} works fine, and {0, 0, 0.1f} works fine, but {0, 0, 0.1} throws that error.

    I'd recommend changing the function signatures in test/util/shapes.hpp to take Eigen::Vector2d, since that's easier than scattering f everywhere we call box; then add f to any remaining sites with errors.

    点赞 评论 复制链接分享
  • weixin_39906245 weixin_39906245 4月前

    Changing every occurrence of Eigen::Vector3f to Eigen::Vector2d in test/util/shapes.hpp didn't make any of the narrowing conversion errors go away, and in fact introduced a new error claiming that sphere had ambiguous overloads

    点赞 评论 复制链接分享
  • weixin_39906245 weixin_39906245 4月前

    OK, adding f to any non-integers definitely got rid of the 'narrowing conversion' errors, thank you!

    I've now just got two instances of a new error:

    
    1>------ Build started: Project: five-version, Configuration: Debug Win32 ------
    2>------ Build started: Project: libfive-test, Configuration: Debug Win32 ------
    2>main.cpp
    2>eval_feature.cpp
    2>eval_point.cpp
    2>hybrid_meshing.cpp
    2>indexes.cpp
    2>mesh.cpp
    2>simplex.cpp
    2>shapes.cpp
    2>Generating Code...
    2>marching.obj : error LNK2001: unresolved external symbol "public: static struct Kernel::MarchingTable<2> Kernel::MarchingTable<2>::mt" (?mt@?$MarchingTable@$01@)
    2>marching.obj : error LNK2001: unresolved external symbol "public: static struct Kernel::MarchingTable<3> Kernel::MarchingTable<3>::mt" (?mt@?$MarchingTable@$02@)
    2>C:\Users\Andrew\Documents\GitHub\libfive\build\Output\Debug\libfive-test.exe : fatal error LNK1120: 2 unresolved externals
    2>Done building project "libfive-test.vcxproj" -- FAILED.
    3>------ Skipped Build: Project: ALL_BUILD, Configuration: Debug Win32 ------
    3>Project not selected to build for this solution configuration 
    ========== Build: 1 succeeded, 1 failed, 2 up-to-date, 1 skipped ==========
    
    点赞 评论 复制链接分享
  • weixin_39756336 weixin_39756336 4月前

    This seems like an excuse to switch to a nicer singleton for the Marching<N> tables, which I've been meaning to do for a while – implemented in b709dbd92a585f6fc496d95ce4b082d9df1851d4, can you see if that fixes things?

    点赞 评论 复制链接分享
  • weixin_39906245 weixin_39906245 4月前

    It builds!!

    
    Build: 3 succeeded, 0 failed, 1 up-to-date, 1 skipped
    

    Now we're on to libfive-test.exe aborting shortly after launch:

    
    OracleClause::serialize: no installed "ST"
      You may need to call OracleClause::install.
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    libfive-test.exe is a Catch v2.2.3 host application.
    Run with -? for options
    
    -------------------------------------------------------------------------------
    Archive::serialize
      With an oracle
    -------------------------------------------------------------------------------
    c:\users\andrew\documents\github\libfive\libfive\test\archive.cpp(108)
    ...............................................................................
    
    c:\users\andrew\documents\github\libfive\libfive\test\archive.cpp(118): FAILED:
      REQUIRE( out.str() == expected )
    with expansion:
      "T"""" "ST"  " == "T"""" "ST""hi"  "
    
    OracleClause::deserialize: no installed "ST"
      You may need to call OracleClause::install.
    Deserializer: failed to deserialize Oracle "ST"
    Deserializer: expected tag == 'T' || tag == 't' at deserializer.cpp:49
    Deserializer::deserializeString: expected opening "
    Deserializer::deserializeString: expected opening "
    Deserializer: expected op < Opcode::LAST_OP at deserializer.cpp:82
    Assertion failed: false, file c:\users\andrew\documents\github\libfive\libfive\src\tree\opcode.cpp, line 63
    

    I'm not sure if that's a matter for its own thread?

    点赞 评论 复制链接分享
  • weixin_39756336 weixin_39756336 4月前

    Oh yeah, that's totally different (and not core functionality) – unless you're building custom Oracles, it's not a critical test failure. I'll close this issue, since we've now fixed "building on Windows".

    点赞 评论 复制链接分享