alavrik / piqi

Piqi – universal schema language: JSON, XML, Protocol Buffers data validation and conversion
http://piqi.org
Apache License 2.0
246 stars 36 forks source link

piqilib doesn't work in toplevel #50

Closed ivg closed 8 years ago

ivg commented 9 years ago

piqirun.ext doesn't work from toplevel:

# #use "topfind";;
- : unit = ()
Findlib has been successfully loaded. Additional directives:
  #require "package";;      to load a package
  #list;;                   to list the available packages
  #camlp4o;;                to load camlp4 (standard syntax)
  #camlp4r;;                to load camlp4 (revised syntax)
  #predicates "p,q,...";;   to set these predicates
  Topfind.reset();;         to force that packages will be reloaded
  #thread;;                 to enable threads

- : unit = ()
# #require "piqirun.ext";;
/home/ivg/.opam/4.02.1/lib/ulex: added to search path
/home/ivg/.opam/4.02.1/lib/ulex/pa_ulex.cma: loaded
/home/ivg/.opam/4.02.1/lib/ulex/ulexing.cma: loaded
/home/ivg/.opam/4.02.1/lib/easy-format: added to search path
/home/ivg/.opam/4.02.1/lib/easy-format/easy_format.cmo: loaded
/home/ivg/.opam/4.02.1/lib/xmlm: added to search path
/home/ivg/.opam/4.02.1/lib/xmlm/xmlm.cma: loaded
/home/ivg/.opam/4.02.1/lib/bytes: added to search path
/home/ivg/.opam/4.02.1/lib/base64: added to search path
/home/ivg/.opam/4.02.1/lib/base64/base64.cma: loaded
/home/ivg/.opam/4.02.1/lib/piqilib: added to search path
# #require "piqirun.ext";;/piqilib/piqilib.cma: loaded
Error: The external function `camlidl_piqi_c_piqi_strtoull' is not available
# 

The issue manifests at least for 0.6.12

KennethAdamMiller commented 9 years ago

I realized that I have several commits on different projects that never made it out into merge requests. I'll try and get them out, because I've already solved this issue, and it was rather time consuming.

https://github.com/KennethAdamMiller/piqi/commit/8fcfc9a0b721a4e55007461e37347c3643dbd9d9

ivg commented 9 years ago

The problem is that this change is not in opam:

$ opam source piqilib
$ less piqilib.0.6.12/piqilib/Makefile | grep STATIC
STATIC = 1 # force creation of static library (don't create dlls)
KennethAdamMiller commented 9 years ago

I re-opened my laptop in the few minutes just before I leave to take a friend back to the airport and went to tell you I remembered that it had been made a merge request and the other stuff, but literally you had already found that out, ha :)

alavrik commented 9 years ago

@ivg I'll cut a new stable version and push it to opam in the next couple of days. sorry about the delay.

alavrik commented 8 years ago

the fix has been released as a part of piqilib-0.6.13