ABI incompatibility
Guo Yixuan
culu.gyx at gmail.com
Fri Jul 4 16:22:41 UTC 2014
Hi,
Recently I encountered a seti crash with this stderr log:
boinc-app-seti is invoked with the following arguments:
--start
--end.
I: boinc_parse_init_data_file
I: boinc_get_init_data
I: sah_graphics_init
I: boinc_init
I: worker
I: worker() - common_init
I: worker() - read_wu_state
I: worker() - seti_do_work
Restarted at 0.41 percent.
../../projects/setiathome.berkeley.edu/setiathome_v7: symbol lookup error:
../../projects/setiathome.berkeley.edu/setiathome_v7: undefined symbol:
_Z20boinc_temporary_exitiPKc
</stderr_txt>
The reason is I used a older seti with a newer libboinc-app7:
$ dpkg -l libboinc-app7 boinc-app-seti-graphics
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture
Description
+++-=================================-=====================-=====================-=======================================================================
ii boinc-app-seti-graphics 7.28~svn2385-1 amd64
SETI at home application for the BOINC client (with graphics)
ii libboinc-app7 7.4.8+dfsg-1 amd64
libraries for BOINC's scientific applications
The boinc_temporary_exit() function changed its signature
at 7.4.1 [1], which caused this ABI incompatibility. Can we
solve this problem by using stricter version-qualified
dependency?
(I think the correct solution would be a SONAME change or
symbol versioning, but these seem to be impossible without
support from upstream.)
[1]
http://boinc.berkeley.edu/gitweb/?p=boinc-v2.git;a=commitdiff;h=f15f6d2ba0621f820bd685877b89c14b07c732f2
Regards,
Yixuan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-boinc-devel/attachments/20140704/49a254f2/attachment.html>
More information about the pkg-boinc-devel
mailing list