-
Notifications
You must be signed in to change notification settings - Fork 161
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
Libtool errors with recent libtool #5383
Comments
It seems you are replacing the libtool bundled with GAP, which makes it then necessary to replace the bundled m4 files. To paraphrase your question, and with tongue in cheek: "Is there a reason for this non-standard treatment?" Anyway, it seems to me that simple fix is to not just replace As to why we are not using In this particular case, perhaps the fact that |
OK, looking at the autoconf docs clarifies it. To quote:
But we are not using Note that usage of a hand-written |
OK, so I guess to force use of a different libtool version, you'd need to update all of these files:
And to properly update these files, with Again, I kinda wish I had documented all the issues I've run into, but at the time the main focus was to get something working, not to figure out which versions and parts of autotools had precisely which bugs, etc. :-/. But I am happy to report that within 10 minutes of trying out some things to jog my memory, I've run into several ones I don't recall seeing before:
Well, while I don't remember these, they might be part of the reason we don't run |
After patching all files listed above, GAP builds just fine for me in GNU libtool 2.4.7. But at the end of my investigation, I've got to come back to the question: Why? Looking at the NEWS for libtool 2.4.7, I found nothing that suggests upgrading to it is beneficial. Maybe you are aware of something that's not listed there or that I missed? |
Why am I using libtool 2.4.7? Just because it's installed here. And having it installed means that configure fails for me unfortunately. |
Oh, and yes, we are not using GAP's libtool. That's probably the issue. If I had to guess, we do this for some cross-compilation/Windows issues. But I have no memory why we are doing this. Maybe @isuruf knows? Maybe we just shouldn't be doing that in the first place. We'll keep doing that I think but in any case this issue can be closed then. |
Adding some more documentation to the build scripts to explain this would be great I think. |
I also have libtool 2.4.7 installed and GAP builds just fine anyway. I think it only fails for you because your build scripts choose to update two out of six files in GAP's libtool. Of course this breaks! That seems like a bug in your build script, which should either update all or none... |
I am in principle absolutely willing to improve the documentation, to make live easier for packagers like you (BTW thank you for that!) But I am honestly at a loss what you'd like me to cover, i.e., what "this" refers to: "How to replace the libtool bundled with GAP by a different version"? But that seems really special and I am not sure this should be encouraged. At the very least, I'd like to know the usecase. Note that we build GAP 4.12.2 just fine for Windows (with Cygwin, of course, it doesn't support mingw or "native"). So if there is a problem, we'd like to know about it, and fix it on our side. Or maybe something else.
Same here :-). My last comment was based on what I read in your emails, not what I now see in the edited comments here. Either way I should have phrased it more nicely, sorry for that :-/. Since we perhaps got a bit off on the wrong foot, I'd like to say that I am grateful that you are filing this as an issue so we can discuss it! Far too often, packagers apply all kinds of patches without talking to upstream even once, and this results in all kind of problems. |
I think just a line in
Yes I fully agree. At the same time, authors of libraries tend to completely abuse build systems without talking to downstream (not talking about GAP here…) |
OK, that's a good suggestion, will do, thanks!
I've been on both sides of this often enough. In general some understanding for each other would go a long way... Library authors don't do this out of spite. But because they have other constraints to wrangle with. And for a long time, GNU autotools documentation was worse than useless in some regards... Even today, there are many things which are just not covered and which one has to figure out by looking at the implementation. Of course autotools are not unique in that regard, I've had similar experiences with cmake and others 😢 . |
As an update, https://github.com/conda-forge/gap-feedstock has dropped the patch adding But I am not closing this issue yet because I still want to add those docs we talked about. |
Just out of completeness, I should also mention here that long-term goal is to just eliminate use of GNU libtool, see #5306 |
We have removed usage of GNU libtool completely, so hopefully with GAP 4.13.0 this will be an issue of the past. I also added a few comments to the build system in PR #5602 |
When building with libtool 2.4.7 we saw the following error at configure time:
For the conda-forge distribution, we fixed this with this patch, i.e.,
rm aclocal.m4
and useAC_CONFIG_MAROS_DIR
to tell autoconf where it's macros can be found instead.What is the reason for GAP's non-standard setup here?
The text was updated successfully, but these errors were encountered: