Opened 6 years ago

Closed 6 months ago

Last modified 6 months ago

#46161 closed enhancement (wontfix)

llvm +ocaml should depend on ocaml-findlib

Reported by: larryv (Lawrence Velázquez) Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: larryv (Lawrence Velázquez), cooljeanius (Eric Gallager), kencu (Ken)
Port: llvm-3.7

Description

Current LLVM trunk (r223617) cannot build its OCaml bindings with our ocaml @4.02.1_0:

:info:configure checking for ocamlfind... no

…and then later…

:info:configure configure: WARNING: --enable-bindings=ocaml specified, but ocamlfind not found. Try configure OCAMLFIND=/path/to/ocamlfind
:info:configure configure: WARNING: --enable-bindings=ocaml specified, but ctypes is not installed
:info:configure configure: WARNING: --enable-bindings=ocaml specified, but OUnit 2 is not installed. Tests will not run
:info:configure ./configure: line 18288: : command not found
:info:configure configure: error: Prequisites for bindings not satisfied. Fix them or use configure --disable-bindings.

From my limited research, ocamlfind seems to be a pretty standard part of a modern OCaml installation, so we should probably provide it somehow.

Change History (12)

comment:1 Changed 4 years ago by mf2k (Frank Schima)

Owner: mww@… deleted
Status: newassigned

See #53012.

comment:2 Changed 3 years ago by pmetzger (Perry E. Metzger)

The correct solution to this is to add a dependency on the ocaml-findlib port. (OCaml unbundled findlib into a distinct package, but we have a port for it.)

Given that, the problem should go away. Note that I have submitted an update to that port and a number of related ports in #55358.

I would say that adding this dependency to the LLVM port should allow this ticket to be closed.

comment:3 Changed 3 years ago by mojca (Mojca Miklavec)

Owner: set to pmetzger

comment:4 Changed 3 years ago by pmetzger (Perry E. Metzger)

I'm probably the wrong owner for the ticket. The owner should be the owner of the LLVM port. That said, all that is needed is a build dependency on ocaml-findlib in the LLVM port, which should be a one line change.

comment:5 Changed 3 years ago by neverpanic (Clemens Lang)

Cc: larryv added; jeremyhu removed
Owner: changed from pmetzger to jeremyhu
Port: llvm-4.0 added; ocaml removed
Summary: ocaml @4.02.1_0: should install findlib and ocamlfindllvm +ocaml should depend on ocaml-findlib

Reassigning to llvm.

comment:6 Changed 11 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:7 Changed 10 months ago by kencu (Ken)

Cc: kencu added

comment:8 Changed 8 months ago by kencu (Ken)

Port: llvm-9.0 llvm-8.0 llvm-7.0 llvm-6.0 llvm-5.0 added; llvm-4.0 removed

comment:9 Changed 6 months ago by kencu (Ken)

Port: llvm-3.7 added; llvm-9.0 llvm-8.0 llvm-7.0 llvm-6.0 llvm-5.0 removed

comment:10 Changed 6 months ago by kencu (Ken)

Resolution: wontfix
Status: assignedclosed

I think it's fair to say I will never fix this, and as nobody else has fixed it in five years, neither will anyone else. llvm-3.7 is used only for the limited purpose of bootstrapping llvm-50 to 9.0, and has no other purpose in MacPorts now.

comment:11 Changed 6 months ago by jmroot (Joshua Root)

You should probably remove the variant then?

comment:12 Changed 6 months ago by kencu (Ken)

Yes, fair enough.

the ocaml and go variants across the range of all the clang versions are just a mess. None of them work properly; I'm not sure when (or if) they ever did. They are found opportunistically on every version, which causes problems sometimes.

The problem is LLVM has not written in proper toggles for them.

A few macporters have tried to take this on and fix the cmake scripts, me included, but everyone got bogged down and quit once they realized it was harder to fix than expected.

Upstream has discussed this, but don't find it a priority at present.

Last edited 6 months ago by kencu (Ken) (previous) (diff)
Note: See TracTickets for help on using tickets.