na4zagin3 / satyrographos

Package manager for SATySFi
GNU Lesser General Public License v3.0
45 stars 13 forks source link

build failed #256

Closed puripuri2100 closed 3 years ago

puripuri2100 commented 3 years ago

I did that

git clone https://github.com/na4zagin3/satyrographos.git
cd satyrographos
opam pin add satyrographos .

I got an error like this

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of satyrographos failed at "/home/puripuri2100/.opam/4.10.0/bin/dune build -p satyrographos -j 3".

#=== ERROR while compiling satyrographos.0.0.2.8 ==============================#
# context     2.0.7 | linux/x86_64 | ocaml-base-compiler.4.10.0 | pinned(git+file:///home/puripuri2100/satyrographos#master#673d378e)
# path        ~/.opam/4.10.0/.opam-switch/build/satyrographos.0.0.2.8
# command     ~/.opam/4.10.0/bin/dune build -p satyrographos -j 3
# exit-code   1
# env-file    ~/.opam/log/satyrographos-28819-c743ac.env
# output-file ~/.opam/log/satyrographos-28819-c743ac.out
### output ###
# [...]
# :(.data+0x2d8): multiple definition of `camlFlags__gc_roots'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.data+0x8): first defined here
# /usr/bin/ld: /home/puripuri2100/.opam/4.10.0/lib/core_kernel/flags/flags.a(flags.o): in function `camlFlags__entry':
# /home/puripuri2100/.opam/4.10.0/.opam-switch/build/core_kernel.v0.14.0/_build/default/flags/src/flags.ml:127: multiple definition of `camlFlags__entry'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.text+0x0): first defined here
# /usr/bin/ld: /home/puripuri2100/.opam/4.10.0/lib/core_kernel/flags/flags.a(flags.o): in function `camlFlags__code_end':
# :(.text+0x185b): multiple definition of `camlFlags__code_end'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.text+0x5c): first defined here
# /usr/bin/ld: /home/puripuri2100/.opam/4.10.0/lib/core_kernel/flags/flags.a(flags.o): in function `camlFlags__data_end':
# :(.data+0x6d0): multiple definition of `camlFlags__data_end'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.data+0x58): first defined here
# /usr/bin/ld: /home/puripuri2100/.opam/4.10.0/lib/core_kernel/flags/flags.a(flags.o): in function `camlFlags__frametable':
# :(.data+0x6d8): multiple definition of `camlFlags__frametable'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.data+0x60): first defined here
# collect2: error: ld returned 1 exit status
# File "caml_startup", line 1:
# Error: Error during linking

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build satyrographos 0.0.2.8
└─
╶─ No changes have been performed
[NOTE] Pinning command successful, but your installed packages may be out of sync.

OCaml : 4.10.0 WSL2 + Ubuntu 20.04LTS core_kernel : v0.14.1

puripuri2100 commented 3 years ago

I got the error when installing from opam-repo.

opam install satyrographos
The following actions will be performed:
  ∗ install satyrographos 0.0.2.8

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[satyrographos.0.0.2.8] found in cache

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of satyrographos failed at "/home/puripuri2100/.opam/4.10.0/bin/dune build -p satyrographos -j 3".

