GNOME Bugzilla – Bug 325574
Can't build evo 2.5.4, sed problem
Last modified: 2013-09-13 00:54:26 UTC
Making all in shell make[2]: Entering directory `/home/evandro/cvs/evolution-2.5.4/shell' sed -e 's|\@BINDIR_IN_SERVER_FILE\@|/opt/gnome2//bin|'\ -e 's|\@PRIVLIBEXECDIR_IN_SERVER_FILE\@|/opt/gnome2//libexec/evolution/2.6|'\ -e 's|\@COMPONENTDIR_IN_SERVER_FILE\@|/opt/gnome2//lib/evolution/2.6/components|'\ -e 's|\@VERSION\@|2.6|' \ -e 's|\@EXEEXT\@||' \ -e 's|\@SOEXT\@|.so|' \ -e 's|\@INTERFACE_VERSION\@|2.6|' GNOME_Evolution_Shell.server.in.in > GNOME_Evolution_Shell.server.in sed: -e expression #1, char 46: unknown option to `s' make[2]: *** [GNOME_Evolution_Shell.server.in] Error 1 rm GNOME_Evolution_Shell.server.in make[2]: Leaving directory `/home/evandro/cvs/evolution-2.5.4/shell' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/evandro/cvs/evolution-2.5.4' make: *** [all] Error 2 evandro@debian:~/cvs/evolution-2.5.4$ System is Debian etch. GNOME built with jhbuild (CVS evo also doesn't build). 2.5.3 builds.
Other dirs don't build as well.
Hmm...Builds for me. You probably have done that already but can you please confirm if your sources are up-to-date. Anybody else on Debian facing the issue ?
Tried a clean CVS checkout to no avail. Then I started playing with older versions to find where the problem was introduced (like I said, 2.5.3 works but 2.5.4 doesn't). I did some more testing. Apparently evo checkout with -D 20051217 is the latest one that works, -D 20051218 doesn't (also a clean checkout). I suspect the problem is related to the following commit: 2005-12-17 Tor Lillqvist <tml@novell.com> * configure.in: Include libedataserver-$EDS_PACKAGE in the requirement list for E_WIDGETS. Set bindir_in_server_file, privlibexecdir_in_server_file and componentdir_in_server_file. On Unix, they are the same as bindir, privlibexecdir and componentdir respectively. On Win32, use paths relative from lib/bonobo/servers. AC_SUBST these variables. * server.mk: Substitute the values above new variables for the corresponding @..._IN_SERVER_FILE@ strings in the .server.in.in files. * addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in * calendar/gui/GNOME_Evolution_Calendar.server.in.in * calendar/gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in.in * mail/GNOME_Evolution_Mail.server.in.in * shell/GNOME_Evolution_Shell.server.in.in * shell/GNOME_Evolution_Test.server.in.in: Correspondingly, use the @..._IN_SERVER_FILE@ strings. * evolution-plugin.pc.in * evolution-shell.pc.in: Use @privsolibdir@ to set privlibdir.
It does the same on Ubuntu, changing "server.mk" to be a one liner instead of using "\" chars workaround the issue
Created attachment 56766 [details] [review] fixes the build The issue seems to be that there is no space before the "\", that patches fixes the issue
confirming; setting priority, target, blabla :-)
Patch applied. Sorry for breaking server.mk. Any idea why this was required on Debian (and Ubuntu)? Do you use a significantly different shell version or something?
That is due to the make version, it works with 3.80 but not with the 3.81 candidate packaged by Debian/Ubuntu. The "\" doesn't create an espace with the new version so everything is attached "sed -e '....'-e...."
*** Bug 324478 has been marked as a duplicate of this bug. ***