Bug 667490 - shotwell 0.8.1 cannot be built against vala 0.11.x
Summary: shotwell 0.8.1 cannot be built against vala 0.11.x
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: shotwell
Version: rawhide
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 667032
TreeView+ depends on / blocked
 
Reported: 2011-01-05 18:46 UTC by Siddhesh Poyarekar
Modified: 2018-04-11 14:34 UTC (History)
10 users (show)

Fixed In Version: shotwell-0.8.90-2.r2758.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-03-22 03:47:21 UTC


Attachments (Terms of Use)
Patch to shotwell to resolve build errors (53.95 KB, text/plain)
2011-01-05 18:46 UTC, Siddhesh Poyarekar
no flags Details
Generated file that fails to compile (113.34 KB, text/plain)
2011-01-10 17:40 UTC, Siddhesh Poyarekar
no flags Details
The vala source from which AppWindow.c is generated (28.40 KB, application/octet-stream)
2011-01-10 17:44 UTC, Siddhesh Poyarekar
no flags Details
Patch to move shotwell trunk to cairo (54.90 KB, application/octet-stream)
2011-01-10 17:46 UTC, Siddhesh Poyarekar
no flags Details

Description Siddhesh Poyarekar 2011-01-05 18:46:42 UTC
Created attachment 471921 [details]
Patch to shotwell to resolve build errors

Description of problem:

vala aborts when trying to build a patched version of shotwell 0.8.0 with the following error:

** (valac:12800): CRITICAL **: vala_ccode_function_add_declaration: assertion `self != NULL' failed

** (valac:12800): CRITICAL **: vala_ccode_function_add_expression: assertion `self != NULL' failed

(this repeats a number of times)

**
ERROR:valaccodearraymodule.c:941:vala_ccode_array_module_real_get_array_length_cvalue: assertion failed: (_tmp20_)
make: *** [src/.stamp] Aborted (core dumped)


Version-Release number of selected component (if applicable):
vala-devel-0.11.2-1.fc15.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Get shotwell 0.8.0 source from here:
http://yorba.org/download/shotwell/0.8/shotwell-0.8.0.tar.bz2

2. Apply the patch attached
3. ./configure; make
  
Actual results:
crash

Expected results:
no crash

Additional info:

Comment 1 Siddhesh Poyarekar 2011-01-05 18:48:01 UTC
Setting sev as high since I am unable to get shotwell to build at all as a result of this crash.

Comment 2 Peter Robinson 2011-01-05 19:30:24 UTC
vala 0.11.x is needed for gtk3 / libnotify 0.7 and other gnome 3 changes so I think we're stuck which ever way.

Its not actually a crash but rather errors due to api changes.

Comment 3 Jeff Raber 2011-01-06 05:20:23 UTC
Upstream bug report: http://trac.yorba.org/ticket/2638



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 4 Matěj Cepl 2011-01-07 00:12:45 UTC
Not to be outdone valac crashes as well (bug 667844).

Comment 5 Siddhesh Poyarekar 2011-01-07 02:36:13 UTC
Yes, that is the crash I reported in this bug, except that I called it an abort (since it is an abort()). From description of this bug:

**
ERROR:valaccodearraymodule.c:941:vala_ccode_array_module_real_get_array_length_cvalue:
assertion failed: (_tmp20_)
make: *** [src/.stamp] Aborted (core dumped)

which is the result of:

Thread 1 (Thread 0x7fa68906e720 (LWP 10511)):
#0  0x000000308f8341b5 in raise () from /lib64/libc-2.12.90.so
No symbol table info available.
#1  0x000000308f835b66 in abort () from /lib64/libc-2.12.90.so
No symbol table info available.
#2  0x0000003092869e54 in g_assertion_message (domain=<value optimized out>, file=<value optimized out>, line=<value optimized out>, func=0x3090e47680 "vala_ccode_array_module_real_get_array_length_cvalue", message=0x19955310 "assertion failed: (_tmp20_)") at gtestutils.c:1358
        lstr = "941\000\377\177\000\000\320\372\345\031\000\000\000\000\270\035\232\031\000\000\000\000\020r\344\220\060\000\000"
        s = 0x19ea0430 ""


