-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build error - "Makefile:20: *** missing separator. Stop." #21
Comments
Hi @timbertson, thank you for your detailed bug report. 1. Installation As opamconfig is in a rather early development phase I did not write a complete setup for it yet. The Makefiles are actually here as a ”developer commodity” (for instance, we can produce GPG-signed tarball with
or to test the software, you can use
and add more tests in the That said, you can use the pinning feature of opam to install and test opamconfig. If you are curious about the Makefile features, they have two prerequisites:
2. Autodetection of nix The goal of opamconfig is to give a consistant approach to detection of libraries provided by the system or by the user. To do this, it uses the simple heuristic of detecting package managers on the system (so it looks for distribution-specific package managers, but also language-specific like pip, and variants like port and brew in macosx). If you want to experiment with it, see the following branch of the opam repository displaying the use of opamconfig for It shows how the |
opamconfig is not very relevant in itself, the important point is that I wrote opamconfig because many opam files derive compilation options from the When libraries provide information that can be used with pkg-config the opam file can probably be written without opamconfig and, if someone has the knowledge and energy to improve the upstream package, so that it uses pkg-config this provides a second, better but longer, mean to fix the installation procedure of an opam package. That said, maybe opamconfig could be taught how to format information retrieved by opamconfig so that it can be easily saved as opam-style configuration information. What do you think about this? |
Oh right, that makes sense. I should have been able to figure this out, as I had read the Thanks to this, I've managed to get it working. Firstly, I think you need a shebang line in the installed After using it, I now understand how it works a bit better. I'm afraid I didn't understand from the readme, because it seemed too simple to simply invoke I've now figured out it goes something like:
(Obviously you know this, but understanding how I think of it may help explain it to others) I didn't realise this, but apparently
Yes, I dislike that a lot and am happy to see someone trying to address this!
Yes, now that I understand how it works, I imagine (I'll close this issue since the compilation error is fixed, but I'll open a sepatate issue for opam2nix specific notes) |
I tried with both a git checkout and also the release tarball (https://github.com/michipili/opamconfig/releases/download/v0.3.0/opamconfig-0.3.0.tar.gz), and I get:
That line is
.include "shell.prog.mk"
. I'm not sure whether that means it can't parse that line, or can't parse the included file (which isn't in the current directory - not sure where it's supposed to come from)I'm interested in making sure that if opamconfig gets adopted by opam packages, they keep working under opam2nix (because I'm pretty sure it won't without intervention). So I'm also curious that it's checking for
nix-env
- is it nix aware, or is that just some autoconf guff?Having not been able to try it out yet, I'm also curious how it relates to pkg-config. I guess the underlying problem may be that packages (like gmp, in the case of conf-gmp) may or may not provide pkg-config setup depending on the distro. I don't know much about the internals of pkg-config and how awkward it is to work with, but it does seem like opamconfig is aiming to do a lot of the same things.
The text was updated successfully, but these errors were encountered: