Code Monkey home page Code Monkey logo

triangle.jl's Introduction

TRIANGLE.jl

Build Status Windows build status Coverage Status Read the Docs DOI FOSSA Status

A Julia interface to Jonathan Richard Shewchuk Triangle.

HELP WANTED FOR MANTAINING THE LIBRARY

Library notes

At the moment the library will use only CDT, planning to expand later.

Licensing note

Note that while this binding-library is under a permissive license (MIT), the original Triangle library isn't:

Please note that although Triangle is freely available, it is copyrighted by the author and may not be sold or included in commercial products without a license.

So be wary of any possible conflict between your project license and Triangle's

Installation

using Pkg
add("Triangle")

# Pkg.add("Triangle") on julia prior to v0.7

Windows

The build proces uses VC++ binary (2013 version) to build so be sure you have it before running the build part.

API

Include the module (using Triangle).

You can use Julia ?Triangle.methodname for inline documentation. Documentation can be read on https://cvdlab.github.io/Triangle.jl/ .

triangle.jl's People

Contributors

fossabot avatar furio avatar jonasisensee avatar juliatagbot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

triangle.jl's Issues

Error while building in Windows

I have downloaded visual c++ (2013) but still get the same error while building.
Pkg.build("Triangle") Building Triangle →C:\Users\andre.julia\scratchspaces\44cfe95a-1eb2-52ea-b672-e2afdf69b78f\ddfa28d6c66ee8e195680a8c419f3cf230b7c91e\build.logERROR: Error buildingTriangle: Setting x64 Impossibile trovare il percorso specificato. "nmake" non � riconosciuto come comando interno o esterno, un programma eseguibile o un file batch. "nmake" non � riconosciuto come comando interno o esterno, un programma eseguibile o un file batch. Impossibile trovare il file specificato. [ Info: Changing directory to C:\Users\andre\.julia\packages\Triangle\gYrhQ\deps\src [ Info: Changing directory to C:\Users\andre\.julia\packages\Triangle\gYrhQ\deps\src ERROR: LoadError: failed process: Process(cmd /c copy libtriangle.dll 'C:\Users\andre.julia\packages\Triangle\gYrhQ\deps\usr\lib\libtriangle.dll', ProcessExited(1)) [1]

Package is holding back other packages

When I install Triangle other packages I rely on get downgraded:

(@v1.5) pkg> add Triangle
  Resolving package versions...
  Installed URIParser ────── v0.4.1
  Installed Compat ───────── v2.2.1
  Installed BinDeps ──────── v0.8.10
  Installed DataStructures ─ v0.17.20
  Installed Triangle ─────── v0.3.1
  Installed JuMP ─────────── v0.21.4
Updating `~/.julia/environments/v1.5/Project.toml`
  [864edb3b] ↓ DataStructures v0.18.9 ⇒ v0.17.20
  [4076af6c] ↓ JuMP v0.21.6 ⇒ v0.21.4
  [56f361f5] + Triangle v0.3.1
Updating `~/.julia/environments/v1.5/Manifest.toml`
  [9e28174c] + BinDeps v0.8.10
  [34da2185] ↓ Compat v3.25.0 ⇒ v2.2.1
  [864edb3b] ↓ DataStructures v0.18.9 ⇒ v0.17.20
  [4076af6c] ↓ JuMP v0.21.6 ⇒ v0.21.4
  [56f361f5] + Triangle v0.3.1
  [30578b45] + URIParser v0.4.1
   Building Triangle → `~/.julia/packages/Triangle/gYrhQ/deps/build.log`

I would like to be using the latest version of JuMP (and others).

I believe the fix is as easy as editing the Project.toml file to move to a newer version of BinDeps, but I don't know if that would break anything.

name = "Triangle"
uuid = "56f361f5-126b-55db-87fb-1c71988fcde4"
keywords = ["triangle", "triangulation", "delaunay-triangulation", "delaunay-refinement", "delaunay", "voronoi", "constrained-delaunay-triangulation"]
license = "MIT"
desc = "A Julia interface to Jonathan Richard Shewchuk's Triangle library."
authors = ["Francesco Furiani <[email protected]>"]
# version = "0.3.1"
version = "0.3.2"

[deps]
BinDeps = "9e28174c-4ba2-5203-b857-d8d62c4213ee"
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

[compat]
julia = "^1.0.0"
# BinDeps = "^0.8.10"
BinDeps = "1"

[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test"]

Unable to build on Windows

We are unable to build on VS 2017. Unfortunately we cannot use VS 2013 as it is unsupported by our IT policies.

EDIT: it does not seem related to a specific version of Visual Studio. The libtriangle.dll is being built as expected.

The affected line seems to be this one:

provides(Binaries, URI(libfile), libtriangle)

The provider is expecting an archive rather than a DLL. I've tried to hack my way out but the whole process looks quite broken.

  Building Triangle → `C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\build.log`
┌ Error: Error building `Triangle`:
│ Setting x64
│ The system cannot find the path specified.
│
│ Microsoft (R) Program Maintenance Utility Version 14.16.27035.0
│ Copyright (C) Microsoft Corporation.  All rights reserved.
│
│       del libtriangle.dll tricall.obj triangle.obj libtriangle.lib libtriangle.exp
│ Could Not Find C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\src\libtriangle.dll
│
│ Microsoft (R) Program Maintenance Utility Version 14.16.27035.0
│ Copyright (C) Microsoft Corporation.  All rights reserved.
│
│       cl.exe /DCPU86 /DTRILIBRARY /DREDUCED /DCDT_ONLY /DNO_TIMER /GL -c tricall.c
│ Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27035 for x86
│ Copyright (C) Microsoft Corporation.  All rights reserved.
│
│ tricall.c
│       cl.exe /DCPU86 /DTRILIBRARY /DREDUCED /DCDT_ONLY /DNO_TIMER /GL -c triangle.c
│ Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27035 for x86
│ Copyright (C) Microsoft Corporation.  All rights reserved.
│
│ triangle.c
│       link.exe /LTCG /DLL /OUT:libtriangle.dll tricall.obj triangle.obj
│ Microsoft (R) Incremental Linker Version 14.16.27035.0
│ Copyright (C) Microsoft Corporation.  All rights reserved.
│
│    Creating library libtriangle.lib and object libtriangle.exp
│ Generating code
│ Finished generating code
│         1 file(s) copied.
│         1 file(s) copied.
│         1 file(s) copied.
│         1 file(s) copied.
│ Setting x64
│ The system cannot find the path specified.
│
│ Microsoft (R) Program Maintenance Utility Version 14.16.27035.0
│ Copyright (C) Microsoft Corporation.  All rights reserved.
│
│       del libtriangle.dll tricall.obj triangle.obj libtriangle.lib libtriangle.exp
│ [ Info: Changing directory to C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\src
│ [ Info: Changing directory to C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\src
│ [ Info: Changing directory to C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\src
│ [ Info: Changing directory to C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\src
│ [ Info: Changing directory to C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\src
│ [ Info: Changing directory to C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\src
│ ERROR: LoadError: I don't know how to unpack C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\downloads\libtriangle.dll
│ Stacktrace:
│  [1] error(::String) at .\error.jl:33
│  [2] unpack_cmd(::String, ::String, ::String, ::String) at C:\Users\MyUser\.julia\packages\BinDeps\ZEval\src\BinDeps.jl:127
│  [3] lower(::FileUnpacker, ::BinDeps.SynchronousStepCollection) at C:\Users\MyUser\.julia\packages\BinDeps\ZEval\src\BinDeps.jl:272
│  [4] macro expansion at C:\Users\MyUser\.julia\packages\BinDeps\ZEval\src\BinDeps.jl:272 [inlined]
│  [5] generate_steps(::BinDeps.LibraryDependency, ::BinDeps.RemoteBinaries, ::Dict{Symbol,Any}) at C:\Users\MyUser\.julia\packages\BinDeps\ZEval\src\dependencies.jl:529
│  [6] satisfy!(::BinDeps.LibraryDependency, ::Array{DataType,1}) at C:\Users\MyUser\.julia\packages\BinDeps\ZEval\src\dependencies.jl:944
│  [7] satisfy!(::BinDeps.LibraryDependency) at C:\Users\MyUser\.julia\packages\BinDeps\ZEval\src\dependencies.jl:922
│  [8] top-level scope at C:\Users\MyUser\.julia\packages\BinDeps\ZEval\src\dependencies.jl:977
│  [9] include at .\boot.jl:328 [inlined]
│  [10] include_relative(::Module, ::String) at .\loading.jl:1105
│  [11] include(::Module, ::String) at .\Base.jl:31
│  [12] include(::String) at .\client.jl:424
│  [13] top-level scope at none:5
│ in expression starting at C:\Users\MyUser\.julia\packages\Triangle\LYxUk\deps\build.jl:53
└ @ Pkg.Operations D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\backwards_compatible_isolation.jl:649

Remove use of -REDUCED and -DCDT_ONLY

Would like to make use of this wrapper for triangle, but need access to flags that are currently turned off due to use of -REDUCED and -DCDT_ONLY.

While I could work from a fork, it would be much more convenient to be able to just install from the default registered version of this package, where the binaries are not built with a restricted set of options.

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Difficulty with building on windows

I had no problem building Triangle on linux/unix, but always encounter errors on windows.
I have tried with VC++ 2015, 2017 and 2019 and found no luck. Could you provide the version of VC++ you have used to build this package on windows?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.