from the backtrace in the bug you reported. An abort being an error is wrong since it does not really tell me what to fix in the code to get this working.

Comment 6 Siddhesh Poyarekar 2011-01-10 17:38:56 UTC
The crash seems to have gone in 0.11.3, but a new error has come up. The vala files compile successfully, but the resulting c file does not build:

cc -c `pkg-config --cflags atk dbus-glib-1 gconf-2.0 gdk-2.0 gdk-x11-2.0 gee-1.0 gexiv2 gstreamer-0.10 gstreamer-base-0.10 gtk+-2.0 glib-2.0 gudev-1.0 json-glib-1.0 libexif libgphoto2 libsoup-2.4 libxml-2.0 sqlite3 unique-1.0 webkit-1.0  gthread-2.0` -I./vapi -D_PREFIX='"/usr/local"' -D_VERSION='"0.8.0+trunk"' -DGETTEXT_PACKAGE='"shotwell"' -D_LANG_SUPPORT_DIR='"/usr/local/share/locale"' `./libraw-config --cflags` -O2 -g -pipe -fPIC -DG_UDEV_API_IS_SUBJECT_TO_CHANGE -o src/AppWindow.o src/AppWindow.c
src/AppWindow.c: In function ‘fullscreen_window_class_init’:
src/AppWindow.c:1250:41: warning: assignment from incompatible pointer type
src/AppWindow.c: In function ‘app_window_decorate_undo_action’:
src/AppWindow.c:2867:66: error: ‘_tmp23_’ undeclared (first use in this function)
src/AppWindow.c:2867:66: note: each undeclared identifier is reported only once for each function it appears in
src/AppWindow.c:2867:87: error: ‘_tmp24_’ undeclared (first use in this function)
src/AppWindow.c: In function ‘app_window_decorate_redo_action’:
src/AppWindow.c:2883:66: error: ‘_tmp28_’ undeclared (first use in this function)
src/AppWindow.c:2883:87: error: ‘_tmp29_’ undeclared (first use in this function)

Comment 7 Siddhesh Poyarekar 2011-01-10 17:40:27 UTC
Created attachment 472653 [details]
Generated file that fails to compile

Comment 8 Siddhesh Poyarekar 2011-01-10 17:44:40 UTC
Created attachment 472655 [details]
The vala source from which AppWindow.c is generated

Attached files that should help determine the problem. These are from the shotwell upstream svn source with the first patch add along with a patch to move gdk to cairo. Apply the gdk to cairo patch before you add the build errors patch.

Comment 9 Siddhesh Poyarekar 2011-01-10 17:46:04 UTC
Created attachment 472656 [details]
Patch to move shotwell trunk to cairo

This patch is not functionally perfect yet, but is sufficient to remove build warnings related to gdk.

Comment 10 Peter Robinson 2011-01-23 13:36:51 UTC
Looks like shotwell builds in rawhide again, can this patch now be closed?

Comment 11 Siddhesh Poyarekar 2011-01-24 07:24:05 UTC
The rawhide builds have been done against the target dist-f15-gnome3, which seems to be selecting vala-devel-0.10.0-2.fc14 during build. The bug of building shotwell against vala 0.11.x still exists in 0.11.3 as I mentioned in comments 6-8.

Comment 12 Michel Alexandre Salim 2011-03-17 12:45:50 UTC
With Rawhide's 0.11.6, the errors now seem to be due to API changes, and no longer vala compiler errors. Switching target component to shotwell

Comment 13 Michel Alexandre Salim 2011-03-17 12:46:24 UTC
build log with 0.11.6: http://koji.fedoraproject.org/koji/getfile?taskID=2919863&name=build.log

Comment 14 Fedora Update System 2011-03-17 22:12:25 UTC
shotwell-0.8.90-1.r2758.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/shotwell-0.8.90-1.r2758.fc15

Comment 15 Fedora Update System 2011-03-22 03:47:10 UTC
shotwell-0.8.90-2.r2758.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.