← Back to team overview

scratch team mailing list archive

Re: Please help -- errors while compiling Scratch tarball (T#562835)

 

Hello Jean,

Just today we made a beta .rpm package of Scratch available on our website. This package was contributed by a community member, and needs testing. Please try it out and let us know how things go.

http://info.scratch.mit.edu/Scratch_on_Linux

The package spec file is available on the Assembla site linked from the same page, so if you'd like to contribute changes, let me know and I'll add you to the Assembla team. Anyone should be able to report bugs / tickets via the Assembla page.

Hopefully, the package will work for you, and compiler errors won't matter. At a glance, it looks like the errors are caused by failed dependencies on libpango and libcairo. The .rpm spec file available on the Assembla site (or the Debian control file) should declare / describe all the various dependencies necessary to compile the plugins.

Scratch On!
Amos
Scratch Team


On 05/10/2010 12:25 PM, Jean Griffin wrote:
Hello Amos,

We'd really appreciate help getting Scratch installed on SuSe linux.
If we get it working I would likely introduce ~300 UPenn undergrads
to Scratch during the upcoming year, as I would include it in the
lab work for my intro programming course.

- Jean Griffin

Sr Lecturer
Dept of Computer and Information Sciences
University of Pennsylvania

Karl E. Morris wrote:
Hi Amos Blanton,

I have been directed to contact you with regard to a problem that I am
having trying compile the Scratch tarball for our systems.

We are running SuSE Linux 11.2 and, as there was no RPM package
available for RedHat/SuSE systems, I downloaded and unpacked the tarball
that was supplied on the Scratch website.

I am at a loss as to how to continue, as it won't compile.  Here is the
output of errors (warning, it's long):

[morriske@frost scratch]$ more Makefile
all: clean build
build:
    $(MAKE) build -C src/plugins/scratch/
    $(MAKE) build -C src/plugins/unicode/
    $(MAKE) build -C src/plugins/camera/

clean:
    $(MAKE) clean -C src/plugins/scratch/
    $(MAKE) clean -C src/plugins/unicode/
    $(MAKE) clean -C src/plugins/camera/
[morriske@frost scratch]$ make all
make clean -C src/plugins/scratch/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
rm -f *.o ../../../Plugins/ScratchPlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
make clean -C src/plugins/unicode/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
rm -f *.o ../../../Plugins/UnicodePlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
make clean -C src/plugins/camera/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/camera'
rm -f *.o ../../../Plugins/CameraPlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/camera'
make build -C src/plugins/scratch/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
gcc -fPIC -Wall -c *.c
ScratchPlugin.c:107: warning: 'checkedFloatPtrOf' defined but not used
ScratchPlugin.c:115: warning: 'checkedUnsignedIntPtrOf' defined but not used
ScratchPlugin.c:123: warning: 'hueFromRGBminmax' defined but not used
ScratchPlugin.c:146: warning: 'interpolateandfrac' defined but not used
gcc -shared *.o -o ../../../Plugins/ScratchPlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
make build -C src/plugins/unicode/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
gcc -fPIC -Wall -c `pkg-config --cflags pangocairo` *.c
Package xcb was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xcb', required by 'cairo', not found
UnicodeOps-linux.c:1:30: error: pango/pangocairo.h: No such file or
directory
UnicodeOps-linux.c:2:26: error: glib/gprintf.h: No such file or directory
UnicodeOps-linux.c:19: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '*' token
UnicodeOps-linux.c:20: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '*' token
UnicodeOps-linux.c:21: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '*' token
UnicodeOps-linux.c:30: error: expected ')' before '*' token
UnicodeOps-linux.c: In function 'unicodeGetFontList':
UnicodeOps-linux.c:105: error: 'PangoFontMap' undeclared (first use in
this function)
UnicodeOps-linux.c:105: error: (Each undeclared identifier is reported
only once
UnicodeOps-linux.c:105: error: for each function it appears in.)
UnicodeOps-linux.c:105: error: 'fontMap' undeclared (first use in this
function)
UnicodeOps-linux.c:106: error: 'PangoFontFamily' undeclared (first use
in this function)
UnicodeOps-linux.c:106: error: 'fontFomilies' undeclared (first use in
this function)
UnicodeOps-linux.c:111: error: 'cachedLayout' undeclared (first use in
this function)
UnicodeOps-linux.c:112: error: 'cairo_surface_t' undeclared (first use
in this function)
UnicodeOps-linux.c:112: error: 'surface' undeclared (first use in this
function)
UnicodeOps-linux.c:112: warning: implicit declaration of function
'cairo_image_surface_create'
UnicodeOps-linux.c:112: error: 'CAIRO_FORMAT_A8' undeclared (first use
in this function)
UnicodeOps-linux.c:113: error: 'cairo_t' undeclared (first use in this
function)
UnicodeOps-linux.c:113: error: 'cr' undeclared (first use in this function)
UnicodeOps-linux.c:113: warning: implicit declaration of function
'cairo_create'
UnicodeOps-linux.c:114: warning: implicit declaration of function
'pango_cairo_create_layout'
UnicodeOps-linux.c:117: warning: implicit declaration of function
'pango_context_get_font_map'
UnicodeOps-linux.c:117: warning: implicit declaration of function
'pango_layout_get_context'
UnicodeOps-linux.c:118: warning: implicit declaration of function
'pango_font_map_list_families'
UnicodeOps-linux.c:121: warning: implicit declaration of function
'pango_font_family_get_name'
UnicodeOps-linux.c:121: warning: passing argument 2 of 'strncat' makes
pointer from integer without a cast
UnicodeOps-linux.c:124: warning: implicit declaration of function 'g_free'
UnicodeOps-linux.c: In function 'unicodeDrawString':
UnicodeOps-linux.c:135: error: 'cairo_surface_t' undeclared (first use
in this function)
UnicodeOps-linux.c:135: error: 'surface' undeclared (first use in this
function)
UnicodeOps-linux.c:135: warning: implicit declaration of function
'cairo_image_surface_create_for_data'
UnicodeOps-linux.c:135: error: 'CAIRO_FORMAT_RGB24' undeclared (first
use in this function)
UnicodeOps-linux.c:136: error: 'cairo_t' undeclared (first use in this
function)
UnicodeOps-linux.c:136: error: 'cr' undeclared (first use in this function)
UnicodeOps-linux.c:137: error: 'PangoLayout' undeclared (first use in
this function)
UnicodeOps-linux.c:137: error: 'layout' undeclared (first use in this
function)
UnicodeOps-linux.c:139: warning: implicit declaration of function
'computeLayout'
UnicodeOps-linux.c:143: warning: implicit declaration of function
'cairo_set_source_rgb'
UnicodeOps-linux.c:144: warning: implicit declaration of function
'cairo_paint'
UnicodeOps-linux.c:147: warning: implicit declaration of function
'cairo_translate'
UnicodeOps-linux.c:149: warning: implicit declaration of function
'pango_cairo_show_layout'
UnicodeOps-linux.c:161: warning: implicit declaration of function
'g_object_unref'
UnicodeOps-linux.c:162: warning: implicit declaration of function
'cairo_destroy'
UnicodeOps-linux.c:163: warning: implicit declaration of function
'cairo_surface_destroy'
UnicodeOps-linux.c: In function 'unicodeGetXRanges':
UnicodeOps-linux.c:169: error: 'PangoRectangle' undeclared (first use in
this function)
UnicodeOps-linux.c:169: error: expected ';' before 'rect'
UnicodeOps-linux.c:174: error: 'cachedLayout' undeclared (first use in
this function)
UnicodeOps-linux.c:175: error: 'cairo_surface_t' undeclared (first use
in this function)
UnicodeOps-linux.c:175: error: 'surface' undeclared (first use in this
function)
UnicodeOps-linux.c:175: error: 'CAIRO_FORMAT_A8' undeclared (first use
in this function)
UnicodeOps-linux.c:176: error: 'cairo_t' undeclared (first use in this
function)
UnicodeOps-linux.c:176: error: 'cr' undeclared (first use in this function)
UnicodeOps-linux.c:184: warning: implicit declaration of function
'pango_layout_index_to_pos'
UnicodeOps-linux.c:184: error: 'rect' undeclared (first use in this
function)
UnicodeOps-linux.c:190: warning: implicit declaration of function
'PANGO_PIXELS'
UnicodeOps-linux.c: In function 'unicodeMeasureString':
UnicodeOps-linux.c:201: error: 'cachedLayout' undeclared (first use in
this function)
UnicodeOps-linux.c:202: error: 'cairo_surface_t' undeclared (first use
in this function)
UnicodeOps-linux.c:202: error: 'surface' undeclared (first use in this
function)
UnicodeOps-linux.c:202: error: 'CAIRO_FORMAT_A8' undeclared (first use
in this function)
UnicodeOps-linux.c:203: error: 'cairo_t' undeclared (first use in this
function)
UnicodeOps-linux.c:203: error: 'cr' undeclared (first use in this function)
UnicodeOps-linux.c: In function 'unicodeSetFont':
UnicodeOps-linux.c:223: warning: implicit declaration of function
'g_sprintf'
UnicodeOps-linux.c:229: error: 'fontDescr' undeclared (first use in this
function)
UnicodeOps-linux.c:229: warning: implicit declaration of function
'pango_font_description_free'
UnicodeOps-linux.c:230: warning: implicit declaration of function
'pango_font_description_from_string'
UnicodeOps-linux.c:232: error: 'fontOptions' undeclared (first use in
this function)
UnicodeOps-linux.c:233: warning: implicit declaration of function
'cairo_font_options_create'
UnicodeOps-linux.c:248: warning: implicit declaration of function
'cairo_font_options_set_hint_style'
UnicodeOps-linux.c:248: error: 'CAIRO_HINT_STYLE_DEFAULT' undeclared
(first use in this function)
UnicodeOps-linux.c:249: warning: implicit declaration of function
'cairo_font_options_set_hint_metrics'
UnicodeOps-linux.c:249: error: 'CAIRO_HINT_METRICS_DEFAULT' undeclared
(first use in this function)
UnicodeOps-linux.c:252: warning: implicit declaration of function
'cairo_font_options_set_antialias'
UnicodeOps-linux.c:252: error: 'CAIRO_ANTIALIAS_GRAY' undeclared (first
use in this function)
UnicodeOps-linux.c:252: error: 'CAIRO_ANTIALIAS_NONE' undeclared (first
use in this function)
make[1]: *** [build] Error 1
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
make: *** [build] Error 2
[morriske@frost scratch]$ locate xcb.pc
/usr/lib64/pkgconfig/cairo-xcb.pc
/usr/lib64/pkgconfig/x11-xcb.pc
[morriske@frost scratch]$ echo $PKG_CONFIG_PATH
[morriske@frost scratch]$ export
PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib64/pkgconfig
[morriske@frost scratch]$ echo $PKG_CONFIG_PATH
/usr/lib64/pkgconfig:/usr/lib64/pkgconfig
[morriske@frost scratch]$ make clean
make clean -C src/plugins/scratch/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
rm -f *.o ../../../Plugins/ScratchPlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
make clean -C src/plugins/unicode/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
rm -f *.o ../../../Plugins/UnicodePlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
make clean -C src/plugins/camera/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/camera'
rm -f *.o ../../../Plugins/CameraPlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/camera'

[morriske@frost scratch]$ make
make clean -C src/plugins/scratch/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
rm -f *.o ../../../Plugins/ScratchPlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
make clean -C src/plugins/unicode/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
rm -f *.o ../../../Plugins/UnicodePlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
make clean -C src/plugins/camera/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/camera'
rm -f *.o ../../../Plugins/CameraPlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/camera'
make build -C src/plugins/scratch/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
gcc -fPIC -Wall -c *.c
ScratchPlugin.c:107: warning: 'checkedFloatPtrOf' defined but not used
ScratchPlugin.c:115: warning: 'checkedUnsignedIntPtrOf' defined but not used
ScratchPlugin.c:123: warning: 'hueFromRGBminmax' defined but not used
ScratchPlugin.c:146: warning: 'interpolateandfrac' defined but not used
gcc -shared *.o -o ../../../Plugins/ScratchPlugin
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/scratch'
make build -C src/plugins/unicode/
make[1]: Entering directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
gcc -fPIC -Wall -c `pkg-config --cflags pangocairo` *.c
Package xcb was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xcb', required by 'cairo', not found
UnicodeOps-linux.c:1:30: error: pango/pangocairo.h: No such file or
directory
UnicodeOps-linux.c:2:26: error: glib/gprintf.h: No such file or directory
UnicodeOps-linux.c:19: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '*' token
UnicodeOps-linux.c:20: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '*' token
UnicodeOps-linux.c:21: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '*' token
UnicodeOps-linux.c:30: error: expected ')' before '*' token
UnicodeOps-linux.c: In function 'unicodeGetFontList':
UnicodeOps-linux.c:105: error: 'PangoFontMap' undeclared (first use in
this function)
UnicodeOps-linux.c:105: error: (Each undeclared identifier is reported
only once
UnicodeOps-linux.c:105: error: for each function it appears in.)
UnicodeOps-linux.c:105: error: 'fontMap' undeclared (first use in this
function)
UnicodeOps-linux.c:106: error: 'PangoFontFamily' undeclared (first use
in this function)
UnicodeOps-linux.c:106: error: 'fontFomilies' undeclared (first use in
this function)
UnicodeOps-linux.c:111: error: 'cachedLayout' undeclared (first use in
this function)
UnicodeOps-linux.c:112: error: 'cairo_surface_t' undeclared (first use
in this function)
UnicodeOps-linux.c:112: error: 'surface' undeclared (first use in this
function)
UnicodeOps-linux.c:112: warning: implicit declaration of function
'cairo_image_surface_create'
UnicodeOps-linux.c:112: error: 'CAIRO_FORMAT_A8' undeclared (first use
in this function)
UnicodeOps-linux.c:113: error: 'cairo_t' undeclared (first use in this
function)
UnicodeOps-linux.c:113: error: 'cr' undeclared (first use in this function)
UnicodeOps-linux.c:113: warning: implicit declaration of function
'cairo_create'
UnicodeOps-linux.c:114: warning: implicit declaration of function
'pango_cairo_create_layout'
UnicodeOps-linux.c:117: warning: implicit declaration of function
'pango_context_get_font_map'
UnicodeOps-linux.c:117: warning: implicit declaration of function
'pango_layout_get_context'
UnicodeOps-linux.c:118: warning: implicit declaration of function
'pango_font_map_list_families'
UnicodeOps-linux.c:121: warning: implicit declaration of function
'pango_font_family_get_name'
UnicodeOps-linux.c:121: warning: passing argument 2 of 'strncat' makes
pointer from integer without a cast
UnicodeOps-linux.c:124: warning: implicit declaration of function 'g_free'
UnicodeOps-linux.c: In function 'unicodeDrawString':
UnicodeOps-linux.c:135: error: 'cairo_surface_t' undeclared (first use
in this function)
UnicodeOps-linux.c:135: error: 'surface' undeclared (first use in this
function)
UnicodeOps-linux.c:135: warning: implicit declaration of function
'cairo_image_surface_create_for_data'
UnicodeOps-linux.c:135: error: 'CAIRO_FORMAT_RGB24' undeclared (first
use in this function)
UnicodeOps-linux.c:136: error: 'cairo_t' undeclared (first use in this
function)
UnicodeOps-linux.c:136: error: 'cr' undeclared (first use in this function)
UnicodeOps-linux.c:137: error: 'PangoLayout' undeclared (first use in
this function)
UnicodeOps-linux.c:137: error: 'layout' undeclared (first use in this
function)
UnicodeOps-linux.c:139: warning: implicit declaration of function
'computeLayout'
UnicodeOps-linux.c:143: warning: implicit declaration of function
'cairo_set_source_rgb'
UnicodeOps-linux.c:144: warning: implicit declaration of function
'cairo_paint'
UnicodeOps-linux.c:147: warning: implicit declaration of function
'cairo_translate'
UnicodeOps-linux.c:149: warning: implicit declaration of function
'pango_cairo_show_layout'
UnicodeOps-linux.c:161: warning: implicit declaration of function
'g_object_unref'
UnicodeOps-linux.c:162: warning: implicit declaration of function
'cairo_destroy'
UnicodeOps-linux.c:163: warning: implicit declaration of function
'cairo_surface_destroy'
UnicodeOps-linux.c: In function 'unicodeGetXRanges':
UnicodeOps-linux.c:169: error: 'PangoRectangle' undeclared (first use in
this function)
UnicodeOps-linux.c:169: error: expected ';' before 'rect'
UnicodeOps-linux.c:174: error: 'cachedLayout' undeclared (first use in
this function)
UnicodeOps-linux.c:175: error: 'cairo_surface_t' undeclared (first use
in this function)
UnicodeOps-linux.c:175: error: 'surface' undeclared (first use in this
function)
UnicodeOps-linux.c:175: error: 'CAIRO_FORMAT_A8' undeclared (first use
in this function)
UnicodeOps-linux.c:176: error: 'cairo_t' undeclared (first use in this
function)
UnicodeOps-linux.c:176: error: 'cr' undeclared (first use in this function)
UnicodeOps-linux.c:184: warning: implicit declaration of function
'pango_layout_index_to_pos'
UnicodeOps-linux.c:184: error: 'rect' undeclared (first use in this
function)
UnicodeOps-linux.c:190: warning: implicit declaration of function
'PANGO_PIXELS'
UnicodeOps-linux.c: In function 'unicodeMeasureString':
UnicodeOps-linux.c:201: error: 'cachedLayout' undeclared (first use in
this function)
UnicodeOps-linux.c:202: error: 'cairo_surface_t' undeclared (first use
in this function)
UnicodeOps-linux.c:202: error: 'surface' undeclared (first use in this
function)
UnicodeOps-linux.c:202: error: 'CAIRO_FORMAT_A8' undeclared (first use
in this function)
UnicodeOps-linux.c:203: error: 'cairo_t' undeclared (first use in this
function)
UnicodeOps-linux.c:203: error: 'cr' undeclared (first use in this function)
UnicodeOps-linux.c: In function 'unicodeSetFont':
UnicodeOps-linux.c:223: warning: implicit declaration of function
'g_sprintf'
UnicodeOps-linux.c:229: error: 'fontDescr' undeclared (first use in this
function)
UnicodeOps-linux.c:229: warning: implicit declaration of function
'pango_font_description_free'
UnicodeOps-linux.c:230: warning: implicit declaration of function
'pango_font_description_from_string'
UnicodeOps-linux.c:232: error: 'fontOptions' undeclared (first use in
this function)
UnicodeOps-linux.c:233: warning: implicit declaration of function
'cairo_font_options_create'
UnicodeOps-linux.c:248: warning: implicit declaration of function
'cairo_font_options_set_hint_style'
UnicodeOps-linux.c:248: error: 'CAIRO_HINT_STYLE_DEFAULT' undeclared
(first use in this function)
UnicodeOps-linux.c:249: warning: implicit declaration of function
'cairo_font_options_set_hint_metrics'
UnicodeOps-linux.c:249: error: 'CAIRO_HINT_METRICS_DEFAULT' undeclared
(first use in this function)
UnicodeOps-linux.c:252: warning: implicit declaration of function
'cairo_font_options_set_antialias'
UnicodeOps-linux.c:252: error: 'CAIRO_ANTIALIAS_GRAY' undeclared (first
use in this function)
UnicodeOps-linux.c:252: error: 'CAIRO_ANTIALIAS_NONE' undeclared (first
use in this function)
make[1]: *** [build] Error 1
make[1]: Leaving directory
`/mnt/castor/seas_home/m/morriske/course-sup/scratch/src/plugins/unicode'
make: *** [build] Error 2


Any assistance that you can lend would be appreciated.  Thank you.