Gwyddion – Free SPM (AFM, SNOM/NSOM, STM, MFM, …) data analysis software

Gwyddion3 and 4

What is Gwyddion3? Where I can get it?

And what the hell is Gwyddion4?

What will happen to Gwyddion2?

See the frequently asked questions for Gwyddion 3 and 4.

The rest of this page contains various development logs and statistics.

Linux build log

The Linux/x86-64 build log from 2018-09-03:

=====[ build ]=====
calc.c: In function 'gwy_calc_finalize':
calc.c:55:11: warning: unused variable 'priv' [-Wunused-variable]
Calc *priv = GWY_CALC(object)->priv;
^~~~
fit-param.c: In function 'gwy_fit_param_check_estimate':
fit-param.c:530:13: warning: 'n' may be used uninitialized in this function [-Wmaybe-uninitialized]
while (n--)
~^~
math.c: In function 'gwy_assertion_message_floatval':
math.c:1698:1: warning: 'noreturn' function does return
}
^
In file included from /usr/include/glib-2.0/glib.h:82:0,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from ../../../libraries/libgwy/array.h:23,
from ../../../libraries/libgwy.h:23,
from testlibgwy.h:26,
from curve.c:20:
curve.c: In function 'test_curve_get_data':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'n' may be used uninitialized in this function [-Wmaybe-uninitialized]
guint64 __n1 = (n1), __n2 = (n2); \
^~~~
In file included from /usr/include/glib-2.0/glib.h:82:0,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from ../../../libraries/libgwy/array.h:23,
from ../../../libraries/libgwy.h:23,
from testlibgwy.h:26,
from field.c:22:
field.c: In function 'test_field_get_data_full':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'ndata_full' is used uninitialized in this function [-Wuninitialized]
guint64 __n1 = (n1), __n2 = (n2); \
^~~~
In file included from /usr/include/glib-2.0/glib.h:82:0,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from ../../../libraries/libgwy/array.h:23,
from ../../../libraries/libgwy.h:23,
from testlibgwy.h:26,
from grain-value.c:20:
grain-value.c: In function 'test_one_value':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'grainvaluengrains' may be used uninitialized in this function [-Wmaybe-uninitialized]
guint64 __n1 = (n1), __n2 = (n2); \
^~~~
grain-value.c: In function 'grain_value_assert_equal':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'nres' may be used uninitialized in this function [-Wmaybe-uninitialized]
/usr/include/glib-2.0/glib/gtestutils.h:54:67: warning: 'nref' may be used uninitialized in this function [-Wmaybe-uninitialized]
guint64 __n1 = (n1), __n2 = (n2); \
^~~~
grain-value.c: In function 'test_grain_value_builtin_inscribed_disc':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'grainvaluengrains' may be used uninitialized in this function [-Wmaybe-uninitialized]
guint64 __n1 = (n1), __n2 = (n2); \
^~~~
grain-value.c: In function 'test_grain_value_builtin_exscribed_circle':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'grainvaluengrains' may be used uninitialized in this function [-Wmaybe-uninitialized]
grain-value.c: In function 'test_grain_value_builtin_edge_distance_circular':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'grainvaluengrains' may be used uninitialized in this function [-Wmaybe-uninitialized]
grain-value.c: In function 'test_grain_value_builtin_moment_lines':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'grainvaluengrains' may be used uninitialized in this function [-Wmaybe-uninitialized]
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'grainvaluengrains' may be used uninitialized in this function [-Wmaybe-uninitialized]
grain-value.c: In function 'test_grain_value_builtin_moment_rectangles':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'grainvaluengrains' may be used uninitialized in this function [-Wmaybe-uninitialized]
int-set.c: In function 'test_int_set_ranges':
int-set.c:419:29: warning: 'len' is used uninitialized in this function [-Wuninitialized]
for (guint i = 0; i < len; i++) {
~~^~~~~
In file included from /usr/include/glib-2.0/glib.h:82:0,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from ../../../libraries/libgwy/array.h:23,
from ../../../libraries/libgwy.h:23,
from testlibgwy.h:26,
from line.c:21:
line.c: In function 'test_line_get_data_full':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'ndata_full' is used uninitialized in this function [-Wuninitialized]
guint64 __n1 = (n1), __n2 = (n2); \
^~~~
In file included from /usr/include/glib-2.0/glib.h:82:0,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from ../../../libraries/libgwy/array.h:23,
from ../../../libraries/libgwy.h:23,
from testlibgwy.h:26,
from surface.c:20:
surface.c: In function 'test_surface_get_data':
/usr/include/glib-2.0/glib/gtestutils.h:54:54: warning: 'n' may be used uninitialized in this function [-Wmaybe-uninitialized]
guint64 __n1 = (n1), __n2 = (n2); \
^~~~
adjust-bar.c: In function 'set_snap_to_ticks':
adjust-bar.c:700:18: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
if (!setting == priv->snap_to_ticks)
^~
adjust-bar.c:700:9: note: add parentheses around left hand side expression to silence this warning
if (!setting == priv->snap_to_ticks)
^~~~~~~~
(       )
choice.c: In function 'gwy_choice_create_buttons':
choice.c:542:13: warning: 'gtk_image_new_from_stock' is deprecated: Use 'gtk_image_new_from_icon_name' instead [-Wdeprecated-declarations]
image = gtk_image_new_from_stock(option.stock_id, icon_size);
^~~~~
In file included from /usr/include/gtk-3.0/gtk/gtkentry.h:42:0,
from /usr/include/gtk-3.0/gtk/gtktreeview.h:29,
from /usr/include/gtk-3.0/gtk/gtkcombobox.h:27,
from /usr/include/gtk-3.0/gtk/gtkappchooserbutton.h:29,
from /usr/include/gtk-3.0/gtk/gtk.h:42,
from ../../libraries/libgwyui/cairo-utils.h:26,
from choice.c:25:
/usr/include/gtk-3.0/gtk/gtkimage.h:122:12: note: declared here
GtkWidget* gtk_image_new_from_stock     (const gchar     *stock_id,
^~~~~~~~~~~~~~~~~~~~~~~~
choice.c: In function 'next_option':
choice.c:803:9: warning: 'gtk_stock_lookup' is deprecated [-Wdeprecated-declarations]
gtk_stock_lookup(opt->stock_id, &stock_item);
^~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/deprecated/gtkactiongroup.h:37:0,
from /usr/include/gtk-3.0/gtk/gtk.h:250,
from ../../libraries/libgwyui/cairo-utils.h:26,
from choice.c:25:
/usr/include/gtk-3.0/gtk/deprecated/gtkstock.h:82:10: note: declared here
gboolean gtk_stock_lookup     (const gchar         *stock_id,
^~~~~~~~~~~~~~~~
list-selection-binding.c: In function 'transform_intset_to_path_ranges':
list-selection-binding.c:495:25: warning: 'n' is used uninitialized in this function [-Wuninitialized]
for (guint i = 0; i < n; i++) {
~~^~~
raster-view.c: In function 'create_axis_button':
raster-view.c:1061:5: warning: 'gtk_button_set_alignment' is deprecated [-Wdeprecated-declarations]
gtk_button_set_alignment(GTK_BUTTON(button), 0.5, 0.5);
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:54:0,
from ../../libraries/libgwyui/main.h:23,
from raster-view.c:25:
/usr/include/gtk-3.0/gtk/gtkbutton.h:143:23: note: declared here
void                  gtk_button_set_alignment      (GtkButton      *button,
^~~~~~~~~~~~~~~~~~~~~~~~
raster-view.c:1062:5: warning: 'gtk_image_new_from_stock' is deprecated: Use 'gtk_image_new_from_icon_name' instead [-Wdeprecated-declarations]
GtkWidget *child = gtk_image_new_from_stock(content,
^~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtkentry.h:42:0,
from /usr/include/gtk-3.0/gtk/gtktreeview.h:29,
from /usr/include/gtk-3.0/gtk/gtkcombobox.h:27,
from /usr/include/gtk-3.0/gtk/gtkappchooserbutton.h:29,
from /usr/include/gtk-3.0/gtk/gtk.h:42,
from ../../libraries/libgwyui/main.h:23,
from raster-view.c:25:
/usr/include/gtk-3.0/gtk/gtkimage.h:122:12: note: declared here
GtkWidget* gtk_image_new_from_stock     (const gchar     *stock_id,
^~~~~~~~~~~~~~~~~~~~~~~~
raster-view.c: In function 'pop_up_ruler_menu':
raster-view.c:1253:5: warning: 'gtk_menu_popup' is deprecated: Use '(gtk_menu_popup_at_widget, gtk_menu_popup_at_pointer, gtk_menu_popup_at_rect)' instead [-Wdeprecated-declarations]
gtk_menu_popup(priv->ruler_popup, NULL, NULL, NULL, NULL,
^~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtklabel.h:34:0,
from /usr/include/gtk-3.0/gtk/gtkaccellabel.h:35,
from /usr/include/gtk-3.0/gtk/gtk.h:33,
from ../../libraries/libgwyui/main.h:23,
from raster-view.c:25:
/usr/include/gtk-3.0/gtk/gtkmenu.h:138:9: note: declared here
void    gtk_menu_popup    (GtkMenu        *menu,
^~~~~~~~~~~~~~
spin-button.c: In function 'gwy_spin_button_style_updated':
spin-button.c:1093:9: warning: 'gtk_style_context_set_background' is deprecated: Use 'gtk_render_background' instead [-Wdeprecated-declarations]
gtk_style_context_set_background(context, priv->panel);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtkicontheme.h:27:0,
from /usr/include/gtk-3.0/gtk/gtk.h:123,
from ../../libraries/libgwyui/spin-button.h:40,
from spin-button.c:43:
/usr/include/gtk-3.0/gtk/gtkstylecontext.h:1232:6: note: declared here
void gtk_style_context_set_background       (GtkStyleContext *context,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
spin-button.c: In function 'gwy_spin_button_configure':
spin-button.c:1776:5: warning: 'gtk_adjustment_value_changed' is deprecated [-Wdeprecated-declarations]
gtk_adjustment_value_changed(adjustment);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:38:0,
from ../../libraries/libgwyui/spin-button.h:40,
from spin-button.c:43:
/usr/include/gtk-3.0/gtk/gtkadjustment.h:89:12: note: declared here
void       gtk_adjustment_value_changed         (GtkAdjustment   *adjustment);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
stock.c: In function 'bytes_to_icon_source':
stock.c:231:9: warning: 'gdk_pixdata_deserialize' is deprecated [-Wdeprecated-declarations]
if (!gdk_pixdata_deserialize(&pixdata, size, data, &error)
^~
In file included from stock.c:24:0:
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h:110:10: note: declared here
gboolean gdk_pixdata_deserialize (GdkPixdata  *pixdata,
^~~~~~~~~~~~~~~~~~~~~~~
stock.c:232:13: warning: 'gdk_pixbuf_from_pixdata' is deprecated [-Wdeprecated-declarations]
|| !(pixbuf = gdk_pixbuf_from_pixdata(&pixdata, FALSE, &error))) {
^~
In file included from stock.c:24:0:
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h:119:12: note: declared here
GdkPixbuf* gdk_pixbuf_from_pixdata (const GdkPixdata *pixdata,
^~~~~~~~~~~~~~~~~~~~~~~
=====[ update_translations ]=====
No translations for gwyddion4
=====[ check_deps_versions ]=====
Traceback (most recent call last):
File "/usr/bin/gtkdoc-depscan", line 353, in <module>
symbols.update(book.symbols)
File "/usr/bin/gtkdoc-depscan", line 89, in _get_symbols
self.parse(); return self.__symbols
File "/usr/bin/gtkdoc-depscan", line 84, in parse
parser.parse(open(self.__catalog))
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 111, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 220, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.7/xml/sax/expatreader.py", line 336, in start_element
self._cont_handler.startElement(name, AttributesImpl(attrs))
File "/usr/bin/gtkdoc-depscan", line 69, in startElement
symbol = Symbol.from_xml(self.__book, attrs)
File "/usr/bin/gtkdoc-depscan", line 212, in from_xml
if since: since = Symbol.VersionInfo(since)
File "/usr/bin/gtkdoc-depscan", line 154, in __init__
self.__numbers = map(int, match.group(1).split('.'))
AttributeError: 'NoneType' object has no attribute 'group'
=====[ install ]=====
make[3]: *** [Makefile:972: install-data-local] Error 1
make[3]: Target 'install-data-am' not remade because of errors.
make[2]: *** [Makefile:759: install-am] Error 2
make[2]: Target 'install' not remade because of errors.
make[3]: *** [Makefile:955: install-data-local] Error 1
make[3]: Target 'install-data-am' not remade because of errors.
make[2]: *** [Makefile:742: install-am] Error 2
make[2]: Target 'install' not remade because of errors.
make[3]: *** [Makefile:782: install-data-local] Error 1
make[3]: Target 'install-data-am' not remade because of errors.
make[2]: *** [Makefile:576: install-am] Error 2
make[2]: Target 'install' not remade because of errors.
make[1]: *** [Makefile:483: install-recursive] Error 1
make[1]: Target 'install' not remade because of errors.
make: *** [Makefile:550: install-recursive] Error 1
make: Target 'install' not remade because of errors.
=====[ build_rpm ]=====
make[3]: *** [Makefile:972: install-data-local] Error 1
make[2]: *** [Makefile:759: install-am] Error 2
make[1]: *** [Makefile:483: install-recursive] Error 1
make: *** [Makefile:550: install-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.GIPl5m (%install)
Bad exit status from /var/tmp/rpm-tmp.GIPl5m (%install)
=====[ distcheck ]=====
from ../../../../../libraries/libgwy/array.h:23,
from ../../../../../libraries/libgwy.h:23,
from ../../../../../libraries/libgwy/tests/testlibgwy.h:26,
from ../../../../../libraries/libgwy/tests/curve.c:20:
from ../../../../../libraries/libgwy/array.h:23,
from ../../../../../libraries/libgwy.h:23,
from ../../../../../libraries/libgwy/tests/testlibgwy.h:26,
from ../../../../../libraries/libgwy/tests/field.c:22:
from ../../../../../libraries/libgwy/array.h:23,
from ../../../../../libraries/libgwy.h:23,
from ../../../../../libraries/libgwy/tests/testlibgwy.h:26,
from ../../../../../libraries/libgwy/tests/grain-value.c:20:
from ../../../../../libraries/libgwy/array.h:23,
from ../../../../../libraries/libgwy.h:23,
from ../../../../../libraries/libgwy/tests/testlibgwy.h:26,
from ../../../../../libraries/libgwy/tests/line.c:21:
from ../../../../../libraries/libgwy/array.h:23,
from ../../../../../libraries/libgwy.h:23,
from ../../../../../libraries/libgwy/tests/testlibgwy.h:26,
from ../../../../../libraries/libgwy/tests/surface.c:20:
from ../../../../libraries/libgwyui/cairo-utils.h:26,
from ../../../../libraries/libgwyui/choice.c:25:
from ../../../../libraries/libgwyui/cairo-utils.h:26,
from ../../../../libraries/libgwyui/choice.c:25:
from ../../../../libraries/libgwyui/main.h:23,
from ../../../../libraries/libgwyui/raster-view.c:25:
from ../../../../libraries/libgwyui/main.h:23,
from ../../../../libraries/libgwyui/raster-view.c:25:
from ../../../../libraries/libgwyui/main.h:23,
from ../../../../libraries/libgwyui/raster-view.c:25:
from ../../../../libraries/libgwyui/spin-button.h:40,
from ../../../../libraries/libgwyui/spin-button.c:43:
from ../../../../libraries/libgwyui/spin-button.h:40,
from ../../../../libraries/libgwyui/spin-button.c:43:
In file included from ../../../../libraries/libgwyui/stock.c:24:0:
In file included from ../../../../libraries/libgwyui/stock.c:24:0:
make[4]: *** [Makefile:972: install-data-local] Error 1
make[3]: *** [Makefile:759: install-am] Error 2
make[2]: *** [Makefile:483: install-recursive] Error 1
make[1]: *** [Makefile:550: install-recursive] Error 1
make: *** [Makefile:760: distcheck] Error 1

GObject introspection log.

Timeline summarising old build logs.

Unit test report

Test ProgramSuccessesFailuresTime [s]
./tests/testlibgwy7620191.312081full reportcoverage

Valgrind report for all the tests.

API documentation

Documentation coverage:

Library Fully% Partially% Missing% Total Graph
libgwy 147099.06 00.00 140.94 1484 
libgwyui 55997.22 10.17 152.61 575 
libgwyapp 10095.24 32.86 21.90 105 

Vim syntax file: gwyddion4.vim.

Translations

For libgwy:

Language Translated% Fuzzy% Missing% Total Graph
cs 3118.56 31.80 13379.64 167 

For libgwyui:

Language Translated% Fuzzy% Missing% Total Graph
cs 423.53 00.00 1376.47 17 

For libgwyapp:

Language Translated% Fuzzy% Missing% Total Graph
cs 318.75 318.75 1062.50 16 
1.41 (yeti, 2013-12-08 08:26:52)
© David Nečas and Petr Klapetek

Home Download News Features Screenshots Documentation Communicate Participate Resources Publications Applications Site Map

Valid XHTML 1.0 Valid CSS