Home Page Home Page
 Home | Linux Administration | Corporate Services | Resources | About Us Support Center
Monthly Server Management One-time Server Services Other Services
Network Administration Network Monitoring Network Security High Availability Load Balancing Data Backup and Recovery
Linux HOWTOs Linux Guides Linux Articles New RFCs Vulnerability list Linux Journal
Testimonials Partners Careers Contact Us Site Map
Building and Installing Software Packages for Linux: Second Example: Xloadimage Next Previous Contents

10. Second Example: Xloadimage

This example poses an easier problem. The xloadimage program seemed a useful addition to my set of graphic tools. I copied the xloadi41.gz file directly from the source directory on the CD included with the excellent X User Tools book, by Mui and Quercia. As expected, tar xzvf unarchives the files. The make, however, produces a nasty-looking error and terminates.

gcc -c -O -fstrength-reduce -finline-functions -fforce-mem
-fforce-addr -DSYSV  -I/usr/X11R6/include
-DSYSPATHFILE=\"/usr/lib/X11/Xloadimage\" mcidas.c

In file included from /usr/include/stdlib.h:32,
                 from image.h:23,
                 from xloadimage.h:15,
                 from mcidas.c:7:
/usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:
conflicting types for `wchar_t'
/usr/X11R6/include/X11/Xlib.h:74: previous declaration of
`wchar_t'
make[1]: *** [mcidas.o] Error 1
make[1]: Leaving directory
`/home/thegrendel/tst/xloadimage.4.1'
make: *** [default] Error 2

The error message contains the essential clue.

Looking at the file image.h, line 23...

       #include <stdlib.h>

Aha, somewhere in the source for xloadimage, wchar_t has been redefined from what was specified in the standard include file, stdlib.h. Let us first try commenting out line 23 in image.h, as perhaps the stdlib.h include is not, after all, necessary.

At this point, the build proceeds without any fatal errors. The xloadimage package functions correctly now.


Next Previous Contents