#=== ERROR while compiling satyrographos.0.0.2.8 ==============================#
# context     2.0.7 | linux/x86_64 | ocaml-base-compiler.4.10.0 | https://opam.ocaml.org#f52672dd
# path        ~/.opam/4.10.0/.opam-switch/build/satyrographos.0.0.2.8
# command     ~/.opam/4.10.0/bin/dune build -p satyrographos -j 3
# exit-code   1
# env-file    ~/.opam/log/satyrographos-29725-d2d111.env
# output-file ~/.opam/log/satyrographos-29725-d2d111.out
### output ###
# [...]
# :(.data+0x2d8): multiple definition of `camlFlags__gc_roots'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.data+0x8): first defined here
# /usr/bin/ld: /home/puripuri2100/.opam/4.10.0/lib/core_kernel/flags/flags.a(flags.o): in function `camlFlags__entry':
# /home/puripuri2100/.opam/4.10.0/.opam-switch/build/core_kernel.v0.14.0/_build/default/flags/src/flags.ml:127: multiple definition of `camlFlags__entry'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.text+0x0): first defined here
# /usr/bin/ld: /home/puripuri2100/.opam/4.10.0/lib/core_kernel/flags/flags.a(flags.o): in function `camlFlags__code_end':
# :(.text+0x185b): multiple definition of `camlFlags__code_end'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.text+0x5c): first defined here
# /usr/bin/ld: /home/puripuri2100/.opam/4.10.0/lib/core_kernel/flags/flags.a(flags.o): in function `camlFlags__data_end':
# :(.data+0x6d0): multiple definition of `camlFlags__data_end'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.data+0x58): first defined here
# /usr/bin/ld: /home/puripuri2100/.opam/4.10.0/lib/core_kernel/flags/flags.a(flags.o): in function `camlFlags__frametable':
# :(.data+0x6d8): multiple definition of `camlFlags__frametable'; /home/puripuri2100/.opam/4.10.0/lib/opam-file-format/opam_file_format.a(flags.o)::(.data+0x60): first defined here
# collect2: error: ld returned 1 exit status
# File "caml_startup", line 1:
# Error: Error during linking

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build satyrographos 0.0.2.8
└─
╶─ No changes have been performed
puripuri2100 commented 3 years ago

List of installed libraries.

$ opam list

