Kakadu / lablqml

Interfacing Qt/QML with OCaml. Formely known as lablqt
http://kakadu.github.io/lablqml
GNU Lesser General Public License v2.1
159 stars 17 forks source link

Cannot install on Mac OS X with qt5 installed with Homebrew #21

Closed ffreling closed 7 years ago

ffreling commented 8 years ago

Configuration:

I am trying to install lablqt on Mac OS X (10.11.3) but opam only returns a cryptic message:

% opam install -v lablqt
Your request can't be satisfied:
  - No package matches lablqt.

No solution found, exiting
'opam install -v lablqt' failed.

Any idea why the reason could be? Or how to investigate the issue? I did force the links of qt5 in homebrew with brew link --force qt5.

Thanks.

Kakadu commented 8 years ago

I didn't have time to investigate this https://github.com/ocaml/opam-repository/blame/master/packages/conf-qt/conf-qt.5.2.1/opam#L1

Maybe I should add more conf-qt packages to the opam-repository. As workaround you can remove this line from the recipe

ffreling commented 8 years ago

I tried to remove the first line but it does not change anything. I also removed the line about the check on the OS (not sure why darwin is explicitely specified as non-compatible).

Just to be sure, the file to edit is: ~/.opam/repo/default/packages/conf-qt/conf-qt.5.2.1/opam right?

Kakadu commented 8 years ago

Yeah, conf-qt.5.2.1/opam. You can also try to remove conf-qt dependency from lablqt by editing line like this: https://github.com/Kakadu/lablqt/blob/gh-pages/opam-dev/packages/lablqt.9999/opam#L13

You can also try to use lablqt dev repo (there is an URL on the bottom of page http://kakadu.github.io/lablqt/)

ffreling commented 8 years ago

I finally managed to install it by removing the dependency to conf-qt. I'll let you know if I run into any issue. Thanks for the help.

ghost commented 7 years ago

@Kakadu: how does Lablqt depend on conf-qt?

Kakadu commented 7 years ago

@orbifx, conf-qt should check for existence of the Qt itself. But in previous versions of Qt there were some issues with pkg-config which were reproducible only on OS X. So the guys in opam repo have kindof opt out this package from OS Xs.

ffreling commented 7 years ago

I am back :)

I am trying to update lablqt to lablqml but I still can't install it on macOS. I removed the conf-qt but I am still running into errors:

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  🐫
[ERROR] The compilation of lablqml failed at "make".
Processing  1/1: [lablqml: rm]
#=== ERROR while installing lablqml.0.5 =======================================#
# opam-version 1.2.2
# os           darwin
# command      make
# path         /Users/fabs/.opam/system/build/lablqml.0.5
# compiler     system (4.05.0)
# exit-code    2
# env-file     /Users/fabs/.opam/system/build/lablqml.0.5/lablqml-78230-e7966f.env
# stdout-file  /Users/fabs/.opam/system/build/lablqml.0.5/lablqml-78230-e7966f.out
# stderr-file  /Users/fabs/.opam/system/build/lablqml.0.5/lablqml-78230-e7966f.err
### stdout ###
# [...]
# File "ppxext/gencpp.ml", line 156, characters 38-54:
# Warning 3: deprecated: String.uppercase
# Use String.uppercase_ascii instead.
# ocamlfind ocamlc -c -package compiler-libs.common,unix -I ppxext -o ppxext/ppx_qt.cmo ppxext/ppx_qt.ml
# + ocamlfind ocamlc -c -package compiler-libs.common,unix -I ppxext -o ppxext/ppx_qt.cmo ppxext/ppx_qt.ml
# findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /usr/local/lib/ocaml, /usr/local/lib/ocaml/compiler-libs
# File "ppxext/ppx_qt.ml", line 246, characters 79-88:
# Error: This expression has type string but an expression was expected of type
#          Ast_helper.str = string Location.loc
# Command exited with code 2.
### stderr ###
# make[1]: *** [ppx_qt.native] Error 10
# make: *** [generator] Error 2

Any help would be appreciated.

Kakadu commented 7 years ago

@ffreling Eh, it's time to update lablqml for 4.05 ....

bluddy commented 7 years ago

I posted a PR with support for ocaml-migrate-parsetree, so you won't have to worry about this anymore.

conf-qt should have the mac-disabling line removed. I also suggest adding the depext line

[ ["osx" "homebrew"] ["qt5"] ]

though that alone isn't enough -- one needs to run

brew link --force

to symlink everything properly, including pkg-config's files. There's a vague comment in the homebrew file about them not doing full symlinking because it interferes with cmake, but I don't know if it's relevant anymore. Anyway, I don't know how to specify this extra step in depexts, nor do I know if we want to. conf-qt should not reject OSX regardless, since it works fine once you install qt5 and run the above line.

Kakadu commented 7 years ago

@ffreling Can you check that it's better now?

ffreling commented 7 years ago

@Kakadu it's the same, has something been updated?

Kakadu commented 7 years ago

@ffreling the https://github.com/Kakadu/lablqml/pull/55 should have fixed compilation with 4.05

I will try for myself.

ffreling commented 7 years ago

Should I try to install it through opam? Or directly by cloning the repo?

Kakadu commented 7 years ago

Directly

On Thu, Aug 3, 2017 at 5:52 PM, Fabien Freling notifications@github.com wrote:

Should I try to install it through opam? Or directly by cloning the repo?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Kakadu/lablqml/issues/21#issuecomment-319992929, or mute the thread https://github.com/notifications/unsubscribe-auth/AAav0idC1ODtUud1l6fKZ1Yqqv2HnMyDks5sUd7BgaJpZM4HpwrS .

Kakadu commented 7 years ago

@ffreling Some weird stuff is going there. We added a ocaml-migrate-parsetree dependency to fix ppx compilation issues once and forever but I can't install it under 4.05 because this library requires jbuilder which fails to install for me (some other people doesn't have issues like this). It seems that fixing for 4.05 will be postponed for some time.

Can you check that everything is still wrong for you under 4.05? Maybe you will be luck to be able to install all dependencies...

Kakadu commented 7 years ago

@ffreling I tried on another machine and it is compilable under 4.05

ffreling commented 7 years ago

Hi @Kakadu . sorry for the delay I was not home last week. I tried again with opam pin by checking out the repository and it works 👍 I still had to comment out the conf-qt dependency though.

Kakadu commented 7 years ago

@ffreling btw, which Qt is shipped by brew these days?

bluddy commented 7 years ago

qt 5.9.1 is the latest I have from homebrew.

BTW I just ran brew info qt to get that information, and it looks like they recommend I set my PKG_CONFIG_PATH to /usr/local/opt/qt/lib/pkgconfig to enable pkg-config (which lablqml needs). I didn't notice this before. For conf-qt, it'd be nice if there was some way to output this message again (I don't know if there is such a thing), since brew install qt isn't enough to do the trick.

Regardless, the OSX limitation should be removed from conf-qt.

ffreling commented 7 years ago

Same as @bluddy , Qt 5.9.1

Kakadu commented 7 years ago

@bluddy @ffreling Guys, I created a repo with post install message for darwin. https://github.com/Kakadu/opam-repo-qt5 Can you check that message appears after successful installation and is adequate?

bluddy commented 7 years ago

You'll also want to add the depexts line

[ ["osx" "homebrew"] ["qt5"] ]
Kakadu commented 7 years ago

@bluddy Done. Anything else?

ffreling commented 7 years ago

How can I test it?

Kakadu commented 7 years ago

@ffreling In opam 2.0 I need opam repo add conf-qt https://github.com/Kakadu/opam-repo-qt5 -k git

bluddy commented 7 years ago

Looks good on my end. I get the pkg-config message, and installation works.

Kakadu commented 7 years ago

I'm planning to fix Darwin installation in https://github.com/ocaml/opam-repository/pull/10077

Kakadu commented 7 years ago

@bluddy @ffreling Official opam repo got the changes. Can we close this issue now or do you recommend something else?

bluddy commented 7 years ago

Seems to me like you can close the issue.