texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Texmacs-dev] [Announce] nogencc-0.7


From: Joris van der Hoeven
Subject: Re: [Texmacs-dev] [Announce] nogencc-0.7
Date: Mon, 6 May 2002 10:36:25 +0200 (MET DST)

> What still does no work:
> 
>   I was unable to statically link the official distribution (either
>   1.0.0.1 or 1.0.0.3), so I cannot work at statically linking my version.
> 
> The error message is:
> /home/david/Desktop/TeXmacs/TeXmacs-1.0.0.1-src/TeXmacs-1.0.0.1/lib/libbasic.a(misc.o):
>  
> In function `eval_system(string)':
> misc.o(.text+0x8c68): the use of `tmpnam' is dangerous, better use 
> `mkstemp'
> /usr/lib/libguile.a(dynl.o): In function `sysdep_dynl_link':
> dynl.o(.text+0x394): undefined reference to `lt_dlopenext'
> dynl.o(.text+0x3db): undefined reference to `lt_dlerror'
> /usr/lib/libguile.a(dynl.o): In function `sysdep_dynl_unlink':
> dynl.o(.text+0x432): undefined reference to `lt_dlclose'
> dynl.o(.text+0x475): undefined reference to `lt_dlerror'
> /usr/lib/libguile.a(dynl.o): In function `sysdep_dynl_func':
> dynl.o(.text+0x4a5): undefined reference to `lt_dlsym'
> dynl.o(.text+0x4e5): undefined reference to `lt_dlerror'
> /usr/lib/libguile.a(dynl.o): In function `sysdep_dynl_init':
> dynl.o(.text+0x50c): undefined reference to `lt_dlinit'
> collect2: ld returned 1 exit status

Maybe you should try compiling with another version of Guile.
Also, it may be necessary to link with some kind of dynamic
linking library which supports the missing symbols.
Finally, I recall you that the order of the linking flags
is very important; if you mixed that up, the compilation
is likely to break on many systems.

>   I was unable to compile gcc-2.95.2, so I could not test compilation
>   with that version.
> 
> The error message is:
> /usr/local/src/gcc-2.95.2/objdir/gcc/xgcc 
> -B/usr/local/src/gcc-2.95.2/objdir/gcc/ 
> -B/usr/local/gcc-2.95.2/i686-pc-linux-gnu/bin/ -c -g -O2 -fvtable-thunks 
> -D_GNU_SOURCE -fno-implicit-templates -I. -I../../../libio -nostdinc++ 
> -D_IO_MTSAFE_IO ../../../libio/indstream.cc
> ../../../libio/indstream.cc: In method `struct streampos 
> indirectbuf::seekoff(long long int, ios::seek_dir, int = 3)':
> ../../../libio/indstream.cc:82: `struct streampos' used where a `int' was 
> expected
> ../../../libio/indstream.cc:85: `struct streampos' used where a `int' was 
> expected
> ../../../libio/indstream.cc:87: `struct streampos' used where a `int' was 
> expected
> ../../../libio/indstream.cc:89: conversion from `int' to non-scalar type 
> `streampos' requested
> ../../../libio/indstream.cc: In method `struct streampos 
> indirectbuf::seekpos(_G_fpos64_t, int = 3)':
> ../../../libio/indstream.cc:99: `struct streampos' used where a `int' was 
> expected
> ../../../libio/indstream.cc:102: `struct streampos' used where a `int' 
> was expected
> ../../../libio/indstream.cc:104: `struct streampos' used where a `int' 
> was expected
> ../../../libio/indstream.cc:106: conversion from `int' to non-scalar type 
> `streampos' requested
> make[1]: *** [indstream.o] Error 1

You might try to compile with another version of gcc...
If there are no other errors, then you may also patch the source code;
it seems just to be a conversion problem.

> Compilation benchmarks:
> 
> The compiler used is gcc-2.95.3 (official).
> 
> The mesure does not include the generation of support files, like 
> dependence analysis, and first pass compilation to generate the .rpo 
> files (.rpo are included in the distribution anyway).
> 
> The reference compilation time was mesured with the MIXED target.
> 
> The given time is the value of user time provided by the time command.
> 
> dialect = -fno-exceptions -fno-rtti
> optim=none    -->  $(dialect)
> optim=medium  -->  -O2 $(dialect)
> optim=high    -->  -O3 -fexpensive-optimizations -malign-loops=2
>                    -malign-jumps=2 -malign-functions=2 $(dialect)
> 
>       version \ optim | none       medium     high
> ----------------------+-------------------------------
>      TeXmacs-1.0.0.1  | 1m42.93s   7m30.58s   7m55.31s
> nogencc-0.7  SEPARATE | 2m25.21s   7m20.42s   7m25.97s
> nogencc-0.7 AGGREGATE | 1m14.39s   6m12.34s   6m38.16s
> SEPARATE -- AGGREGATE |   70.82s     68.08s     47.81s
> 
> And delta relative to official version:
> 
>       version \ optim | none     medium     high
> ----------------------+--------------------------
> nogencc-0.7  SEPARATE | + 41 %   -  2 %   -  6 %
> nogencc-0.7 AGGREGATE | - 28 %   - 17 %   - 16 %
> 
> So, the nogencc version is always faster to compile than the official 
> version in AGGREGATE compilation. SEPARATE compilation introduces an 
> overhead of about one minute.

OK, so we might switch to separate compilation later on
without a major loss. But I will also have to check this
with other compilers.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]