freetype-devel
[Top][All Lists]
Advanced

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

[Devel] freetype-2.1.4: build feedback


From: Nelson H. F. Beebe
Subject: [Devel] freetype-2.1.4: build feedback
Date: Thu, 10 Apr 2003 06:57:26 -0600 (MDT)

Earlier this week, I made build attempts of freetype-2.1.4 in 45 compilation
environments on 16 flavors of Unix.

Most of them were successful, including several that used C++ compilers
for compiling C code.  Congratulations on a very portable package!

However, there were a few build failures, and compilation warnings
that should be dealt with.

The SGI IRIX native compilers are excellent at diagnosing crud in
code.  Here is a report (I've wrapped long lines for readability):

        c89 -I/local/build/freetype-2.1.4/objs
        -I/local/build/freetype-2.1.4/builds/unix
        -I/local/build/freetype-2.1.4/include -c -g
        -I/local/build/freetype-2.1.4/src/base
        /local/build/freetype-2.1.4/src/base/ftstroker.c -DPIC -o
        /local/build/freetype-2.1.4/objs/.libs/ftstroker.lo
        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/base/ftstroker.c, Line = 1401
          The variable "in_path" is set but never used.

              FT_Int   in_path;
                       ^

        c89 -I/local/build/freetype-2.1.4/objs
        -I/local/build/freetype-2.1.4/builds/unix
        -I/local/build/freetype-2.1.4/include -c -g
        -I/local/build/freetype-2.1.4/src/bdf
        /local/build/freetype-2.1.4/src/bdf/bdf.c -DPIC -o
        /local/build/freetype-2.1.4/objs/.libs/bdf.lo
        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/bdf/bdflib.c, Line = 644
          The variable "res" is set but never used.

              int               n, res, done, refill, bytes, hold;
                                   ^

        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/bdf/bdflib.c, Line = 1446
          The variable "next" is set but never used.

              _bdf_line_func_t*  next;
                                 ^

        c89 -I/local/build/freetype-2.1.4/objs
        -I/local/build/freetype-2.1.4/builds/unix
        -I/local/build/freetype-2.1.4/include -c -g
        -I/local/build/freetype-2.1.4/src/cache
        /local/build/freetype-2.1.4/src/cache/ftcache.c -DPIC -o
        /local/build/freetype-2.1.4/objs/.libs/ftcache.lo
        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/cache/ftlru.c, Line = 133
          The variable "plast" is set but never used.

              FT_LruNode*       plast;
                                ^
        c89 -I/local/build/freetype-2.1.4/objs
        -I/local/build/freetype-2.1.4/builds/unix
        -I/local/build/freetype-2.1.4/include -c -g
        -I/local/build/freetype-2.1.4/src/cff
        /local/build/freetype-2.1.4/src/cff/cff.c -DPIC -o
        /local/build/freetype-2.1.4/objs/.libs/cff.lo
        cc-1185 c89: WARNING File = 
/local/build/freetype-2.1.4/src/cff/cffgload.c, Line = 1773
          An enumerated type is mixed with another type.

                                     builder->hint_flags );
                                     ^

        c89 -I/local/build/freetype-2.1.4/objs
        -I/local/build/freetype-2.1.4/builds/unix
        -I/local/build/freetype-2.1.4/include -c -g
        -I/local/build/freetype-2.1.4/src/pcf
        /local/build/freetype-2.1.4/src/pcf/pcf.c -DPIC -o
        /local/build/freetype-2.1.4/objs/.libs/pcf.lo
        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/pcf/pcfread.c, Line = 253
          The variable "error" is set but never used.

              FT_Error  error = 0;
                        ^

        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/pcf/pcfread.c, Line = 989
          The variable "avgw" is set but never used.

                    PCF_Property  xres, yres, avgw;
                                              ^

        c89 -I/local/build/freetype-2.1.4/objs
        -I/local/build/freetype-2.1.4/builds/unix
        -I/local/build/freetype-2.1.4/include -c -g
        -I/local/build/freetype-2.1.4/src/pfr
        /local/build/freetype-2.1.4/src/pfr/pfr.c -DPIC -o
        /local/build/freetype-2.1.4/objs/.libs/pfr.lo
        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/pfr/pfrobjs.c, Line = 404
          The variable "error" is set but never used.

              FT_Error      error;
                            ^

        c89 -I/local/build/freetype-2.1.4/objs
        -I/local/build/freetype-2.1.4/builds/unix
        -I/local/build/freetype-2.1.4/include -c -g
        -I/local/build/freetype-2.1.4/src/sfnt
        /local/build/freetype-2.1.4/src/sfnt/sfnt.c -DPIC -o
        /local/build/freetype-2.1.4/objs/.libs/sfnt.lo
        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/sfnt/ttload.c, Line = 182
          The variable "format_tag" is set but never used.

                FT_ULong  format_tag;
                          ^

        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/sfnt/ttcmap0.c, Line = 1012
          The variable "start" is set but never used.

              FT_UInt   length, start, count;
                                ^

        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/sfnt/ttcmap0.c, Line = 1393
          The variable "start" is set but never used.

              FT_ULong  length, start, count;
                                ^

        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/sfnt/ttcmap0.c, Line = 1449
          The variable "result" is set but never used.

              FT_UInt32  result    = 0;
                         ^

        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/sfnt/sfobjs.c, Line = 261
          The variable "error" is set but never used.

                  FT_Error   error;
                             ^

        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/sfnt/sfdriver.c, Line = 152
          The variable "error" is set but never used.

                FT_Error          error;
                                  ^

        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/sfnt/sfdriver.c, Line = 192
          The variable "error" is set but never used.

                FT_Error          error;
                                  ^

        c89 -I/local/build/freetype-2.1.4/objs
        -I/local/build/freetype-2.1.4/builds/unix
        -I/local/build/freetype-2.1.4/include -c -g
        -I/local/build/freetype-2.1.4/src/type1
        /local/build/freetype-2.1.4/src/type1/type1.c -DPIC -o
        /local/build/freetype-2.1.4/objs/.libs/type1.lo
        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/type1/t1objs.c, Line = 281
          The variable "pshinter" is set but never used.

              PSHinter_Service  pshinter;
                                ^

        cc-1552 c89: WARNING File = 
/local/build/freetype-2.1.4/src/type1/t1gload.c, Line = 229
          The variable "glyph_data_loaded" is set but never used.

              FT_Bool                 glyph_data_loaded = 0;
                                      ^

With the SGI C++ and Sun Solaris C++ compilers, there was this failure:

        CC -I/local/build/CC/freetype-2.1.4/objs
        -I/local/build/CC/freetype-2.1.4/builds/unix
        -I/local/build/CC/freetype-2.1.4/include -c -g
        -I/local/build/CC/freetype-2.1.4/src/base
        /local/build/CC/freetype-2.1.4/src/base/ftbase.c -DPIC -o
        /local/build/CC/freetype-2.1.4/objs/.libs/ftbase.lo
        cc-1515 CC: ERROR File = 
/local/build/CC/freetype-2.1.4/src/base/ftobjs.c, Line = 227
          A value of type "FT_Pointer" cannot be assigned to an entity of type
                  "unsigned char *".

              slot->bitmap.buffer = buffer;
                                  ^

        1 error detected in the compilation of 
"/local/build/CC/freetype-2.1.4/src/base/ftbase.c".


On GNU/Linux on Alpha, PowerPC, and SPARC, I got link-time failures
like this:

        gcc -shared /local/build/freetype-2.1.4/objs/ftsystem.lo
        /local/build/freetype-2.1.4/objs/ftdebug.lo
        /local/build/freetype-2.1.4/objs/ftinit.lo
        /local/build/freetype-2.1.4/objs/ftbase.lo
        /local/build/freetype-2.1.4/objs/ftglyph.lo
        /local/build/freetype-2.1.4/objs/ftmm.lo
        /local/build/freetype-2.1.4/objs/ftbdf.lo
        /local/build/freetype-2.1.4/objs/fttype1.lo
        /local/build/freetype-2.1.4/objs/ftxf86.lo
        /local/build/freetype-2.1.4/objs/ftpfr.lo
        /local/build/freetype-2.1.4/objs/ftstroker.lo
        /local/build/freetype-2.1.4/objs/ftwinfnt.lo
        /local/build/freetype-2.1.4/objs/ftbbox.lo
        /local/build/freetype-2.1.4/objs/autohint.lo
        /local/build/freetype-2.1.4/objs/bdf.lo
        /local/build/freetype-2.1.4/objs/ftcache.lo
        /local/build/freetype-2.1.4/objs/cff.lo
        /local/build/freetype-2.1.4/objs/type1cid.lo
        /local/build/freetype-2.1.4/objs/ftgzip.lo
        /local/build/freetype-2.1.4/objs/pcf.lo
        /local/build/freetype-2.1.4/objs/pfr.lo
        /local/build/freetype-2.1.4/objs/psaux.lo
        /local/build/freetype-2.1.4/objs/pshinter.lo
        /local/build/freetype-2.1.4/objs/psnames.lo
        /local/build/freetype-2.1.4/objs/raster.lo
        /local/build/freetype-2.1.4/objs/sfnt.lo
        /local/build/freetype-2.1.4/objs/smooth.lo
        /local/build/freetype-2.1.4/objs/truetype.lo
        /local/build/freetype-2.1.4/objs/type1.lo
        /local/build/freetype-2.1.4/objs/type42.lo
        /local/build/freetype-2.1.4/objs/winfnt.lo -lz -Wl,-rpath
        -Wl,-soname -Wl,libfreetype.so.6 -o
        /local/build/freetype-2.1.4/objs/.libs/libfreetype.so.6.3.3
        /usr/local/alpha-unknown-linux-gnu/bin/ld: cannot open 
libfreetype.so.6: No such file or directory
        collect2: ld returned 1 exit status
        make: *** [/local/build/freetype-2.1.4/objs/libfreetype.la] Error 1

The bad linker argument sequence of

        -rpath -soname libfreetype.so.6

is the cause of the failure: -rpath requires a directory following
it, so -soname is gobbled up as that directory, and the linker then
tries to load libfreetype.so.6, which does not exist yet.

On GNU/Linux Red Hat 7.2 on Intel IA-32, linking succeeded, but when I
did "make install", it relinked as above, and died for the same reason.

Finally, it does not appear that a setting of the variable `prefix' in
the environment is correctly propagated to the makefiles, as it should
be according to GNU standards for autoconfiguration.  On systems where
I lack write access to /usr/local, I had to manually set prefix like
this:

        make prefix=$HOME/`arch`/local install

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- Center for Scientific Computing       FAX: +1 801 581 4148                  -
- University of Utah                    Internet e-mail: address@hidden  -
- Department of Mathematics, 110 LCB        address@hidden  address@hidden -
- 155 S 1400 E RM 233                       address@hidden                    -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe  -
-------------------------------------------------------------------------------



reply via email to

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