From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23730 invoked by alias); 30 Dec 2001 03:12:57 -0000 Mailing-List: contact guile-gtk-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: guile-gtk-owner@sources.redhat.com Received: (qmail 23703 invoked from network); 30 Dec 2001 03:12:55 -0000 Received: from unknown (HELO li.mine.nu) (195.163.18.45) by sources.redhat.com with SMTP; 30 Dec 2001 03:12:55 -0000 Received: from abc.se (li.mine.nu [192.168.0.2]) by li.mine.nu (Postfix) with ESMTP id 8F6B87A501; Sun, 30 Dec 2001 04:12:59 +0100 (CET) Message-ID: <3C2E863A.BE4C0EF7@abc.se> Date: Sun, 18 Nov 2001 13:23:00 -0000 From: Bo Forslund X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.17 i686) X-Accept-Language: en MIME-Version: 1.0 To: guile-gtk list Cc: Marius Vollmer Subject: SMP problems with examples/Makefile.am Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2001-q4/txt/msg00024.txt.bz2 Hello! It is SMP problems with the Makefile in the examples dir. I tested 30-40 compiles of the examples on a single-CPU box using a Makefile built by the original Makefile.am containing the lines foo-glue.c: foo.defs build-guile-gtk glue $< >tmp && mv tmp $@ main.c: foo.defs build-guile-gtk main $< >tmp && mv tmp $@ And it just worked. Every time. On the dual-CPU box it failed most of the times with really odd result. Sometimes the build created a main.c identical to foo-glue.c. Sometimes the foo-glue.c or main.c was created with a couple of thousand NULL characters (displayed as ^@ in emacs) and a chopped off line with the extern sgtk_.... vars, and the rest of foo-glue.c as it should look. something like /* Generated by build-guile-gtk from "foo.defs". Do not edit. */ #include #include #include ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ several thousands of ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ info sgtk_gdk_cap_style_info; extern sgtk_enum_info sgtk_gdk_join_style_info; extern sgtk_enum_info sgtk_gdk_cursor_type_info; extern sgtk_enum_info sgtk_gdk_event_type_info; extern sgtk_enum_info sgtk_gdk_notify_type_info; ### The rest of the file OK. Having Makefile.am looking like this works on both the uni-cpu and the dual-cpu box. foo-glue.c: foo.defs build-guile-gtk glue $< >$@ main.c: foo.defs build-guile-gtk main $< >$@ I can't say that I really understand what the line "$< tmp && mv tmp $@" does. Doesn't the line "$< >$@" work very much the same? Perhaps someone can explain what can happen on parallell builds? Bo From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bo Forslund To: guile-gtk list Cc: Marius Vollmer Subject: SMP problems with examples/Makefile.am Date: Sat, 29 Dec 2001 19:12:00 -0000 Message-ID: <3C2E863A.BE4C0EF7@abc.se> X-SW-Source: 2001-q4/msg00036.html Message-ID: <20011229191200.h6Rjhp6Wm7hZVUKxlz_uvwy9JCenVoJR6FE5-D2O3w4@z> Hello! It is SMP problems with the Makefile in the examples dir. I tested 30-40 compiles of the examples on a single-CPU box using a Makefile built by the original Makefile.am containing the lines foo-glue.c: foo.defs build-guile-gtk glue $< >tmp && mv tmp $@ main.c: foo.defs build-guile-gtk main $< >tmp && mv tmp $@ And it just worked. Every time. On the dual-CPU box it failed most of the times with really odd result. Sometimes the build created a main.c identical to foo-glue.c. Sometimes the foo-glue.c or main.c was created with a couple of thousand NULL characters (displayed as ^@ in emacs) and a chopped off line with the extern sgtk_.... vars, and the rest of foo-glue.c as it should look. something like /* Generated by build-guile-gtk from "foo.defs". Do not edit. */ #include #include #include ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ several thousands of ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ info sgtk_gdk_cap_style_info; extern sgtk_enum_info sgtk_gdk_join_style_info; extern sgtk_enum_info sgtk_gdk_cursor_type_info; extern sgtk_enum_info sgtk_gdk_event_type_info; extern sgtk_enum_info sgtk_gdk_notify_type_info; ### The rest of the file OK. Having Makefile.am looking like this works on both the uni-cpu and the dual-cpu box. foo-glue.c: foo.defs build-guile-gtk glue $< >$@ main.c: foo.defs build-guile-gtk main $< >$@ I can't say that I really understand what the line "$< tmp && mv tmp $@" does. Doesn't the line "$< >$@" work very much the same? Perhaps someone can explain what can happen on parallell builds? Bo