View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005604 | GNUnet | documentation | public | 2019-02-23 12:57 | 2019-02-28 11:17 |
Reporter | schanzen | Assigned To | schanzen | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
OS | macOS / BSD | ||||
Product Version | Git master | ||||
Target Version | 0.11.0 | Fixed in Version | 0.11.0 | ||
Summary | 0005604: Make in handbook fails | ||||
Description | Building the handbook fails | ||||
Steps To Reproduce | $ make MAKEINFO gnunet.info gnunet.texi:5: warning: unrecognized encoding name `UTF-8'. sed: 1: "gversion.texi": extra characters at the end of g command make: *** [version.texi/replacement] Error 1 $ make html MAKEINFO gnunet.html makeinfo: unrecognized option `--css-ref=manual.css' Try `makeinfo --help' for more information. make: *** [gnunet.html] Error 1 | ||||
Additional Information | makeinfo --version makeinfo (GNU texinfo) 4.8 Copyright (C) 2004 Free Software Foundation, Inc. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING. | ||||
Tags | No tags attached. | ||||
|
> gnunet.texi:5: warning: unrecognized encoding name `UTF-8'. should be ignored, i can build it with this warning |
|
the css one could mean you needs to be looked into |
|
which make command was run? |
|
The first error is related to this issue: https://myshittycode.com/2014/07/24/os-x-sed-extra-characters-at-the-end-of-l-command-error/ I am not touching this for now as I do not understand why it is built in this way. Why is there a revert for the info in gversion.texi? Also: This build does not work on macOS specifically as a lot of the makeinfo does not work for me. E.g. --pdf. And configure does not detect this. The sed is not portable becuase of "-i" (Although I do not think this is really what should happen anyway). The "make all" does nothing (?). |
|
I suggest we disable the build of documentation for not for macOS / darwin. However, I am pretty sure this also breaks for other BSDs/Unixes. |
|
An alternative for now (I'm positive to solve this though) would be to rely on texi2mdoc and use the rule I wrote for this to generate the mdoc outputs. this is release time and packaging stuff though.. ideally Christian has texi2mdoc installed at release time and we include this output in the release tarball. |
|
For what it's worth, I have texinfo 4.8 and did not hit any issue in normal make. I get the warning about UTF-8 being unrecognized encoding name, but that's just a warning that can't be fixed in an upwards compatible way, and nothing else. |
|
I can reproduce the lack of css-ref=manual.css |
|
I have base texinfo 4.8 and additionally texinfo 6.5 from pkgsrc (for texi2pdf) |
|
For the utf-8 warning: Does makeinfo --help display "enable-encoding" as one option? We should be using a comparable texinfo, it exists here in my 4.8 based on an import from GNU. |
|
Part one (--css-ref) should be fixed now. |
|
Part two... wtf. I though I got rid of the gversion rules. I really have no idea why it's there. I'll need to look into this tomorrow. Past self: next time make a more useful comment. |
|
Some of the standard targets need to be made portable. For pdf: texi2dvi here can't use option --output with more than one argument, but this only happens because texi2dvi is used and not texi2pdf. |
|
please get back to me with feedback if this resolves the original bug ("normal" make and make html, not known to be broken makerules right now (pdf, ps,...). |
|
On my system here all targets (html, info, pdf) now work (with the @geq elimination). |
|
Why does this break texi2pdf? I'm just curious because this is 1:1 what later versions of texinfo use for geq etc. |
|
As I mentioned in https://bugs.gnunet.org/view.php?id=5604#c13963, sed -i is not portable. For Linux: $ sed -i "s/GPACKAGE_VERSION/$(PACKAGE_VERSION)/g" gversion.texi For macOS: $ sed -i '' "s/GPACKAGE_VERSION/$(PACKAGE_VERSION)/g" gversion.texi The -i swtich in both cases actually has an argument. The "extension". Only in Linux can you omit the extension. From the macOS man page: -i extension Edit files in-place, saving backups with the specified extension. If a zero-length extension is given, no backup will be saved. It is not recommended to give a zero-length extension when in-place editing files, as you risk corruption or partial content in situations where disk space is exhausted, etc. Now, unfortunately, the GNU sed uses an odd way of handling the optional agument: You add it directly to the -i, e.g.: $ sed -i'' "s/GPACKAGE_VERSION/$(PACKAGE_VERSION)/g" gversion.texi Hence, sed -i is not portable. |
|
Btw sed -i used in other places as well, e.g. doc/tutorial |
|
But why does this still happen for you? I have pushed patches last night to no longer use the sed using rules (I still have to find out why I wrote them in the first place!). |
|
> Btw sed -i used in other places as well, e.g. doc/tutorial Can you tell me if outside of the doc folder anything related to sed throws an error for you? |
|
Ah, yes: Well it still happens if I "make" or "make all". "make html" and "make pdf" now works |
|
Okay, can you append an log? I know where in doc I still need to fix rules. |
|
The log wont help you much: make MAKEINFO gnunet.info sed: 1: "gversion.texi": extra characters at the end of g command make: *** [version.texi/replacement] Error 1 GNUnet currently FTBFS but I presume it will also fail to build during a regular make in / |
|
Okay, this happens after I removed the rule in doc/handbook/Makefile.am as a dependency of the rule "all"? |
|
Question related to awk, just in case: What kind of awk does macOS use? Does this awk follow standards? |
|
The rules with sed (version.texi/replacement and the other one) only exist as a precondition for TEXI2MDOC_GENERATION so that "make gnunet-tutorial.7" could be run on its own without texinfo. Or something similar related to texi2mdoc. I'll fix this today. |
|
There are no standards to these kinds of programs. macOS is using a version which is probably derived from older UNIX versions and not the GNU version. |
|
And isnt "make" and "make all" synonimous? |
|
the standard question: I mean if it does anything out of the ordinary like Gnu sed. I'm looking at the possibilities here how to fix this. |
|
wrt "-i" I know what you mean now: https://unix.stackexchange.com/questions/92895/how-can-i-achieve-portability-with-sed-i-in-place-editing NetBSD base sed supports "-i". |
|
The question was rather stupid, but I had forgotten about the differences and what -i does. My last 2 patches have fixed every ocurence of sed -i in .am files. |
|
I can confirm this works again. |
|
Okay. Ticket resolved? I'll make a note about portability, we should emphasize portable solutions over non-standard ones as long as the portable ones are, well, portable. |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-02-23 12:57 | schanzen | New Issue | |
2019-02-23 13:12 | nikita | Note Added: 0013960 | |
2019-02-23 13:13 | nikita | Note Added: 0013961 | |
2019-02-23 13:14 | nikita | Note Added: 0013962 | |
2019-02-23 13:25 | nikita | Assigned To | => Christian Grothoff |
2019-02-23 13:25 | nikita | Status | new => assigned |
2019-02-23 15:02 | schanzen | Note Added: 0013963 | |
2019-02-23 15:07 | schanzen | Note Added: 0013964 | |
2019-02-23 19:17 | schanzen | OS | => macOS / BSD |
2019-02-23 23:23 | nikita | Assigned To | Christian Grothoff => nikita |
2019-02-23 23:36 | nikita | Note Added: 0013965 | |
2019-02-23 23:37 | nikita | Note Added: 0013966 | |
2019-02-23 23:38 | nikita | Status | assigned => confirmed |
2019-02-23 23:38 | nikita | Note Added: 0013967 | |
2019-02-23 23:40 | nikita | Note Added: 0013968 | |
2019-02-23 23:42 | nikita | Note Added: 0013969 | |
2019-02-23 23:56 | nikita | Note Added: 0013970 | |
2019-02-23 23:58 | nikita | Note Added: 0013971 | |
2019-02-24 00:04 | nikita | Note Added: 0013972 | |
2019-02-24 00:40 | nikita | Note Added: 0013973 | |
2019-02-24 00:40 | nikita | Assigned To | nikita => schanzen |
2019-02-24 08:32 | Christian Grothoff | Note Added: 0013980 | |
2019-02-24 10:30 | nikita | Note Added: 0013981 | |
2019-02-24 10:33 | schanzen | Note Added: 0013983 | |
2019-02-24 10:33 | schanzen | Note Added: 0013984 | |
2019-02-24 10:35 | nikita | Note Added: 0013985 | |
2019-02-24 10:38 | nikita | Note Added: 0013986 | |
2019-02-24 10:39 | schanzen | Note Added: 0013987 | |
2019-02-24 10:40 | schanzen | Note Edited: 0013987 | |
2019-02-24 10:41 | nikita | Note Added: 0013988 | |
2019-02-24 10:46 | schanzen | Note Added: 0013990 | |
2019-02-24 10:48 | nikita | Note Added: 0013991 | |
2019-02-24 10:48 | nikita | Assigned To | schanzen => nikita |
2019-02-24 10:51 | nikita | Note Added: 0013992 | |
2019-02-24 10:57 | nikita | Note Added: 0013993 | |
2019-02-24 10:59 | schanzen | Note Added: 0013994 | |
2019-02-24 11:00 | schanzen | Note Added: 0013995 | |
2019-02-24 11:03 | nikita | Note Added: 0013996 | |
2019-02-24 11:08 | nikita | Note Added: 0013997 | |
2019-02-24 11:21 | nikita | Note Added: 0013999 | |
2019-02-24 11:22 | schanzen | Note Added: 0014000 | |
2019-02-24 11:32 | nikita | Note Added: 0014001 | |
2019-02-24 11:55 | nikita | Assigned To | nikita => schanzen |
2019-02-24 12:06 | schanzen | Status | confirmed => resolved |
2019-02-24 12:06 | schanzen | Resolution | open => fixed |
2019-02-24 12:06 | schanzen | Fixed in Version | => 0.11.0 |
2019-02-28 11:17 | Christian Grothoff | Status | resolved => closed |