unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Latest configure.in change breaks building
@ 2007-01-27 19:54 Sascha Wilde
  2007-01-28  9:48 ` Jan Djärv
  0 siblings, 1 reply; 15+ messages in thread
From: Sascha Wilde @ 2007-01-27 19:54 UTC (permalink / raw)
  To: Jan Djärv; +Cc: emacs-devel

Hi *,

the latest change on configure.in:

2007-01-26  Jan Djärv  <jan.h.d@swipnet.se>

	* configure.in: Add check for libXft.

breaks the build process for me (CVS Head on GNU/Linux with GTK+
frontend):

The new configure tests are successful:
  checking for xft >= 0.13.0... yes
  checking XFT_CFLAGS... -I/usr/X11R6/include -I/usr/include/freetype2
  checking XFT_LIBS... -L//lib -L/usr/X11R6/lib -lXft -lXrender -lX11 -lXext -lfontconfig -lfreetype -lz
  checking X11/Xft/Xft.h usability... yes
  checking X11/Xft/Xft.h presence... yes
  checking for X11/Xft/Xft.h... yes
  checking for XftFontOpen in -lXft... yes

But when building various libs seem to be missing when linking emacs:

  gcc -nostdlib `./prefix-args -Xlinker  -R/usr/X11R6/lib -z nocombreloc` -Wl,-znocombreloc -L/usr/X11R6/lib -o temacs pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o dispnew.o frame.o scroll.o xdisp.o xmenu.o window.o charset.o coding.o category.o ccl.o cm.o term.o xfaces.o xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o gtkutil.o emacs.o keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o print.o lread.o abbrev.o syntax.o unexelf.o bytecode.o process.o callproc.o region-cache.o sound.o atimer.o doprnt.o strftime.o intervals.o textprop.o composite.o md5.o    terminfo.o lastfile.o   vm-limit.o   mktime.o    -L/usr/X11R6/lib -L/usr/local/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lpthread -lSM -lICE -ltiff -ljpeg -lpng -lz -lm -lungif -lXpm -L  -lncurses   -lm -lgcc -lc -lgcc /usr/lib/crtn.o 
  dispnew.o: In function `init_display':
  /usr/local/src/wilde/emacs-hg-work/src/dispnew.c:6782: undefined reference to `tgetent'
  cm.o: In function `cmcostinit':
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:158: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:159: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:160: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:161: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:162: undefined reference to `tputs'
  cm.o:/usr/local/src/wilde/emacs-hg-work/src/cm.c:163: more undefined references to `tputs' follow
  cm.o: In function `cmcostinit':
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:177: undefined reference to `tgoto'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:177: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:176: undefined reference to `tgoto'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:176: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:178: undefined reference to `tgoto'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:178: undefined reference to `tputs'
  cm.o: In function `calccost':
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:227: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:282: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:309: undefined reference to `tputs'
  cm.o: In function `cmgoto':
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:410: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:391: undefined reference to `tgoto'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:393: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:396: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:415: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:391: undefined reference to `tgoto'
  /usr/local/src/wilde/emacs-hg-work/src/cm.c:405: undefined reference to `tputs'
  term.o: In function `term_init':
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2359: undefined reference to `tgetent'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2394: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2395: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2396: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2397: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2398: undefined reference to `tgetstr'
  term.o:/usr/local/src/wilde/emacs-hg-work/src/term.c:2399: more undefined references to `tgetstr' follow
  term.o: In function `term_init':
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2432: undefined reference to `tgetflag'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2438: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2439: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2440: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2441: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2442: undefined reference to `tgetstr'
  term.o:/usr/local/src/wilde/emacs-hg-work/src/term.c:2443: more undefined references to `tgetstr' follow
  term.o: In function `term_init':
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2484: undefined reference to `tgetnum'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2485: undefined reference to `tgetnum'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2487: undefined reference to `tgetnum'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2494: undefined reference to `tgetflag'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2498: undefined reference to `tgetflag'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2499: undefined reference to `tgetflag'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2500: undefined reference to `tgetflag'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2501: undefined reference to `tgetflag'
  term.o:/usr/local/src/wilde/emacs-hg-work/src/term.c:2502: more undefined references to `tgetflag' follow
  term.o: In function `term_init':
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2435: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2437: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2529: undefined reference to `tgetnum'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2530: undefined reference to `tgetnum'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2560: undefined reference to `tgetnum'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2565: undefined reference to `tgetnum'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2523: undefined reference to `tgetnum'
  term.o:/usr/local/src/wilde/emacs-hg-work/src/term.c:2518: more undefined references to `tgetnum' follow
  term.o: In function `term_init':
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2425: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2480: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2481: undefined reference to `tgetstr'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2582: undefined reference to `tgetstr'
  term.o: In function `term_get_fkeys_1':
  /usr/local/src/wilde/emacs-hg-work/src/term.c:1533: undefined reference to `tgetstr'
  term.o:/usr/local/src/wilde/emacs-hg-work/src/term.c:1546: more undefined references to `tgetstr' follow
  term.o: In function `turn_off_face':
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2114: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2105: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2089: undefined reference to `tputs'
  /usr/local/src/wilde/emacs-hg-work/src/term.c:2102: undefined reference to `tputs'
  term.o: In function `per_line_cost':
  /usr/local/src/wilde/emacs-hg-work/src/term.c:1252: undefined reference to `tputs'
  term.o:/usr/local/src/wilde/emacs-hg-work/src/term.c:1255: more undefined references to `tputs' follow
  gtkutil.o: In function `xg_initialize':
  /usr/local/src/wilde/emacs-hg-work/src/gtkutil.c:3943: undefined reference to `XftInit'
  terminfo.o: In function `tparam':
  /usr/local/src/wilde/emacs-hg-work/src/terminfo.c:47: undefined reference to `tparm'
  collect2: ld returned 1 exit status
  make[2]: *** [temacs] Error 1
  make[2]: Leaving directory `/usr/local/src/wilde/emacs-hg-work/src'
  make[1]: *** [bootstrap-build] Error 2
  make[1]: Leaving directory `/usr/local/src/wilde/emacs-hg-work'
  make: *** [bootfast] Error 2

After removing the change and rebuilding configure building works
again...

cheers
sascha
-- 
Sascha Wilde : "Der Nicht-Denkende glaubt, dass niemand denkt,
             : der Denkende weiss es!"
             : (Gabriel Laub)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Latest configure.in change breaks building
  2007-01-27 19:54 Latest configure.in change breaks building Sascha Wilde
@ 2007-01-28  9:48 ` Jan Djärv
  2007-01-28 14:28   ` Pathnames with two (or more) slashes in Makefile.c (was: Latest configure.in change breaks building) Sascha Wilde
  0 siblings, 1 reply; 15+ messages in thread
From: Jan Djärv @ 2007-01-28  9:48 UTC (permalink / raw)
  To: Sascha Wilde; +Cc: emacs-devel



Sascha Wilde skrev:
> Hi *,
> 
> the latest change on configure.in:
> 
> 2007-01-26  Jan Djärv  <jan.h.d@swipnet.se>
> 
> * configure.in: Add check for libXft.
> 
> breaks the build process for me (CVS Head on GNU/Linux with GTK+ frontend):
> 
> 
> The new configure tests are successful: checking for xft >= 0.13.0... yes 
> checking XFT_CFLAGS... -I/usr/X11R6/include -I/usr/include/freetype2 
> checking XFT_LIBS... -L//lib -L/usr/X11R6/lib -lXft -lXrender -lX11 -lXext
> -lfontconfig -lfreetype -lz

What is //lib?  It looks broken.

> checking X11/Xft/Xft.h usability... yes checking X11/Xft/Xft.h presence...
> yes checking for X11/Xft/Xft.h... yes checking for XftFontOpen in -lXft...
> yes
> 
> But when building various libs seem to be missing when linking emacs:
> 
> gcc -nostdlib `./prefix-args -Xlinker  -R/usr/X11R6/lib -z nocombreloc`
> -Wl,-znocombreloc -L/usr/X11R6/lib -o temacs pre-crt0.o /usr/lib/crt1.o
> /usr/lib/crti.o dispnew.o frame.o scroll.o xdisp.o xmenu.o window.o
> charset.o coding.o category.o ccl.o cm.o term.o xfaces.o xterm.o xfns.o
> xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o gtkutil.o emacs.o
> keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o
> minibuf.o fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o
> indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o
> eval.o floatfns.o fns.o print.o lread.o abbrev.o syntax.o unexelf.o
> bytecode.o process.o callproc.o region-cache.o sound.o atimer.o doprnt.o
> strftime.o intervals.o textprop.o composite.o md5.o    terminfo.o
> lastfile.o   vm-limit.o   mktime.o    -L/usr/X11R6/lib -L/usr/local/lib
> -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0
> -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lpthread
> -lSM -lICE -ltiff -ljpeg -lpng -lz -lm -lungif -lXpm -L  -lncurses   -lm
> -lgcc -lc -lgcc /usr/lib/crtn.o dispnew.o: In function `init_display': 
> /usr/local/src/wilde/emacs-hg-work/src/dispnew.c:6782: undefined reference
> to `tgetent' cm.o: In function `cmcostinit':

You have -L -lncurses in there.  What happens is when the preprocessor reads 
Makefile.c (generated from Makefile.in), your -L//lib ... is taken as a 
comment, and everything after // is removed, so you are left with -L.

Please do:

% pkg-config --libs xft

and if there is a // in there, check xft.pc (in /usr/lib/pkgconfig or 
/usr/X11R6/lib/pkgconfig usually) and see where //lib comes from.  My guess is 
that there is a variable substitution in xft.pc that does not work right.

	Jan D.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Pathnames with two (or more) slashes in Makefile.c (was: Latest configure.in change breaks building)
  2007-01-28  9:48 ` Jan Djärv
@ 2007-01-28 14:28   ` Sascha Wilde
  2007-01-29  8:06     ` Pathnames with two (or more) slashes in Makefile.c Jan Djärv
  0 siblings, 1 reply; 15+ messages in thread
From: Sascha Wilde @ 2007-01-28 14:28 UTC (permalink / raw)
  To: emacs-devel; +Cc: Jan Djärv

Jan Djärv <jan.h.d@swipnet.se> wrote:
> Sascha Wilde skrev:

>> the latest change on configure.in:
>>
>> 2007-01-26  Jan Djärv  <jan.h.d@swipnet.se>
>>
>> * configure.in: Add check for libXft.
>>
>> breaks the build process for me (CVS Head on GNU/Linux with GTK+ frontend):
>>
>> The new configure tests are successful: checking for xft >=
>> 0.13.0... yes checking XFT_CFLAGS... -I/usr/X11R6/include
>> -I/usr/include/freetype2 checking XFT_LIBS... -L//lib
>> -L/usr/X11R6/lib -lXft -lXrender -lX11 -lXext
>> -lfontconfig -lfreetype -lz
>
> What is //lib?  It looks broken.

//lib == /lib, see below...

[...]
> You have -L -lncurses in there.  What happens is when the preprocessor
> reads Makefile.c (generated from Makefile.in), your -L//lib ... is
> taken as a comment, and everything after // is removed, so you are
> left with -L.

You are right, the problem is not in your patch, but was triggered by
it on m system.

fontconfig.pc (one of the dependencies of xft.pc) on my system looks
like this:

  prefix=/usr
  exec_prefix=/
  libdir=${exec_prefix}/lib
  includedir=${prefix}/include

  Name: Fontconfig
  Description: Font configuration and customization library
  Version: 2.3.2
  Libs: -L${libdir} -lfontconfig
  Cflags: -I${includedir}

So yes, the library include directory is set to "//lib", in fact this
is a very common idiom in various situations when the prefix
installation path of software is set to "/".

In fact, it isn't wrong at all (though it touches a certain corner
case of the posix definition just by chance), the last paragraph in
the section "Pathname Resolution" (chapter "General Concepts") from
the posix standard states:

  A pathname consisting of a single slash shall resolve to the root
  directory of the process. A null pathname shall not be successfully
  resolved. A pathname that begins with two successive slashes may be
  interpreted in an implementation-defined manner, although more than
  two leading slashes shall be treated as a single slash.

On GNU Systems (and most unixoid systems I know), two leading slashes
are not interpreted in any special way, but like three and more
slashes: they are treated as one.

So the problem is, that the double slash is written unquoted to
Makefile.c where it gets interpreted as a comment.

This is IMO a bug.

When generating Makefile.c consecutive slashes hould either be reduced
to one or appropriately quoted.

cheers
sascha
-- 
Sascha Wilde
Nothing is fool-proof to a sufficiently talented fool.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-28 14:28   ` Pathnames with two (or more) slashes in Makefile.c (was: Latest configure.in change breaks building) Sascha Wilde
@ 2007-01-29  8:06     ` Jan Djärv
  2007-01-29 20:21       ` Sascha Wilde
  0 siblings, 1 reply; 15+ messages in thread
