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
3.0.0 release can't be (easily) compiled from source #44
Comments
Hi! I have made the rinutils test suite turned off by default in release 0.6.0 (see https://github.com/shlomif/rinutils/releases/tag/0.6.0 ) which avoids requiring cmocka. I should note that you can refer to the .travis.yml ( https://github.com/shlomif/fortune-mod/blob/master/.travis.yml ) for definitive specification of requirements (documentation can lie - running code less so: https://blog.codinghorror.com/learn-to-read-the-source-luke/ ). Anyway, I'd like to embed rinutils into a submodule similar to what I did in fc-solve so thanks for your suggestion. Stay tuned. |
@ernstki : hi! Please try again with the just published 3.2.0 version: https://github.com/shlomif/fortune-mod/releases/tag/fortune-mod-3.2.0 . Thanks! I also noticed that fc-solve checked out rinutils v0.2.0 by default which is rather old so I'm working on an update. Thanks again. |
…ion 3.2.0 September 24, 2020 (fortune-mod 3.2.0) Include rinutils in the source tarball / git checkout. ( shlomif/fortune-mod#44 ) September 16, 2020 (fortune-mod 3.0.0) Convert the documentation from troff to DocBook 5/XML using doclifter ( http://www.catb.org/~esr/doclifter/ ). The resultant troff man pages are included in the source release tarball. Fix formatting of several cookies. Minor build fixes (avoid rebuilding the symlinks). (NEWS truncated at 15 lines)
Hi, @shlomif. Thanks for having a look at this. It's on my "list" to have another go with the new release, but you know how those things go. Fortunately the new notifications system in GitHub won't let me forget!
Characterizing this as a "complaint" is isn't unfair; after all some amount of drive-by kvetching in a public issue tracker is to be expected, I think? At the time, I was focused on documenting the error messages rather than summing up the philosophical argument at the core of this issue. Maybe the philosophical argument would've been more to the point. However, given some time to reflect, it's this: The project should build from a release tarball or I understand what Atwood is getting at, in the context of a fast-moving API in a project that's in heavy development. But in this context, and with all due respect to you and Atwood, I'm not sure it's right to expect anyone to look inside a (hidden) CI configuration file to figure out how to satisfy essential build dependencies. Cheers, |
Hi @ernstki !
OK, thanks!
I see.
OK. I intend to fix such issues as they are reported in order to prevent future support requests: https://www.shlomifish.org/humour/fortunes/show.cgi?id=joel-remarkable-customer-service-3
I think Atwood's point was that the documentation tends to become unsynchronised with the actuak behaviour of the code because it isn't tested or run and cannot be easily tested. This applies to all software projects and from my experience even inline comments can become out of date. I am going to update the INSTALL file but note that while the
|
Regarding Do you agree? |
A more straightforward way of writing that would have been: "it is fair to characterize this issue as a 'complaint', however having a public issue tracker for an open-source project is essentially opening the door to (sometimes unhelpful) complaints from random strangers, so let's make the best of the situation." Delivered with a knowing wink and a nudge. It's the word "complain" from your comment to the Parallel mailing list that I fixated on. "Complain" has this connotation of just spewing negativity for negativity's sake; the complainer not having anything invested in coming up with a solution. And it was obviously weighing on your mind enough for you to have mentioned it in another forum. I do not want to heap any negativity on any of the open source maintainers of the world. You do enough thankless work as it is. So, I think we are in perfect agreement here. I do want this to be a productive discussion, and I do want to help make the project better for the next user in the same situation. It's going to take me a while to parse all the links in that blog post, but so far there are lots of good insights there. I know I wish my coworkers and collaborators would be more forthright with constructive criticism, without worrying about hurt feelings. |
On Thu, 08 Oct 2020 14:49:09 -0700 Kevin Ernst ***@***.***> wrote:
A more straightforward way of writing that would be: "it **is** fair to
characterize this issue as a 'complaint', however having a public issue
tracker for an open-source project is essentially opening the door to
(sometimes unhelpful) complaints from random strangers, so let's make the
best of the situation." Delivered with a knowing wink and a nudge.
I think we are in perfect agreement here. I do want this to be a productive
discussion, and I do want to help make the project better for the next user
in the same situation.
It's going to take me a while to parse al the links in that blog post, but so
far there are lots of good insights there. I know *I* wish my coworkers and
collaborators would be more forthright with constructive criticism, without
worrying about hurt feelings.
Thanks for the reply and clarification, Kevin! I guess we agree. Re
accepting criticism I am also reminded of this post by Ben Collins-Sussman
about programmer insecurity: http://blog.red-bean.com/sussman/?p=96 .
…--
Shlomi Fish
I can imagine the headline: “Sarah Michelle Gellar, who played
Buffy the vampire slayer, murdered in cold blood by child daughter.”
— https://www.shlomifish.org/humour/Summerschool-at-the-NSA/
Please reply to list if it's a mailing list post - https://shlom.in/reply .
|
I just tried to compile the new suggested version (3.2.0), but I am having the same issues.
So I went to rinutils dir and built it with cmake.
Any clue how to build this? |
Hi @johny-mnemonic !
As a copy of rinutils is bundled with the 3.2.0
Can you share more info about your OS? See: https://github.com/shlomif/writing-the-perfect-question
You should try to avoid compiling as root (only run |
Oh, OK. BTW: I am on the CentOS 8 where the fortune-mod package is missing in epel... Thanks for help! |
You're welcome. Thanks for the update. There may be a way to make the cmake warning less noisy and not as scary. I'd like to try to investigate it (see: https://www.joelonsoftware.com/2007/02/19/seven-steps-to-remarkable-customer-service/ ). |
On MacOS . Did a git clone, brew install cmake. But nice to mention this Issue in the error..
Question: what the heck are rinutils? And where to find these? However, I really agree with @ernstki and @johny-mnemonic This is 'just' a C-program? (Or is it a reference how a fortune should work?). Tried the tarball too: dependency hell 3.2?
|
Hi @BartKoppers !
The cmake on the git master HEAD now calls "git submodule" which should hopefully streamline the build procedure: be1e8e9 . I'll also clarify the message so one will know rinutils an be found at https://github.com/shlomif/rinutils .
The problem is that https://en.wikipedia.org/wiki/Don%27t_repeat_yourself is often at odds with KISS.
librecode is at https://github.com/rrthomas/recode . It will be prohibitive to bundle it, but I suppose I can make its use optional and/or clarify the error message.
Thanks! |
@shlomif You are doing terrific job here! Thanks Would you please share what would one miss when fortune-mod is compiled without recode library? |
Hi @johny-mnemonic !
From what I can tell from reading the source, what recode allows fortune-mod to do is to translate the fortune cookies from UTF-8 (which is the encoding in which they are stored) to the user's locale's native encoding (which may be different). If librecode is not used, they are emitted as is, which should be in UTF-8. I expect most end users to use a UTF-8 locale now, but practice is different from theory. 😉 Re Joel on Software, I have a collection of some of my favourite quotes of his with links to the original posts. The XML sources are converted to either XHTML or a fortune-compatible format. |
Update: Some other issues with building fortune-mod should have been resolved in the just published 3.4.0 release (which also has some new quotes). I'd appreciate if you can try building it. |
I'm sorry, but I'm starting to wonder what you'd like us to test (and how)?
Did a fresh mkdir build; cd build Well, oke. Recode is missing. So, I looked at and cloned https://github.com/rrthomas/recode. And now? TBH, I am starting to get a bit annoyed here. |
@BartKoppers : you likely do not need recode, and you should install it from the source tarball if you still want it. Anyway, I rephrased the warning in 74dd15f . TBH, I am a little annoyed as well, but I guess this is "shrinkwrap" software for you. |
@BartKoppers I don't think it is fair blaming @shlomif for recode library not having clear install instructions visible in github mate. |
@shlomif Haha - shrinkwrap , really funny! Thanks for all your time and efforts here. It compiles now, so a happy 'shrinkwrap user' here. PS: @johny-mnemonic don't be silly - I never blamed anyone for the recode project, let alone @shlomif |
…on 3.4.0 November 8, 2020 (fortune-mod 3.4.0) Made the compile-time dependency on lib-recode optional ; handle the missing librinutils better. ( shlomif/fortune-mod#44 ) Add some quotes (Thanks in part to @RashadSaleh : shlomif/fortune-mod#43 )
@BartKoppers : Joel notes that shrinkwrap can be "shareware or open source or GNU or whatever" which (I believe) is the case for fortune-mod. The decision to use recode was present in the pre-cmake f-mod 1.99.1 , and while I originally planned to find an alternative, it was adopted by rrthomas. Using it is now a build time option. I'm looking forward for your contributions, but I have enough FOSS/free-culture work to meanwhile do. |
Hi everyone! Is everyone happy now with the build process user-experience of the latest release source tarballs and the one from the git clone? May I close this ticket? Happy thanksgiving/black friday/etc. in case that's your thing. |
https://build.opensuse.org/request/show/851853 by user Vogtinator + dimstar_suse - Update to 0.8.0: * Enhance and expand the README. https://lists.debian.org/debian-devel-games/2020/03/msg00008.html - Update to 0.6.0: * Made the WITH_TEST_SUITE option off by default to avoid depending on cmocka ( shlomif/fortune-mod#44 ) * Remove unused code and other cleanups. (forwarded request 851852 from Vogtinator)
Closing for now to avoid clutter. I can reopen it if necessary. |
The notification from GitHub about this has been sitting in my inbox (a.k.a., my to-do list) for some weeks now as a reminder, I just haven't had a chance to try to build it again in our environment. I think we're probably good though, and thanks for your efforts, @shlomif! |
The errors below apply to macOS 10.14 (Mojave) using MacPorts and Debian 10.2 (Buster).
Attempting to build
master
from a Git clone, I quickly came upon #5, so I downloaded and unpacked the 3.0.0 release tarball instead.Attempting to build in the usual way with CMake, I received the error message:
I then
git clone
d Rinutils into the fortune-mod directory and attempted to build it in the usual CMake way, but got this error:Having seen #5 from the fortune-mod repo, I had some idea how to proceed here, so I downloaded the rinutils 0.4.1 release tarball, unpacked it, and attempted to build that in the usual CMake way. However, then I ran into this:
At this point, I'm sorry to say, I gave up. Neither Rinutils nor fortune-mod mentioned the cmocka dependency, and I was able to get the old tarball from '97 working with only the basic kit and minor changes to the Makefile.
I realize that last part is more or less a
rinutils problem, and probably should be tracked in rinutils' issue trackersimple matter ofapt install libmocka-dev
orport install cmocka
and then try again. But with all due respect, wouldn't it be prudent to try to incorporate whatever bits and bobs you need from the Rinutils repo into the fortune-mod one (maybe as a submodule), so that it can build in the expected way withgit clone …; mkdir build; cd build; cmake ..
?The text was updated successfully, but these errors were encountered: