* bug#39999: make install fails on mac (Catilina, Guile-3.0.1) @ 2020-03-09 13:29 Massimiliano Gubinelli 2020-03-11 11:11 ` Ludovic Courtès ` (3 more replies) 0 siblings, 4 replies; 9+ messages in thread From: Massimiliano Gubinelli @ 2020-03-09 13:29 UTC (permalink / raw) To: 39999 Hi, make install on the last Guile 3.0.1 fails on my Mac (Catilina) with the following message ../build-aux/install-sh -c -d '/Users/mgubi/t/guile3-usr/include/guile/3.0/libguile' /usr/bin/install -c -m 644 version.h scmconfig.h '/Users/mgubi/t/guile3-usr/include/guile/3.0/libguile' /Library/Developer/CommandLineTools/usr/bin/make install-data-hook /usr/bin/install -c -m 644 libguile-3.0-gdb.scm /Users/mgubi/t/guile3-usr/lib/libguile-3.0.a-gdb.scm sed: -e: No such file or directory make[5]: *** [install-data-hook] Error 1 make[4]: *** [install-data-am] Error 2 make[3]: *** [install-am] Error 2 make[2]: *** [install] Error 2 make[1]: *** [install-recursive] Error 1 make: *** [install] Error 2 I found that the following change to libguile/Makefile go around the problem INSTANTIATE = \ $(SED) -i '' -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \ -e 's,[@]pkglibdir[@],$(pkglibdir),g' \ -e 's,[@]GUILE_EFFECTIVE_VERSION[@],$(GUILE_EFFECTIVE_VERSION),g’ HTH, Best Massimiliano Gubinelli ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#39999: make install fails on mac (Catilina, Guile-3.0.1) 2020-03-09 13:29 bug#39999: make install fails on mac (Catilina, Guile-3.0.1) Massimiliano Gubinelli @ 2020-03-11 11:11 ` Ludovic Courtès 2020-03-11 11:20 ` Massimiliano Gubinelli 2020-04-29 18:22 ` bug#39999: MacOS Catalina with sed W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language ` (2 subsequent siblings) 3 siblings, 1 reply; 9+ messages in thread From: Ludovic Courtès @ 2020-03-11 11:11 UTC (permalink / raw) To: Massimiliano Gubinelli; +Cc: 39999 Hi, Massimiliano Gubinelli <m.gubinelli@gmail.com> skribis: > make install on the last Guile 3.0.1 fails on my Mac (Catilina) with the following message > > > ../build-aux/install-sh -c -d '/Users/mgubi/t/guile3-usr/include/guile/3.0/libguile' > /usr/bin/install -c -m 644 version.h scmconfig.h '/Users/mgubi/t/guile3-usr/include/guile/3.0/libguile' > /Library/Developer/CommandLineTools/usr/bin/make install-data-hook > /usr/bin/install -c -m 644 libguile-3.0-gdb.scm /Users/mgubi/t/guile3-usr/lib/libguile-3.0.a-gdb.scm > sed: -e: No such file or directory > make[5]: *** [install-data-hook] Error 1 > make[4]: *** [install-data-am] Error 2 > make[3]: *** [install-am] Error 2 > make[2]: *** [install] Error 2 > make[1]: *** [install-recursive] Error 1 > make: *** [install] Error 2 I suppose the ‘sed’ invocation in the INSTANTIATE variable in Makefile assumes we’re using GNU sed, which is probably not the case on your machine. > I found that the following change to libguile/Makefile go around the problem > > INSTANTIATE = \ > $(SED) -i '' -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \ > -e 's,[@]pkglibdir[@],$(pkglibdir),g' \ > -e 's,[@]GUILE_EFFECTIVE_VERSION[@],$(GUILE_EFFECTIVE_VERSION),g’ What if you move ‘-i’ last, and without ''? That should expand to something like: sed -e … -e … -e … -i libguile-3.0-gdb.scm Thanks, Ludo’. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#39999: make install fails on mac (Catilina, Guile-3.0.1) 2020-03-11 11:11 ` Ludovic Courtès @ 2020-03-11 11:20 ` Massimiliano Gubinelli 2020-03-11 14:04 ` Ludovic Courtès 0 siblings, 1 reply; 9+ messages in thread From: Massimiliano Gubinelli @ 2020-03-11 11:20 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 39999 Hi Ludovic, the problem seems to be the multiple -e together with -i. Example: Horst:clean mgubi$ cat - > test pippo Horst:clean mgubi$ sed -i -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' test sed: -e: No such file or directory Horst:clean mgubi$ sed -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' test pluto Horst:clean mgubi$ sed -i -e 's,pippo,pluto,g' test Horst:clean mgubi$ The first command give error while the other work. If I put -i at the end I get Horst:clean mgubi$ sed -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' -i test sed: -i may not be used with stdin Is ok to do Horst:clean mgubi$ sed -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' -i ‘' test Best, Max > On 11. Mar 2020, at 12:11, Ludovic Courtès <ludo@gnu.org> wrote: > > Hi, > > Massimiliano Gubinelli <m.gubinelli@gmail.com> skribis: > >> make install on the last Guile 3.0.1 fails on my Mac (Catilina) with the following message >> >> >> ../build-aux/install-sh -c -d '/Users/mgubi/t/guile3-usr/include/guile/3.0/libguile' >> /usr/bin/install -c -m 644 version.h scmconfig.h '/Users/mgubi/t/guile3-usr/include/guile/3.0/libguile' >> /Library/Developer/CommandLineTools/usr/bin/make install-data-hook >> /usr/bin/install -c -m 644 libguile-3.0-gdb.scm /Users/mgubi/t/guile3-usr/lib/libguile-3.0.a-gdb.scm >> sed: -e: No such file or directory >> make[5]: *** [install-data-hook] Error 1 >> make[4]: *** [install-data-am] Error 2 >> make[3]: *** [install-am] Error 2 >> make[2]: *** [install] Error 2 >> make[1]: *** [install-recursive] Error 1 >> make: *** [install] Error 2 > > I suppose the ‘sed’ invocation in the INSTANTIATE variable in Makefile > assumes we’re using GNU sed, which is probably not the case on your > machine. > >> I found that the following change to libguile/Makefile go around the problem >> >> INSTANTIATE = \ >> $(SED) -i '' -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \ >> -e 's,[@]pkglibdir[@],$(pkglibdir),g' \ >> -e 's,[@]GUILE_EFFECTIVE_VERSION[@],$(GUILE_EFFECTIVE_VERSION),g’ > > What if you move ‘-i’ last, and without ''? That should expand to > something like: > > sed -e … -e … -e … -i libguile-3.0-gdb.scm > > Thanks, > Ludo’. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#39999: make install fails on mac (Catilina, Guile-3.0.1) 2020-03-11 11:20 ` Massimiliano Gubinelli @ 2020-03-11 14:04 ` Ludovic Courtès 0 siblings, 0 replies; 9+ messages in thread From: Ludovic Courtès @ 2020-03-11 14:04 UTC (permalink / raw) To: Massimiliano Gubinelli; +Cc: 39999 Hi Massimiliano, Massimiliano Gubinelli <m.gubinelli@gmail.com> skribis: > Is ok to do > > Horst:clean mgubi$ sed -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' -e 's,pippo,pluto,g' -i ‘' test Does it modify the file called ‘test’ in this case? Thanks for testing! Ludo’. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#39999: MacOS Catalina with sed 2020-03-09 13:29 bug#39999: make install fails on mac (Catilina, Guile-3.0.1) Massimiliano Gubinelli 2020-03-11 11:11 ` Ludovic Courtès @ 2020-04-29 18:22 ` W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language 2020-04-29 19:30 ` bug#39999: BSD sed vs Gnu sed W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language 2020-04-30 0:37 ` bug#39999: sed -i non-POSIX wlharvey4--- via Bug reports for GUILE, GNU's Ubiquitous Extension Language 3 siblings, 0 replies; 9+ messages in thread From: W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language @ 2020-04-29 18:22 UTC (permalink / raw) To: 39999 MacOS uses BSD sed. When the -i option to sed is used, it has a mandatory argument, which should be a zero length string to edit the file in-place. Gnu sed’s -i option uses an optional argument, rather than a mandatory argument, which if not present allows the file to be edited in-place. Adding a zero-length string might cause problems. Configure needs to add a zero length quote when compiling using BSD sed, and nothing when compiling using Gnu sed, or avoid the whole problem by making a backup using a prefix, in which case both use the same syntax. wlh ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#39999: BSD sed vs Gnu sed 2020-03-09 13:29 bug#39999: make install fails on mac (Catilina, Guile-3.0.1) Massimiliano Gubinelli 2020-03-11 11:11 ` Ludovic Courtès 2020-04-29 18:22 ` bug#39999: MacOS Catalina with sed W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language @ 2020-04-29 19:30 ` W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language 2020-04-30 0:04 ` Greg Troxel 2020-04-30 0:37 ` bug#39999: sed -i non-POSIX wlharvey4--- via Bug reports for GUILE, GNU's Ubiquitous Extension Language 3 siblings, 1 reply; 9+ messages in thread From: W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language @ 2020-04-29 19:30 UTC (permalink / raw) To: 39999 Sorry; my explanation above is not correct. What I meant to say is that to edit a file in place WITHOUT CREATING a backup file, BSD sed’s -i option requires a zero-length string as a mandatory argument, while Gnu sed’s -i option does not take any argument. If a backup file is wanted, then their option -i syntax is identical. The INSTANTIATE macro as written is not including any argument to sed’s -i option, meaning that no backup file is wanted. Therefore, a very simply solution to this problem is to make a backup file, then delete it. Both sed versions would work correctly. A more complicated solution is to determine which version of sed is being used, and change the INSTANTIATE macro to use the correct syntax. Gnu sed has a version option (—version), but BSD sed does not (it throws an error when either -v or —version are used). wlh ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#39999: BSD sed vs Gnu sed 2020-04-29 19:30 ` bug#39999: BSD sed vs Gnu sed W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language @ 2020-04-30 0:04 ` Greg Troxel 0 siblings, 0 replies; 9+ messages in thread From: Greg Troxel @ 2020-04-30 0:04 UTC (permalink / raw) To: 39999 "W. Lincoln Harvey" via "Bug reports for GUILE, GNU's Ubiquitous Extension Language" <bug-guile@gnu.org> writes: > backup file, BSD sed’s -i option requires a zero-length string as a > mandatory argument, while Gnu sed’s -i option does not take any > argument. In cases like this, it is good to read the POSIX specs. However, you will find that -i is not specified at all. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#39999: sed -i non-POSIX 2020-03-09 13:29 bug#39999: make install fails on mac (Catilina, Guile-3.0.1) Massimiliano Gubinelli ` (2 preceding siblings ...) 2020-04-29 19:30 ` bug#39999: BSD sed vs Gnu sed W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language @ 2020-04-30 0:37 ` wlharvey4--- via Bug reports for GUILE, GNU's Ubiquitous Extension Language 2020-05-01 14:37 ` Greg Troxel 3 siblings, 1 reply; 9+ messages in thread From: wlharvey4--- via Bug reports for GUILE, GNU's Ubiquitous Extension Language @ 2020-04-30 0:37 UTC (permalink / raw) To: 39999 [-- Attachment #1: Type: text/plain, Size: 367 bytes --] Greg, Good point. The BSD sed man page says: "The -E, -a and -i options are non-standard FreeBSD extensions and may not be available on other operating systems." So perhaps a better solution is to not use the -i option at all and be POSIX compliant? Informally looking through some of the code, this was the only use of the -i option that I found. wlh [-- Attachment #2: Type: text/html, Size: 1949 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#39999: sed -i non-POSIX 2020-04-30 0:37 ` bug#39999: sed -i non-POSIX wlharvey4--- via Bug reports for GUILE, GNU's Ubiquitous Extension Language @ 2020-05-01 14:37 ` Greg Troxel 0 siblings, 0 replies; 9+ messages in thread From: Greg Troxel @ 2020-05-01 14:37 UTC (permalink / raw) To: 39999 wlharvey4--- via "Bug reports for GUILE, GNU's Ubiquitous Extension Language" <bug-guile@gnu.org> writes: > Greg, > > Good point. The BSD sed man page says: > > "The -E, -a and -i options are non-standard FreeBSD extensions and may not be available on other operating systems." > > So perhaps a better solution is to not use the -i option at all and be POSIX compliant? > > Informally looking through some of the code, this was the only use of the -i option that I found. If that is at all reasonable, then I think it's the best thing to do. FWIW, the saem text about -i being a FreeBSD extension appears in the NetBSD man page. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-05-01 14:37 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-03-09 13:29 bug#39999: make install fails on mac (Catilina, Guile-3.0.1) Massimiliano Gubinelli 2020-03-11 11:11 ` Ludovic Courtès 2020-03-11 11:20 ` Massimiliano Gubinelli 2020-03-11 14:04 ` Ludovic Courtès 2020-04-29 18:22 ` bug#39999: MacOS Catalina with sed W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language 2020-04-29 19:30 ` bug#39999: BSD sed vs Gnu sed W. Lincoln Harvey via Bug reports for GUILE, GNU's Ubiquitous Extension Language 2020-04-30 0:04 ` Greg Troxel 2020-04-30 0:37 ` bug#39999: sed -i non-POSIX wlharvey4--- via Bug reports for GUILE, GNU's Ubiquitous Extension Language 2020-05-01 14:37 ` Greg Troxel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).