Build and Runtime Errors with MFTrace 1.2.3

2006-05-02 Thread Andreas Scherer
There are (at least) two issues with the CVS contents of MFTrace 1.2.3:

(1) sh autogen.sh produces a mftrace.spec file that references two .pyo 
files that make will not create.

(2) After building and installing mftrace-1.2.3-1.i586.rpm, mftrace 
--version fails, because of two UnindentErrors in the main script.

The attached patch tries to fix these two problems.

Take care

Index: mftrace/mftrace.spec.in
===
--- mftrace/mftrace.spec.in (Revision 1)
+++ mftrace/mftrace.spec.in (Revision 2)
@@ -42,10 +42,8 @@
 %{_prefix}/bin/mftrace
 %{_mandir}/man1/mftrace.1.gz
 %{_datadir}/mftrace/afm.pyc
-%{_datadir}/mftrace/afm.pyo
 %{_datadir}/mftrace/afm.py
 %{_datadir}/mftrace/tfm.pyc
-%{_datadir}/mftrace/tfm.pyo
 %{_datadir}/mftrace/tfm.py
 %doc README.txt

Index: mftrace/mftrace.py
===
--- mftrace/mftrace.py  (Revision 1)
+++ mftrace/mftrace.py  (Revision 2)
@@ -504,7 +504,7 @@
 # for single glyph testing.
 # glyphs = []
 for a in glyphs:
-  if encoding[a] == .notavail:
+if encoding[a] == .notavail:
 continue
 valid = metric.has_char (a)
 if not valid:
@@ -783,9 +783,9 @@
   return outname

 def make_outputs (fontname, formats, encoding):
- 
- run pfaedit to convert to other formats
- 
+




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: make web fails for LilyPond 2.8.0/2.9.0 source drop [Also] Re: Futile attempts to build LilyPond 2.8.0

2006-04-04 Thread Andreas Scherer
R. Mattes rm at mh-freiburg.de writes:
 Ok, i found the bug. It looks like this is triggered
 by using guile-1.6.n instead of guile-1.8 - this also
 explains why Andreas' build failed.

Confirmed. After updating OpenSUSE 10.0 with guile-1.8.0, all is well again.
make all web runs to completion with both the LilyPond 2.8.1 source drop
and the 2.9.1 CVS contents.

Thanks, Ralf, for digging into this.

Take care



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Compiling CVS 2.7.16 with g++ 3.3.4

2005-11-16 Thread Andreas Scherer
Am Mittwoch, 9. November 2005 10:36 schrieb Han-Wen Nienhuys:
 I don't understand this patch. Why doesn't str need a cast? What's the
 difference between reinterpret_castconst shar* and (const char*)
After updating to OpenSUSE 10.0 with g++ 4.0.2 the problem is gone. The CVS 
code compiles without the patch. Case closed.

Cheers


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: LilyPond 2.5: isinf

2004-12-03 Thread Andreas Scherer
On Friday 03 December 2004 19:11, Christian Hitz wrote:
 The proposed solution is to use math.h instead of cmath. In my
 patch I introduce a new define MACOS_X that controls this.

 With this patch applied I compiled the latest CVS this afternoon.

Compiles fine on GNU/Linux as well.  Sure, it's a hack, but that's what one 
gets when one uses the preprocessor.  ;-)

Andreas


___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


LilyPond 2.5: isinf macro/function/template

2004-11-28 Thread Andreas Scherer
Hello list,

I have tried to analyze the isinf issue, resulting from my #include 
cleanup patch for LilyPond 2.5, and want to submit the following results, 
created with gcc/g++/libc/libstdc++ 3.3.4 on SuSE Linux 9.2.

If you look at the LilyPond C++ sources you find that the issue with isinf 
seems to have been addressed before.  Module flower/libc-extension looks 
for a /macro/ isinf and if such a thing does not exist /and/ if the initial 
configuration finds no isinf function in the system libraries 
(!HAVE_ISINF), a local version of int isinf(double) is defined.  (I have no 
idea whether this situation ever arises.)  Module lily/liy-guile explicitly 
has a MacOS fix (with an additional FIXME), because source-file.hh 
somehow pulls in cmath, thus overriding any isinf macro definition.  Of 
course, after my change in lily/lily-guile.cc (s/math.h/cmath/ et al.), 
this fix does no longer work.