From: Jan Djärv @ 2007-01-29  8:06 UTC (permalink / raw)
  To: Sascha Wilde; +Cc: emacs-devel



Sascha Wilde skrev:
> Jan Djärv <jan.h.d@swipnet.se> wrote:

> 
>   A pathname consisting of a single slash shall resolve to the root
>   directory of the process. A null pathname shall not be successfully
>   resolved. A pathname that begins with two successive slashes may be
>   interpreted in an implementation-defined manner, although more than
>   two leading slashes shall be treated as a single slash.
> 
> On GNU Systems (and most unixoid systems I know), two leading slashes
> are not interpreted in any special way, but like three and more
> slashes: they are treated as one.
> 
> So the problem is, that the double slash is written unquoted to
> Makefile.c where it gets interpreted as a comment.
> 
> This is IMO a bug.
> 
> When generating Makefile.c consecutive slashes hould either be reduced
> to one or appropriately quoted.

Actually it was a bug in my patch, I should not use #define if a double slash 
may be present.  I briefly checked the other #define:s in Makefile.in and 
mostly the valuse comes from s/*.h or m/*.h, so we have control over these.

I've checked in a fix, please try it.

Thanks,

	Jan D.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-29  8:06     ` Pathnames with two (or more) slashes in Makefile.c Jan Djärv
@ 2007-01-29 20:21       ` Sascha Wilde
  2007-01-30  7:08         ` Jan Djärv
  0 siblings, 1 reply; 15+ messages in thread
From: Sascha Wilde @ 2007-01-29 20:21 UTC (permalink / raw)
  To: Jan Djärv; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 879 bytes --]

Jan Djärv <jan.h.d@swipnet.se> wrote:

> Sascha Wilde skrev:
>> Jan Djärv <jan.h.d@swipnet.se> wrote:
[...]
>> So the problem is, that the double slash is written unquoted to
>> Makefile.c where it gets interpreted as a comment.
>>
>> This is IMO a bug.
>>
>> When generating Makefile.c consecutive slashes hould either be reduced
>> to one or appropriately quoted.
>
> Actually it was a bug in my patch, I should not use #define if a
> double slash may be present.  I briefly checked the other #define:s in
> Makefile.in and mostly the valuse comes from s/*.h or m/*.h, so we
> have control over these.
>
> I've checked in a fix, please try it.

Sorry, maybe I'm seriously missing something here, but I can't see
such a change by you, neither in CVS nor in the ChangeLog.

And, build still fails...  :-(

FWIW: my workaround for now looks like this:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: emacs-configure-hotfix.patch --]
[-- Type: text/x-patch, Size: 658 bytes --]

--- a/configure.in
+++ b/configure.in
@@ -3256,6 +3256,7 @@
       < Makefile.c > junk1.c
   sed -e '1,/start of cpp stuff/d'\
       -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
+      -e 's,\(#.*\)//\+,\1/,g' \
       < Makefile.c > junk.c
   $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
       sed -e 's/^ /	/' -e '/^#/d' -e '/^[ 	\f]*$/d' > junk2.c
@@ -3272,6 +3273,7 @@
       < Makefile.c > junk1.c
   sed -e '1,/start of cpp stuff/d'\
       -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
+      -e 's,\(#.*\)//\+,\1/,g' \
       < Makefile.c > junk.c
   $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
       sed -e 's/^ /	/' -e '/^#/d' -e '/^[ 	\f]*$/d' > junk2.c

[-- Attachment #3: Type: text/plain, Size: 157 bytes --]


cheers
sascha
-- 
Sascha Wilde   -.-. ..- .-. .. --- ... .. - -.-- 
               -.- .. .-.. .-.. . -.. 
               - .... .
               -.-. .- -

[-- Attachment #4: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-29 20:21       ` Sascha Wilde
@ 2007-01-30  7:08         ` Jan Djärv
  2007-01-30  8:53           ` Sascha Wilde
  0 siblings, 1 reply; 15+ messages in thread
From: Jan Djärv @ 2007-01-30  7:08 UTC (permalink / raw)
  To: Sascha Wilde; +Cc: emacs-devel



Sascha Wilde skrev:

> Sorry, maybe I'm seriously missing something here, but I can't see
> such a change by you, neither in CVS nor in the ChangeLog.

I changed src/makefile.in, you have to rerun configure.

	Jan D.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-30  7:08         ` Jan Djärv
@ 2007-01-30  8:53           ` Sascha Wilde
  2007-01-30  9:09             ` Sascha Wilde
  2007-01-30  9:14             ` Jan Djärv
  0 siblings, 2 replies; 15+ messages in thread
From: Sascha Wilde @ 2007-01-30  8:53 UTC (permalink / raw)
  To: Jan Djärv; +Cc: emacs-devel

Jan Djärv <jan.h.d@swipnet.se> wrote:

> Sascha Wilde skrev:
>
>> Sorry, maybe I'm seriously missing something here, but I can't see
>> such a change by you, neither in CVS nor in the ChangeLog.
>
> I changed src/makefile.in, you have to rerun configure.

Ok, now I see your change.

But I'm sorry to say: it doesn't fix anything.  Now Makefile.c
contains:

  XFT_LIBS=-L//lib -L/usr/X11R6/lib -lXft -lXrender -lX11 -lXext -lfontconfig -lfreetype -lz  

which has exactly the same problem...

cheers
sascha
-- 
Sascha Wilde : The sum of intelligence on earth is a constant; 
             : population is growing

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-30  8:53           ` Sascha Wilde
@ 2007-01-30  9:09             ` Sascha Wilde
  2007-01-31  9:36               ` Sascha Wilde
  2007-01-30  9:14             ` Jan Djärv
  1 sibling, 1 reply; 15+ messages in thread
From: Sascha Wilde @ 2007-01-30  9:09 UTC (permalink / raw)
  To: Jan Djärv; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 683 bytes --]

Sascha Wilde <wilde@sha-bang.de> wrote:
> Jan Djärv <jan.h.d@swipnet.se> wrote:
>> Sascha Wilde skrev:
>>> Sorry, maybe I'm seriously missing something here, but I can't see
>>> such a change by you, neither in CVS nor in the ChangeLog.
>>
>> I changed src/makefile.in, you have to rerun configure.
>
> Ok, now I see your change.
>
> But I'm sorry to say: it doesn't fix anything.  Now Makefile.c
> contains:
>
>   XFT_LIBS=-L//lib -L/usr/X11R6/lib -lXft -lXrender -lX11 -lXext -lfontconfig -lfreetype -lz  
>
> which has exactly the same problem...

How about the following fix, which not only removes the problem for
xft but for all packages using pkg-config:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: emacs-pkgconf-pathfix.patch --]
[-- Type: text/x-patch, Size: 533 bytes --]

--- a/configure.in
+++ b/configure.in
@@ -1484,11 +1484,11 @@
             succeeded=yes
 
             AC_MSG_CHECKING($1_CFLAGS)
-            $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+            $1_CFLAGS=`$PKG_CONFIG --cflags "$2" | sed -e 's,//\+,/,g'`
             AC_MSG_RESULT($$1_CFLAGS)
 
             AC_MSG_CHECKING($1_LIBS)
-            $1_LIBS=`$PKG_CONFIG --libs "$2"`
+            $1_LIBS=`$PKG_CONFIG --libs "$2" | sed -e 's,//\+,/,g'`
             AC_MSG_RESULT($$1_LIBS)
         else
             AC_MSG_RESULT(no)


[-- Attachment #3: Type: text/plain, Size: 151 bytes --]


sascha 
-- 
Sascha Wilde   -.-. ..- .-. .. --- ... .. - -.-- 
               -.- .. .-.. .-.. . -.. 
               - .... .
               -.-. .- -

[-- Attachment #4: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-30  8:53           ` Sascha Wilde
  2007-01-30  9:09             ` Sascha Wilde
@ 2007-01-30  9:14             ` Jan Djärv
  2007-01-30  9:47               ` Sascha Wilde
  1 sibling, 1 reply; 15+ messages in thread
From: Jan Djärv @ 2007-01-30  9:14 UTC (permalink / raw)
  To: Sascha Wilde; +Cc: emacs-devel



Sascha Wilde skrev:
> Jan Djärv <jan.h.d@swipnet.se> wrote:
> 
>> Sascha Wilde skrev:
>>
>>> Sorry, maybe I'm seriously missing something here, but I can't see
>>> such a change by you, neither in CVS nor in the ChangeLog.
>> I changed src/makefile.in, you have to rerun configure.
> 
> Ok, now I see your change.
> 
> But I'm sorry to say: it doesn't fix anything.  Now Makefile.c
> contains:
> 
>   XFT_LIBS=-L//lib -L/usr/X11R6/lib -lXft -lXrender -lX11 -lXext -lfontconfig -lfreetype -lz  
> 
> which has exactly the same problem...

Ahh, how stupid of me.  A question about your patch:

> --- a/configure.in
> +++ b/configure.in
> @@ -3256,6 +3256,7 @@
>        < Makefile.c > junk1.c
>    sed -e '1,/start of cpp stuff/d'\
>        -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
> +      -e 's,\(#.*\)//\+,\1/,g' \
>        < Makefile.c > junk.c
>    $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
>        sed -e 's/^ /	/' -e '/^#/d' -e '/^[ 


Why is there a \+?  Should we not change // to / everywhere, i.e.
   s,//,/,g

?

	Jan D.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-30  9:14             ` Jan Djärv
@ 2007-01-30  9:47               ` Sascha Wilde
  2007-01-30 10:26                 ` Jan Djärv
  0 siblings, 1 reply; 15+ messages in thread
From: Sascha Wilde @ 2007-01-30  9:47 UTC (permalink / raw)
  To: Jan Djärv; +Cc: emacs-devel

Jan Djärv <jan.h.d@swipnet.se> wrote:
> Sascha Wilde skrev:
[...]
>> --- a/configure.in
>> +++ b/configure.in
>> @@ -3256,6 +3256,7 @@
>>        < Makefile.c > junk1.c
>>    sed -e '1,/start of cpp stuff/d'\
>>        -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
>> +      -e 's,\(#.*\)//\+,\1/,g' \
>>        < Makefile.c > junk.c
>>    $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
>>        sed -e 's/^ /	/' -e '/^#/d' -e '/^[ 
>
>
> Why is there a \+?

because we not only want to match // but also ///, //// and so
forth...

cheers
sascha
-- 
Sascha Wilde 
"If you were young again, would you start writing TeX again or would
you use Microsoft Word, or another word processor?" - "I hope to die
before I *have* to use Microsoft Word."    --  Prof. Donald E. Knuth

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-30  9:47               ` Sascha Wilde
@ 2007-01-30 10:26                 ` Jan Djärv
  2007-01-30 11:04                   ` Sascha Wilde
  0 siblings, 1 reply; 15+ messages in thread
From: Jan Djärv @ 2007-01-30 10:26 UTC (permalink / raw)
  To: Sascha Wilde; +Cc: emacs-devel



Sascha Wilde skrev:
> Jan Djärv <jan.h.d@swipnet.se> wrote:
>> Sascha Wilde skrev:
> [...]
>>> --- a/configure.in
>>> +++ b/configure.in
>>> @@ -3256,6 +3256,7 @@
>>>        < Makefile.c > junk1.c
>>>    sed -e '1,/start of cpp stuff/d'\
>>>        -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
>>> +      -e 's,\(#.*\)//\+,\1/,g' \
>>>        < Makefile.c > junk.c
>>>    $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
>>>        sed -e 's/^ /	/' -e '/^#/d' -e '/^[ 
>>
>> Why is there a \+?
> 
> because we not only want to match // but also ///, //// and so
> forth...
> 

Most sed:s out there don't support \+, it is a GNU extension.  We can't use 
that.  You would have to do ///*.

	Jan D.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-30 10:26                 ` Jan Djärv
@ 2007-01-30 11:04                   ` Sascha Wilde
  0 siblings, 0 replies; 15+ messages in thread
From: Sascha Wilde @ 2007-01-30 11:04 UTC (permalink / raw)
  To: Jan Djärv; +Cc: emacs-devel

Jan Djärv <jan.h.d@swipnet.se> wrote:

> Sascha Wilde skrev:
>> Jan Djärv <jan.h.d@swipnet.se> wrote:
>>> Sascha Wilde skrev:
>> [...]
>>>> --- a/configure.in
>>>> +++ b/configure.in
>>>> @@ -3256,6 +3256,7 @@
>>>>        < Makefile.c > junk1.c
>>>>    sed -e '1,/start of cpp stuff/d'\
>>>>        -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
>>>> +      -e 's,\(#.*\)//\+,\1/,g' \
>>>>        < Makefile.c > junk.c
>>>>    $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
>>>>        sed -e 's/^ /	/' -e '/^#/d' -e '/^[ 
>>>
>>> Why is there a \+?
>>
>> because we not only want to match // but also ///, //// and so
>> forth...
>>
>
> Most sed:s out there don't support \+, it is a GNU extension.  We
> can't use that.  You would have to do ///*.

Ok, so lets use ///*.  :-)

cheers
sascha
-- 
"Anyone who slaps a 'this page is best viewed with Browser X' label on a Web 
page appears to be yearning for the bad old days, before the Web, when you had 
very little chance of reading a document written on another computer, another 
word processor, or another network." -- Tim Berners-Lee, July 1996

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-30  9:09             ` Sascha Wilde
@ 2007-01-31  9:36               ` Sascha Wilde
  2007-01-31 17:42                 ` Jan Djärv
  0 siblings, 1 reply; 15+ messages in thread
From: Sascha Wilde @ 2007-01-31  9:36 UTC (permalink / raw)
  To: emacs-devel; +Cc: Jan Djärv


[-- Attachment #1.1.1: Type: text/plain, Size: 313 bytes --]

Sascha Wilde <wilde@sha-bang.de> wrote:
> How about the following fix, which not only removes the problem for
> xft but for all packages using pkg-config:

Could someone with CVS write access please consider checking in the
attached patch?

Or alternatively propose a better solution, of cause...

cheers
sascha


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.1.2: emacs-pkgconf-pathfix.patch --]
[-- Type: text/x-patch, Size: 550 bytes --]

--- a/configure.in
+++ b/configure.in
@@ -1484,11 +1484,11 @@
             succeeded=yes
 
             AC_MSG_CHECKING($1_CFLAGS)
-            $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+            $1_CFLAGS=`$PKG_CONFIG --cflags "$2" | sed -e 's,///*,/,g'`
             AC_MSG_RESULT($$1_CFLAGS)
 
             AC_MSG_CHECKING($1_LIBS)
-            $1_LIBS=`$PKG_CONFIG --libs "$2"`
+            $1_LIBS=`$PKG_CONFIG --libs "$2" | sed -e 's,///*,/,g'`
             AC_MSG_RESULT($$1_LIBS)
         else
             AC_MSG_RESULT(no)


[-- Attachment #1.1.3: Type: text/plain, Size: 237 bytes --]


-- 
Sascha Wilde
"Structure is _nothing_ if it is all you got.  Skeletons _spook_ people if
 thwy try to walk around on their own.  I really wonder why XML does
 not."            -- Erik Naggum <erik@naggum.net> in comp.lang.lisp

[-- Attachment #1.2: Type: application/pgp-signature, Size: 188 bytes --]

[-- Attachment #2: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-31  9:36               ` Sascha Wilde
@ 2007-01-31 17:42                 ` Jan Djärv
  2007-01-31 22:33                   ` Sascha Wilde
  0 siblings, 1 reply; 15+ messages in thread
From: Jan Djärv @ 2007-01-31 17:42 UTC (permalink / raw)
  To: Sascha Wilde; +Cc: emacs-devel

Sascha Wilde skrev:
> Sascha Wilde <wilde@sha-bang.de> wrote:
>> How about the following fix, which not only removes the problem for
>> xft but for all packages using pkg-config:
> 
> Could someone with CVS write access please consider checking in the
> attached patch?
> 

Done.

> Or alternatively propose a better solution, of cause...
> 

We can figure out a more general solution after the release.

	Jan D.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Pathnames with two (or more) slashes in Makefile.c
  2007-01-31 17:42                 ` Jan Djärv
@ 2007-01-31 22:33                   ` Sascha Wilde
  0 siblings, 0 replies; 15+ messages in thread
From: Sascha Wilde @ 2007-01-31 22:33 UTC (permalink / raw)
  To: Jan Djärv; +Cc: emacs-devel

Jan Djärv <jan.h.d@swipnet.se> wrote:

> Sascha Wilde skrev:
>> Sascha Wilde <wilde@sha-bang.de> wrote:
>>> How about the following fix, which not only removes the problem for
>>> xft but for all packages using pkg-config:
>> 
>> Could someone with CVS write access please consider checking in the
>> attached patch?
>
> Done.

Thank you!

sascha
-- 
Sascha Wilde
"Gimme about 10 seconds to think for a minute..."

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2007-01-31 22:33 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-27 19:54 Latest configure.in change breaks building Sascha Wilde
2007-01-28  9:48 ` Jan Djärv
2007-01-28 14:28   ` Pathnames with two (or more) slashes in Makefile.c (was: Latest configure.in change breaks building) Sascha Wilde
2007-01-29  8:06     ` Pathnames with two (or more) slashes in Makefile.c Jan Djärv
2007-01-29 20:21       ` Sascha Wilde
2007-01-30  7:08         ` Jan Djärv
2007-01-30  8:53           ` Sascha Wilde
2007-01-30  9:09             ` Sascha Wilde
2007-01-31  9:36               ` Sascha Wilde
2007-01-31 17:42                 ` Jan Djärv
2007-01-31 22:33                   ` Sascha Wilde
2007-01-30  9:14             ` Jan Djärv
2007-01-30  9:47               ` Sascha Wilde
2007-01-30 10:26                 ` Jan Djärv
2007-01-30 11:04                   ` Sascha Wilde

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).