# Packages matching: installed
# Name                  # Installed   # Synopsis
alcotest                1.2.3         Alcotest is a lightweight and colourful test framework
angstrom                0.15.0        Parser combinators built for speed and memory-efficiency
asn1-combinators        0.2.4         Embed typed ASN.1 grammars in OCaml
astring                 0.8.5         Alternative String module for OCaml
atd                     2.2.1         Parser for the ATD data format description language
atdgen                  2.2.1         Generates efficient JSON serializers, deserializers and validators
atdgen-runtime          2.2.1         Runtime library for code generated by atdgen
base                    v0.14.0       Full standard library replacement for OCaml
base-bigarray           base
base-bytes              base          Bytes library distributed with the OCaml compiler
base-threads            base
base-unix               base
base64                  3.4.0         Base64 encoding for OCaml
base_bigstring          v0.14.0       String type based on [Bigarray], for use in I/O and C-bindings
base_quickcheck         v0.14.0       Randomized testing framework, designed for compatibility with Base
batteries               3.2.0         A community-maintained standard library extension
bigarray-compat         1.0.0         Compatibility library to use Stdlib.Bigarray when possible
bigstringaf             0.7.0         Bigstring intrinsics and fast blits based on memcpy/memmove
bin_prot                v0.14.0       A binary protocol generator
biniou                  1.2.1         Binary data format designed for speed, safety, ease of use and backward compatibilbos                     0.2.0         Basic OS interaction for OCaml
camlimages              5.0.4         Image processing library
camlpdf                 2.3.1+satysfi Read, write and modify PDF files
camomile                1.0.2         A Unicode library
charInfo_width          1.1.0         Determine column width for a character
cmdliner                1.0.4         Declarative definition of command line interfaces for OCaml
cohttp                  2.5.4         An OCaml library for HTTP clients and servers
cohttp-lwt              2.5.4         CoHTTP implementation using the Lwt concurrency library
cohttp-lwt-unix         2.5.4         CoHTTP implementation for Unix and Windows using Lwt
conduit                 2.1.0         A network connection establishment library
conduit-lwt             2.1.0         A portable network connection establishment library using Lwt
conduit-lwt-unix        2.2.2         A network connection establishment library for Lwt_unix
conf-gmp                2             Virtual package relying on a GMP lib system installation
conf-gmp-powm-sec       2             Virtual package relying on a GMP lib with constant-time modular exponentiation
conf-libssl             2             Virtual package relying on an OpenSSL library system installation
conf-m4                 1             Virtual package relying on m4
conf-perl               1             Virtual package relying on perl
conf-pkg-config         1.3           Virtual package relying on pkg-config installation
core                    v0.14.0       Industrial strength alternative to OCaml's standard library
core_kernel             v0.14.0       Industrial strength alternative to OCaml's standard library
cppo                    1.6.6         Code preprocessor like cpp for OCaml
csexp                   1.3.2         Parsing and printing of S-expressions in Canonical form
cstruct                 5.2.0         Access C-like structures directly from OCaml
cstruct-sexp            5.2.0         S-expression serialisers for C-like structures
ctypes                  0.17.1        Combinators for binding to C libraries without writing any C
depext                  transition    opam-depext transition package
domain-name             0.3.0         RFC 1035 Internet domain names
dune                    2.7.1         Fast, portable, and opinionated build system
dune-configurator       2.7.1         Helper library for gathering system configuration
dune-private-libs       2.7.1         Private libraries of Dune
duration                0.1.3         Conversions to various time units
easy-format             1.3.2         High-level and functional interface to the Format module of the OCaml standard libeqaf                    0.7           Constant-time equal function on string
fiat-p256               0.2.3         Primitives for Elliptic Curve Cryptography taken from Fiat
fieldslib               v0.14.0       Syntax extension to define first class values representing record fields, to get afileutils               0.6.3         API to manipulate files (POSIX like) and filenames
fix                     20201120      Facilities for memoization and fixed points
fmt                     0.8.9         OCaml Format pretty-printer combinators
fpath                   0.7.3         File system paths for OCaml
functoria-runtime       3.0.3         Runtime support library for functoria-generated code
github                  4.3.2         GitHub APIv3 OCaml library
github-unix             4.3.2         GitHub APIv3 Unix library
gmap                    0.3.0         Heterogenous maps over a GADT
hacl_x25519             0.2.2         Primitives for Elliptic Curve Cryptography taken from Project Everest
hex                     1.4.0         Library providing hexadecimal converters
hkdf                    1.0.4         HMAC-based Extract-and-Expand Key Derivation Function (RFC 5869)
integers                0.4.0         Various signed and unsigned integer types for OCaml
ipaddr                  5.0.1         A library for manipulation of IP (and MAC) address representations
ipaddr-sexp             5.0.1         A library for manipulation of IP address representations usnig sexp
jane-street-headers     v0.14.0       Jane Street C header files
jbuilder                1.0+beta20.2  Fast, portable and opinionated build system
json-derivers           1.0.0         Common Derivers for Jsonm/Yjson
jsonm                   1.0.1         Non-blocking streaming JSON codec for OCaml
jst-config              v0.14.0       Compile-time configuration for Jane Street libraries
lambda-term             3.1.0         Terminal manipulation library for OCaml
logs                    0.7.0         Logging infrastructure for OCaml
lwt                     5.3.0         Promises and event-driven I/O
lwt_log                 1.1.1         Lwt logging library (deprecated)
lwt_react               1.1.3         Helpers for using React with Lwt
lwt_ssl                 1.1.3         OpenSSL binding with concurrent I/O
macaddr                 5.0.1         A library for manipulation of MAC address representations
magic-mime              1.1.2         Map filenames to common MIME types
menhir                  20201122      An LR(1) parser generator
menhirLib               20201122      Runtime support library for parsers generated by Menhir
menhirSdk               20201122      Compile-time library for auxiliary tools related to Menhir
mew                     0.1.0         Modal editing witch
mew_vi                  0.5.0         Modal editing witch, VI interpreter
mirage-clock            3.1.0         Libraries and module types for portable clocks
mirage-crypto           0.8.7         Simple symmetric cryptography for the modern age
mirage-crypto-pk        0.8.7         Simple public-key cryptography for the modern age
mirage-crypto-rng       0.8.7         A cryptographically secure PRNG
mirage-no-solo5         1             Virtual package conflicting with mirage-solo5
mirage-no-xen           1             Virtual package conflicting with mirage-xen
mirage-runtime          3.9.0         The base MirageOS runtime library, part of every MirageOS unikernel
mirage-time             2.0.1         Time operations for MirageOS
mmap                    1.1.0         File mapping functionality
mtime                   1.2.0         Monotonic wall-clock time for OCaml
num                     1.4           The legacy Num library for arbitrary-precision integer and rational arithmetic
ocaml                   4.10.0        The OCaml compiler (virtual package)
ocaml-base-compiler     4.10.0        Official release 4.10.0
ocaml-compiler-libs     v0.12.3       OCaml compiler libraries repackaged
ocaml-config            1             OCaml Switch Configuration
ocaml-migrate-parsetree 1.8.0         Convert OCaml parsetrees between different versions
ocaml-syntax-shims      1.0.0         Backport new syntax to older OCaml versions
ocamlbuild              0.14.0        OCamlbuild is a build system with builtin rules to easily build most OCaml projectocamlfind               1.8.1         A library manager for OCaml
ocamlgraph              2.0.0         A generic graph library for OCaml
ocplib-endian           1.1           Optimised functions to read and write int16/32/64 from strings and bigarrays
octavius                1.2.2         Ocamldoc comment syntax parser
odoc                    1.5.2         OCaml documentation generator
omd                     1.3.1         A Markdown frontend in pure OCaml.
opam-core               2.0.7
opam-depext             1.1.5         install OS distribution packages
opam-file-format        2.1.1         Parser and printer for the opam file syntax
opam-format             2.0.7
opam-publish            2.0.2         A tool to ease contributions to opam repositories
opam-repository         2.0.7
opam-state              2.0.7
otfm                    0.3.7+satysfi OpenType font decoder for OCaml
parsexp                 v0.14.0       S-expression parsing library
posixat                 v0.14.0       Bindings to the posix *at functions
ppx_assert              v0.14.0       Assert-like extension nodes that raise useful errors on failure
ppx_base                v0.14.0       Base set of ppx rewriters
ppx_bench               v0.14.1       Syntax extension for writing in-line benchmarks in ocaml code
ppx_bin_prot            v0.14.0       Generation of bin_prot readers and writers from types
ppx_cold                v0.14.0       Expands [@cold] into [@inline never][@specialise never][@local never]
ppx_compare             v0.14.0       Generation of comparison functions from types
ppx_cstruct             5.2.0         Access C-like structures directly from OCaml
ppx_custom_printf       v0.14.0       Printf-style format-strings for user-defined string conversion
ppx_derivers            1.2.1         Shared [@@deriving] plugin registry
ppx_deriving            5.1           Type-driven code generation for OCaml
ppx_deriving_yojson     3.6.1         JSON codec generator for OCaml
ppx_enumerate           v0.14.0       Generate a list containing all values of a finite type
ppx_expect              v0.14.0       Cram like framework for OCaml
ppx_fail                v0.14.0       Add location to calls to failwiths
ppx_fields_conv         v0.14.1       Generation of accessor and iteration functions for ocaml records
ppx_fixed_literal       v0.14.0       Simpler notation for fixed point literals
ppx_hash                v0.14.0       A ppx rewriter that generates hash functions from type expressions and definitionsppx_here                v0.14.0       Expands [%here] into its location
ppx_inline_test         v0.14.1       Syntax extension for writing in-line tests in ocaml code
ppx_jane                v0.14.0       Standard Jane Street ppx rewriters
ppx_js_style            v0.14.0       Code style checker for Jane Street Packages
ppx_let                 v0.14.0       Monadic let-bindings
ppx_module_timer        v0.14.0       Ppx rewriter that records top-level module startup times
ppx_optcomp             v0.14.0       Optional compilation for OCaml
ppx_optional            v0.14.0       Pattern matching on flat options
ppx_pipebang            v0.14.0       A ppx rewriter that inlines reverse application operators `|>` and `|!`
ppx_sexp_conv           v0.14.1       [@@deriving] plugin to generate S-expression conversion functions
ppx_sexp_message        v0.14.0       A ppx rewriter for easy construction of s-expressions
ppx_sexp_value          v0.14.0       A ppx rewriter that simplifies building s-expressions from ocaml values
ppx_stable              v0.14.1       Stable types conversions generator
ppx_string              v0.14.1       Ppx extension for string interpolation
ppx_tools               6.3           Tools for authors of ppx rewriters and other syntactic tools
ppx_tools_versioned     5.4.0         A variant of ppx_tools based on ocaml-migrate-parsetree
ppx_typerep_conv        v0.14.1       Generation of runtime types from type declarations
ppx_variants_conv       v0.14.1       Generation of accessor and iteration functions for ocaml variant types
ppxfind                 1.4           Tool combining ocamlfind and ppx
ppxlib                  0.15.0        Standard library for ppx rewriters
ptime                   0.8.5         POSIX time for OCaml
re                      1.9.0         RE is a regular expression library for OCaml
react                   1.2.1         Declarative events and signals for OCaml
result                  1.5           Compatibility Result module
rresult                 0.6.0         Result value combinators for OCaml
satysfi                 0.0.5         pinned to version 0.0.5 at git+file:///home/puripuri2100/SATySFi#master
satysfi-dist            0.0.5         Standard library of SATySFi
seq                     base          Compatibility package for OCaml's standard iterator type starting from 4.07.
sexplib                 v0.14.0       Library for serializing OCaml values to and from S-expressions
sexplib0                v0.14.0       Library containing the definition of S-expressions and some base converters
shexp                   v0.14.0       Process library and s-expression based shell
spawn                   v0.13.0       Spawning sub-processes
splittable_random       v0.14.0       PRNG that can be split into independent streams
ssl                     0.5.9         Bindings for OpenSSL
stdio                   v0.14.0       Standard IO library for OCaml
stdlib-shims            0.1.0         Backport some of the new stdlib features to older compiler
stringext               1.6.0         Extra string functions for OCaml
time_now                v0.14.0       Reports the current time
timezone                v0.14.0       Time-zone handling
tls                     0.12.6        Transport Layer Security purely in OCaml
topkg                   1.0.3         The transitory OCaml software packager
trie                    1.0.0         Strict impure trie tree
typerep                 v0.14.0       Typerep is a library for runtime types
tyxml                   4.4.0         TyXML is a library for building correct HTML and SVG documents
uchar                   0.0.2         Compatibility library for OCaml's Uchar module
uri                     4.0.0         An RFC3986 URI/URL parsing library
uri-sexp                4.0.0         An RFC3986 URI/URL parsing library
utop                    2.6.0         Universal toplevel for OCaml
uucp                    13.0.0        Unicode character properties for OCaml
uuidm                   0.9.7         Universally unique identifiers (UUIDs) for OCaml
uuseg                   13.0.0        Unicode text segmentation for OCaml
uutf                    1.0.2         Non-blocking streaming Unicode codec for OCaml
variantslib             v0.14.0       Part of Jane Street's Core library
x509                    0.11.2        Public Key Infrastructure (RFC 5280, PKCS) purely in OCaml
xml-light               2.4           Xml-Light is a minimal XML parser & printer for OCaml
yaml                    2.1.0         Parse and generate YAML 1.1 files
yojson                  1.7.0         Yojson is an optimized parsing and printing library for the JSON format
yojson-with-position    1.4.2+satysfi Yojson is an optimized parsing and printing library for the JSON format
zarith                  1.11          Implements arithmetic and logical operations over arbitrary-precision integers
zed                     3.1.0         Abstract engine for text edition in OCaml
na4zagin3 commented 3 years ago

The build failure is because of https://github.com/ocaml/opam-file-format/issues/33.

You can workaround with opam pin opam-file-format 2.0.0 for while.

puripuri2100 commented 3 years ago

thanks!

puripuri2100 commented 3 years ago

It have been resolved. https://github.com/ocaml/opam-repository/pull/17774