The attached archive contains two source files in C and C++ calling isinf in 
various incantations.  The C version uses math.h as the interface and in 
one situation I can bring gcc to at least issue a warning regarding an 
implicit declaration of function isinf after the line #undef isinf.  The 
C++ version uses cmath as the interface and calls isinf (before and after 
#undef isinf), ::isinf, and std::isinf without complaint.  So, on this 
GNU/Linux system, there is no real problem with isinf, either as a macro, a 
function, or a template.

According to man isinf on my configuration, isinf/isnan/finite are 
functions (sic!) conforming to BSD 4.3.  It further states that C99 
provides additional macros (!), such as the type-independent fpclassify(), 
isinf(), and isnan() (and with option --std=c99 plus #undef isinf in the 
code, gcc 3.3.4 issues the above-mentioned warning).

IIRC, MacOS X is based upon BSD, so it is unclear to me, how this 
BSD-conforming function/macro should be unavailable for use in C++ 
programs.  My best guess is that BSD /only/ has the isinf /macro/ in 
math.h and no underlying isinf system /function/ reachable through a 
different interface (like said /template function/ in cmath on Linux) /and/ 
cmath #undefines exactly this macro.

Hopefully, some member with MacOS eXperience can find a compliant solution to 
the problem.

Take care
-- 
Andreas Scherer
Saarstraße 76, 52062 Aachen, Germany
http://people.freenet.net/andreas.scherer


isinf.tar.gz
Description: application/tgz
___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: LilyPond 2.5: isinf macro/function/template

2004-11-28 Thread Andreas Scherer
On Sunday 28 November 2004 16:25, Christian Hitz wrote:
 I got lilypond 2.5.2 to compile by doing the following things:

 - set _GLIBCPP_USE_C99 before #include cmath in the files that use
 isinf/isnan
 - replace each occurrence of isinf/isnan with std::isinf/std::isnan

 I don't know if this breaks compilation on linux.

The first step is (at least on /this/ GNU/Linux) already done, so the 
templated versions of the C99 functions do exist after including cmath.  
Plus, gcc/g++ on GNU/Linux readily (too readily?!) puts this stuff in the 
std:: namespace plus exports it to the global namespace (as shown in my C++ 
example code; maybe one would have to use a commandline option to force some 
specific behaviour).

So, I don't think your approach would (in the short run) break anything for 
Linux.  However, at least the _GLIBCPP_USE_C99 macro setting should be dealt 
with by the auto-configure setup and be put into some central configuration.

At least, there seems to be some light at the end of the tunnel. :-)

Andreas


___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: LilyPond C/C++ #include cleanup

2004-11-21 Thread Andreas Scherer
On Friday 19 November 2004 14:52, Han-Wen Nienhuys wrote:
 I've added the Doxygen file to CVS. I'm willing to add doxygen rules
 to the makefile, if someone writes them.

Unfortunately, I'm not proficient with 'autoconf', so I can't provide a 
working solution right now.  But here's what I've got so far and my ideas 
about how to fill the gaps:

(1) Move 'Doxyfile' to 'Documentation/Doxyfile.in' and apply the attached 
patch; it introduces variables @PACKAGE_NAME@, @TOPLEVEL_VERSION@, and 
@HAVE_DOT@ at the appropriate locations and it makes 'doxygen' look for input 
starting at directory '..'.

(2) Let the toplevel 'configure.in' check for 'doxygen' and 'dot':
STEPMAKE_PROGS(DOXYGEN, doxygen, OPTIONAL, 1.3.8)
STEPMAKE_PROGS(DOT, dot, OPTIONAL, 1.16)
and set the variable HAVE_DOT to 'YES' if 'dot' is present, otherwise to 'NO'.

(3) [I failed to achieve this step; all I managed was to replace PACKAGE_NAME, 
but not the other two variables] Create 'Documentation/Doxyfile' from 
'Documentation/Doxyfile.in' by replacing the @-variables with their current 
contents, e.g., 'LilyPond', '2.5.0hwn1', and 'YES' resp. 'NO'.

(4) In the GNUmakefile for directory Documentation run the command line 
doxygen Doxyfile, iff DOXYGEN is set in (2).  There is no other dependency 
necessary as soon as the 'Doxyfile' is installed.  DOT will be triggered by 
DOXYGEN only when HAVE_DOT is 'YES'.

I'm sure it is not hard to do this, but as I said above, I've never used 
'autoconf' and even after some trial, all I got were errors.

Andreas


Doxyfile.patch.gz
Description: GNU Zip compressed data
___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel


LilyPond C/C++ #include cleanup

2004-11-16 Thread Andreas Scherer
Hello list,

Has anyone considered to apply Doxygen to the LilyPond sources?  I'm aware 
that the internal comments are not doxygen'erated, however, Doxygen is 
capable to analyze plain C/C++ codes and to generate at least rudimentary 
documentation in various output formats.

One of the major advantages is the creation of graphical displays of specific 
aspects of a bundle of source codes, e.g., class hierarchy, class graphs, and 
include/included-by graphs.  With the tool doxywizard (1.3.9) I have created 
a rudimentary Doxyfile and run Doxygen over the CVS content of current 
LilyPond.  This definition file is attached to this submission for those who 
would like to apply Doxygen themselves.

Now, when I click through the HTML documentation and look at the images of 
the include graphs, I find that many #include directives are redundant, 
i.e., define transitive connections between header a/o source files (plus at 
least one cyclic dependency between flower/include/string.hh and 
flower/include/international.hh).  It is common knowledge (John Lakos and 
other experts come to mind) that the #include hierarchy can be an important 
backbone of a C/C++ software system as well as an elementary entry point to 
understanding such a system.

If there is interest in this group for such an improvement of the C/C++ 
sources of LilyPond, I would volunteer to make the necessary modifications, 
i.e., to remove the superfluous #include directives, while guaranteeing the 
correct compilability of the system.  Any comments?

Cheers,
Andreas


Doxyfile.gz
Description: GNU Zip compressed data
___
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel