backtracking / mlpost Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU Lesser General Public License v2.1
License: GNU Lesser General Public License v2.1
The concrete backend is not currently able to do clipping of bezier path. However intersection of bezier paths is already implemented.
Related work:
Support for this option seems to have disappeared in 0.9.
Would it be possible to make a release? It would be great to have a version on opam that's compatible with ppxlib!
While working on OCaml bug MPR#7037 I tried to compile mlpost's documentation make doc
, and this fails and seems to have been broken for a long time. On the contrary, the Debian package for mlpost provides several patches, developed over time by the Debian maintainers, to fix various things in the mlpost-0.8.1 sources.
https://sources.debian.net/src/mlpost/0.8.1-6/debian/patches/
I don't know which of them are still relevant to upstream mlpost, but I think that at least 0006-Fix-for-ocamldoc-4.patch, which makes mlpost's documentation buildable again, could be integrated.
Hello,
mlpost 0.8.2 fails to build with bitstring 3.1.1:
The issue seems related to preprocessing (bitstring does no longer use camlp4).
This bug is also reported in Debian.
The concrete backend is not able to stroke path with something else than the default pen. In order to compute the bounding box in a more precise way and to be able to support them in the .mps or cairo backend, I think that concrete need a function that take one path (closed or not), a pen (a closed path) and compute a closed path which represents the pen along the path.
But I have no idea how to to that. Related work?
ocamlformat is quite nice for ensuring in such projects that the style is coherent. But for it to work it should be tested in the continuous integration (that we don't yet have in mlpost, but adding github actions is quite easy). However it also means that make fmt
should be run in each MR, which is often overlooked.
If they did, then tools like Merlin would be more useful for learning the API. I think some small changes to Makefile.in and ocamlbuild.Makefile should be enough to resolve the issue.
The -ccopt
options seem ignored in practice, and looking at the code, they are collected in the ccopt reference in tools/tool.ml, but used nowhere.
Using ocaml 4.06.1, cairo 1.2.0 no longer compiles. Opam outputs the following error:
### stderr ###
# File "cairo_png.ml", line 16, characters 1-18:
# Warning 3: deprecated: String.unsafe_set
# File "cairo_png.ml", line 16, characters 19-20:
# Error: This expression has type string but an expression was expected of type
# bytes
The dependency of mlpost to cairo 1.2.0 makes it difficult/impossible to install with opam with ocaml 4.06.1. Maybe it would be worth for mlpost to move to cairo2. Or maybe there is a work around to install cairo 1.2.0 with opam.
I have just installed mlpost
using opam
(ocaml version: 4.04.2) and attempted to compile the following trivial program using ocamlbuild
:
open Mlpost
open Command
open Box
let fig = draw (rect (tex "F"))
let () =
Metapost.emit "fig" fig ;
Metapost.dump ~pdf:true "tmp"
I got the following linking error:
ocamlbuild -use-ocamlfind main.native
+ ocamlfind ocamlopt -linkpkg -package mlpost main.cmx -o main.native
Undefined symbols for architecture x86_64:
"_ml_FT_Get_Char_Index", referenced from:
_camlMlpost__Fonts__fun_2589 in mlpost.a(mlpost.o)
_camlMlpost__Fonts__fun_2583 in mlpost.a(mlpost.o)
_camlMlpost__Mlpost_ft__3 in mlpost.a(mlpost.o)
"_ml_FT_Get_Name_Index", referenced from:
_camlMlpost__Fonts__compute_trans_enc_1967 in mlpost.a(mlpost.o)
_camlMlpost__Mlpost_ft__3 in mlpost.a(mlpost.o)
"_ml_FT_num_charmaps", referenced from:
_camlMlpost__Mlpost_ft__ft_set_charmap_1220 in mlpost.a(mlpost.o)
_camlMlpost__Mlpost_ft__3 in mlpost.a(mlpost.o)
"_ml_FT_set_charmap", referenced from:
_camlMlpost__Mlpost_ft__ft_set_charmap_1220 in mlpost.a(mlpost.o)
_camlMlpost__Mlpost_ft__3 in mlpost.a(mlpost.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
File "caml_startup", line 1:
Error: Error during linking
Command exited with code 2.
Besides, if I run the mlpost
command line program on my source file, I get this other linking error:
File "main.ml", line 1:
Error: Error on dynamically loaded library: /Users/jlauren1/.opam/latest/lib/stublibs/dllmlpost_ft.so: dlopen(/Users/jlauren1/.opam/late
st/lib/stublibs/dllmlpost_ft.so, 138): Symbol not found: _caml_curry2
Referenced from: /Users/jlauren1/.opam/latest/lib/stublibs/dllmlpost_ft.so
Expected in: flat namespace
in /Users/jlauren1/.opam/latest/lib/stublibs/dllmlpost_ft.so
I am a Mac user if this helps.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.