Boinc v7.8.0 for linux

Message boards : Number crunching : Boinc v7.8.0 for linux
Message board moderation

To post messages, you must log in.

Previous · 1 · 2 · 3 · 4 · 5 · 6 · 7 . . . 10 · Next

AuthorMessage
Juha
Volunteer tester

Send message
Joined: 7 Mar 04
Posts: 388
Credit: 1,857,738
RAC: 0
Finland
Message 1889907 - Posted: 15 Sep 2017, 13:50:46 UTC

Could you all test the other menu entries in Activity menu as well?
ID: 1889907 · Report as offensive
TBar
Volunteer tester

Send message
Joined: 22 May 99
Posts: 5204
Credit: 840,779,836
RAC: 2,768
United States
Message 1889915 - Posted: 15 Sep 2017, 14:21:14 UTC - in response to Message 1889799.  
Last modified: 15 Sep 2017, 15:19:56 UTC

wxWidgets is C++ code and for C++ the rule is simple: use the same compiler for everything. It might work if the compiler versions are almost same, like x.y.1 and x.y.2. It's unlikely to work if there is a bigger difference.
...That's the way it needs to be done. It's not wxWidgets or BOINC. It's C++.
Yes, but it does seem odd that it runs through just about the entire compile, many pages dealing with wxWidgets, before stopping at those particular errors. There are quite a few areas where it could have stopped before that particular area, and those suspect errors. It just looks suspicious to me;

  CXXLD    boincmgr
boincmgr-BOINCListCtrl.o:(.rodata._ZTV14CBOINCListCtrl[_ZTV14CBOINCListCtrl]+0x778): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)'
boincmgr-DlgEventLogListCtrl.o:(.rodata._ZTV20CDlgEventLogListCtrl[_ZTV20CDlgEventLogListCtrl]+0x770): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)'
`.text._ZN10wxScrolledI7wxPanelED2Ev' referenced in section `.text._ZN10wxScrolledI7wxPanelED1Ev[_ZN10wxScrolledI7wxPanelED1Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_adv-3.0.a(advlib_wizard.o): defined in discarded section `.text._ZN10wxScrolledI7wxPanelED2Ev[_ZN10wxScrolledI7wxPanelED5Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_adv-3.0.a(advlib_wizard.o)
`.text._ZN17wxWindowWithItemsI9wxControl15wxItemContainerED2Ev' referenced in section `.text._ZN17wxWindowWithItemsI9wxControl15wxItemContainerED1Ev[_ZN17wxWindowWithItemsI9wxControl15wxItemContainerED1Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_adv-3.0.a(advlib_gtk_bmpcbox.o): defined in discarded section `.text._ZN17wxWindowWithItemsI9wxControl15wxItemContainerED2Ev[_ZN17wxWindowWithItemsI9wxControl15wxItemContainerED5Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_adv-3.0.a(advlib_gtk_bmpcbox.o)
`.text._ZN14wxTextCtrlBaseD2Ev' referenced in section `.text._ZN14wxTextCtrlBaseD1Ev[_ZN14wxTextCtrlBaseD1Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_core-3.0.a(corelib_gtk_textctrl.o): defined in discarded section `.text._ZN14wxTextCtrlBaseD2Ev[_ZN14wxTextCtrlBaseD5Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_core-3.0.a(corelib_gtk_textctrl.o)
`.text._ZN14wxTextCtrlBaseD2Ev' referenced in section `.text._ZN14wxTextCtrlBaseD1Ev[_ZN14wxTextCtrlBaseD1Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_core-3.0.a(corelib_gtk_textctrl.o): defined in discarded section `.text._ZN14wxTextCtrlBaseD2Ev[_ZN14wxTextCtrlBaseD5Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_core-3.0.a(corelib_gtk_textctrl.o)
`.text._ZN14wxTextCtrlBaseD2Ev' referenced in section `.text._ZN14wxTextCtrlBaseD1Ev[_ZN14wxTextCtrlBaseD1Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_core-3.0.a(corelib_gtk_textctrl.o): defined in discarded section `.text._ZN14wxTextCtrlBaseD2Ev[_ZN14wxTextCtrlBaseD5Ev]' of /home/tbar/wxWidgets-3.0.3/lib/libwx_gtk2u_core-3.0.a(corelib_gtk_textctrl.o)
collect2: error: ld returned 1 exit status
Makefile:686: recipe for target 'boincmgr' failed
make[2]: *** [boincmgr] Error 1
make[2]: Leaving directory '/home/tbar/boinc-client_release-7-7.8/clientgui'
Makefile:646: recipe for target 'all-recursive' failed

Why, if those errors are actual, you would expect problems with list control, and text control in boincmgr.
Oh wait,
The Tasks page scrolls wildly when items are removed or added to the list.
The Event Log doesn't print text it should print until scrolled.
The list in the Activity Menu doesn't seem to be controlled correctly.
I'm sure there are others as yet undiscovered.
ID: 1889915 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14654
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1889937 - Posted: 15 Sep 2017, 15:48:33 UTC - in response to Message 1889876.  

The thing is, I don't think I ever figured out where those Activity settings are actually stored. Does anybody know?
Currently (self build for Windows, using v7.7.0 test source) they are kept in the very final block of client_state.xml, in the form:

<user_run_request>1</user_run_request>
<user_run_prev_request>2</user_run_prev_request>
<user_gpu_request>1</user_gpu_request>
<user_gpu_prev_request>2</user_gpu_prev_request>
<user_network_request>3</user_network_request>
'Very' old versions of BOINC may store them earlier in the file.
ID: 1889937 · Report as offensive
Profile Jeff Buck Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 11 Feb 00
Posts: 1441
Credit: 148,764,870
RAC: 0
United States
Message 1889942 - Posted: 15 Sep 2017, 16:11:58 UTC - in response to Message 1889937.  

Ah, now I see. Thanks for that, Richard. Yes, they're stored in the same place in 7.2.42. I just wasn't using the right keywords to look for them. (Somehow, I thought the word "activity" would be involved! ;^))

The client_state values on my machines have the value of '2' for all settings, as I would expect, since "based on preferences" is my normal state. So, BOINC in Linux has (and uses) the correct settings, it just doesn't display them correctly in the Manager, where all 3 Activity settings display as "always" whenever BOINC restarts.
ID: 1889942 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14654
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1889947 - Posted: 15 Sep 2017, 16:30:23 UTC - in response to Message 1889942.  

May I take it that with the '2' values in client_state, BOINC obeys your 'according to preferences' setting? That reduces the bug localisation to the initial startup failing to set the radio buttons to the desired (and stored) values. That should be easier to track down.
ID: 1889947 · Report as offensive
Profile Jeff Buck Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 11 Feb 00
Posts: 1441
Credit: 148,764,870
RAC: 0
United States
Message 1889955 - Posted: 15 Sep 2017, 16:43:22 UTC - in response to Message 1889947.  
Last modified: 15 Sep 2017, 16:46:01 UTC

May I take it that with the '2' values in client_state, BOINC obeys your 'according to preferences' setting? That reduces the bug localisation to the initial startup failing to set the radio buttons to the desired (and stored) values. That should be easier to track down.
Yes, as far as I can tell, it does. I've really only been aware of the discrepancy in regard to the network activity, since that's the one I change when recovering ghosts. In those cases, I set it to "suspend" before shutting down BOINC. BOINC respects the "suspend" setting when it restarts, confirmed both by my observation and by a line in the Event Log, but the display in the Activity menu reverts to "always available". Only when I then click on the "according to preferences" selection does the menu display realign with the setting that BOINC is actually operating with, again confirmed by a line in the Event Log to the effect that network activity is resumed.

EDIT: And, again, this is with the 7.2.42 version in Linux. I haven't tried any later versions.
ID: 1889955 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1889963 - Posted: 15 Sep 2017, 17:00:05 UTC - in response to Message 1889907.  

Could you all test the other menu entries in Activity menu as well?

Yes the other options in Activity display the same issue. The radio button does not track state until you have opened the Activity window 3 times.
Seti@Home classic workunits:20,676 CPU time:74,226 hours

A proud member of the OFA (Old Farts Association)
ID: 1889963 · Report as offensive
TBar
Volunteer tester

Send message
Joined: 22 May 99
Posts: 5204
Credit: 840,779,836
RAC: 2,768
United States
Message 1889975 - Posted: 15 Sep 2017, 17:35:25 UTC - in response to Message 1889947.  

May I take it that with the '2' values in client_state, BOINC obeys your 'according to preferences' setting? That reduces the bug localisation to the initial startup failing to set the radio buttons to the desired (and stored) values. That should be easier to track down.
I'm not sure a startup issue would explain why when using the same version of BOINC in Ubuntu 14.04 & 16.04 you have to make 2 clicks in 16.04 to have the menu change status, while in 14.04 One click will change the status. Doesn't appear to be a startup issue to me.
ID: 1889975 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1889978 - Posted: 15 Sep 2017, 17:57:24 UTC - in response to Message 1889975.  
Last modified: 15 Sep 2017, 17:57:50 UTC

May I take it that with the '2' values in client_state, BOINC obeys your 'according to preferences' setting? That reduces the bug localisation to the initial startup failing to set the radio buttons to the desired (and stored) values. That should be easier to track down.
I'm not sure a startup issue would explain why when using the same version of BOINC in Ubuntu 14.04 & 16.04 you have to make 2 clicks in 16.04 to have the menu change status, while in 14.04 One click will change the status. Doesn't appear to be a startup issue to me.

I concur. It is NOT a startup issue alone.
Seti@Home classic workunits:20,676 CPU time:74,226 hours

A proud member of the OFA (Old Farts Association)
ID: 1889978 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14654
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1889979 - Posted: 15 Sep 2017, 17:59:01 UTC - in response to Message 1889975.  

It would make sense if the menu was showing the wrong value from startup. The first click would change the underlying setting to match what was being displayed already, the second click would change both setting and display to a new value.

For complete diagnosis, track all of:

* display
* stored value
* behaviour

making notes of all three values at each step throughout the process.
ID: 1889979 · Report as offensive
TBar
Volunteer tester

Send message
Joined: 22 May 99
Posts: 5204
Credit: 840,779,836
RAC: 2,768
United States
Message 1889982 - Posted: 15 Sep 2017, 18:11:13 UTC - in response to Message 1889979.  

After Many Clicks, Long after startup, it still takes Two clicks in 16.04 to change the menu status, while One click works in 14.04 or 12.04.
Jeff isn't running 16.04, we are.
ID: 1889982 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14654
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1889984 - Posted: 15 Sep 2017, 18:16:12 UTC - in response to Message 1889982.  

So you're saying that this isn't a problem for BOINC to fix, but for Linux to fix?
ID: 1889984 · Report as offensive
Profile Jeff Buck Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 11 Feb 00
Posts: 1441
Credit: 148,764,870
RAC: 0
United States
Message 1889985 - Posted: 15 Sep 2017, 18:16:35 UTC - in response to Message 1889979.  

With 7.2.42 in Ubuntu 14.04, what I found is that, at BOINC startup, all three activity settings are shown in the menu in the "always" state, regardless of the setting in client_state. A single click immediately changes the button in the display and the corresponding state (1, 2, or 3) is also stored in client_state, which is immediately written to disk. The menu display retains the selected setting until the next restart. As far as I know, it's worked that way since I first started running Linux, although network activity is really the only one of the settings that I fooled around with (until now). I don't think anything has been affected by Linux kernel updates.

BOINC 7.2.42 and Ubuntu 14.04 is the only combination that I have available to test.
ID: 1889985 · Report as offensive
TBar
Volunteer tester

Send message
Joined: 22 May 99
Posts: 5204
Credit: 840,779,836
RAC: 2,768
United States
Message 1889986 - Posted: 15 Sep 2017, 18:22:52 UTC - in response to Message 1889984.  
Last modified: 15 Sep 2017, 18:28:50 UTC

So you're saying that this isn't a problem for BOINC to fix, but for Linux to fix?

What I'm saying is you are troubleshooting a different problem than the one Keith and myself have been describing. We are having it take Two clicks to change the status, it only takes Jeff One click.
ID: 1889986 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1889989 - Posted: 15 Sep 2017, 18:29:43 UTC - in response to Message 1889984.  

So you're saying that this isn't a problem for BOINC to fix, but for Linux to fix?

It might be. However BOINC is the only Linux application I am seeing the issue with. All other Linux applications immediately respond to a desired state change with ONE click.
Seti@Home classic workunits:20,676 CPU time:74,226 hours

A proud member of the OFA (Old Farts Association)
ID: 1889989 · Report as offensive
TBar
Volunteer tester

Send message
Joined: 22 May 99
Posts: 5204
Credit: 840,779,836
RAC: 2,768
United States
Message 1889994 - Posted: 15 Sep 2017, 18:54:32 UTC

I'm not really interested in one or two clicks, however, if someone can tell me how to fix this compile error it would be greatly appreciated;

/home/tbar/wxWidgets-3.1.0/include/wx/utils.h:604:52: warning: redundant redeclaration of ‘void wxQsort(void*, size_t, size_t, wxSortCallback, const void*)’ in same scope [-Wredundant-decls]
/home/tbar/wxWidgets-3.1.0/include/wx/vector.h:44:23: warning: previous declaration of ‘void wxQsort(void*, size_t, size_t, wxSortCallback, const void*)’ [-Wredundant-decls]
  CXX    boincmgr-ViewProjects.o
In file included from /home/tbar/wxWidgets-3.1.0/include/wx/cursor.h:75:0,
                 from /home/tbar/wxWidgets-3.1.0/include/wx/event.h:21,
                 from /home/tbar/wxWidgets-3.1.0/include/wx/wx.h:24,
                 from stdwx.h:49,
                 from ViewProjects.cpp:22:
/home/tbar/wxWidgets-3.1.0/include/wx/utils.h:604:52: warning: redundant redeclaration of ‘void wxQsort(void*, size_t, size_t, wxSortCallback, const void*)’ in same scope [-Wredundant-decls]
/home/tbar/wxWidgets-3.1.0/include/wx/vector.h:44:23: warning: previous declaration of ‘void wxQsort(void*, size_t, size_t, wxSortCallback, const void*)’ [-Wredundant-decls]
ViewProjects.cpp: In constructor ‘CViewProjects::CViewProjects(wxNotebook*)’:
ViewProjects.cpp:186:53: error: ‘wxADJUST_MINSIZE’ was not declared in this scope
make[2]: *** [boincmgr-ViewProjects.o] Error 1
make[2]: Leaving directory `/home/tbar/boinc-client_release-7-7.8/clientgui'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/tbar/boinc-client_release-7-7.8'
make: *** [all] Error 2

That's trying to compile 7.8.2 using wxWidgets 3.1.0 static libraries in Ubuntu 12.04.
ID: 1889994 · Report as offensive
Juha
Volunteer tester

Send message
Joined: 7 Mar 04
Posts: 388
Credit: 1,857,738
RAC: 0
Finland
Message 1889997 - Posted: 15 Sep 2017, 19:14:25 UTC - in response to Message 1889915.  

Yes, but it does seem odd that it runs through just about the entire compile, many pages dealing with wxWidgets, before stopping at those particular errors.


Yep, the differences between compilers show at linking stage. C++ is a complex language and the compiler needs to mangle* names so that linker finds them later. Different compiler and compiler versions use different rules for mangling.

Lets take the first one, "non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)" for example.

g++ 4.8.4 (Ubuntu 14.04) mangles it to
_ZThn704_N17wxGenericListCtrl31GetSizeAvailableForScrollTargetERK6wxSize

g++ 5.3.1 (Ubuntu 16.04) mangles it to
_ZThn776_N17wxGenericListCtrl31GetSizeAvailableForScrollTargetERK6wxSize


See how _ZThn704 changed to _ZThn776.

When you compile wxWidgets on Ubuntu 16.04 _ZThn776... is stored into the library. When you compile Manager on Ubuntu 14.04 the compiler stores _ZThn704... into the Manager's object file.

When the linker then goes to put the object files and library together to form the Manager executable it can't find _ZThn704... in the library because the name is different there.

That there are undefined references in the same source files that have other problems is just a coincidence. Linking problems and other problems are not related in any way.


* Name mangling is the technical term. Google it if you don't believe me.
ID: 1889997 · Report as offensive
Juha
Volunteer tester

Send message
Joined: 7 Mar 04
Posts: 388
Credit: 1,857,738
RAC: 0
Finland
Message 1889999 - Posted: 15 Sep 2017, 19:20:29 UTC - in response to Message 1889994.  

ViewProjects.cpp:186:53: error: ‘wxADJUST_MINSIZE’ was not declared in this scope


Make this change:

diff --git a/clientgui/BOINCBaseView.h b/clientgui/BOINCBaseView.h
index 21a72ea..8bef7d1 100644
--- a/clientgui/BOINCBaseView.h
+++ b/clientgui/BOINCBaseView.h
@@ -23,7 +23,7 @@
 #endif


-#define DEFAULT_TASK_FLAGS             wxTAB_TRAVERSAL | wxADJUST_MINSIZE | wxFULL_REPAINT_ON_RESIZE
+#define DEFAULT_TASK_FLAGS             wxTAB_TRAVERSAL | wxFULL_REPAINT_ON_RESIZE
 #define DEFAULT_LIST_FLAGS             wxLC_REPORT | wxLC_VIRTUAL | wxLC_HRULES

 class CBOINCTaskCtrl;


That'll make it into repository at some point.
ID: 1889999 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1890003 - Posted: 15 Sep 2017, 19:31:00 UTC - in response to Message 1889997.  


* Name mangling is the technical term. Google it if you don't believe me.

No, I didn't believe you :-} I did a doubletake and thought you were joshing. Google is your friend.
Seti@Home classic workunits:20,676 CPU time:74,226 hours

A proud member of the OFA (Old Farts Association)
ID: 1890003 · Report as offensive
TBar
Volunteer tester

Send message
Joined: 22 May 99
Posts: 5204
Credit: 840,779,836
RAC: 2,768
United States
Message 1890006 - Posted: 15 Sep 2017, 19:50:29 UTC - in response to Message 1889999.  

Make this change:

diff --git a/clientgui/BOINCBaseView.h b/clientgui/BOINCBaseView.h
index 21a72ea..8bef7d1 100644
--- a/clientgui/BOINCBaseView.h
+++ b/clientgui/BOINCBaseView.h
@@ -23,7 +23,7 @@
 #endif


-#define DEFAULT_TASK_FLAGS             wxTAB_TRAVERSAL | wxADJUST_MINSIZE | wxFULL_REPAINT_ON_RESIZE
+#define DEFAULT_TASK_FLAGS             wxTAB_TRAVERSAL | wxFULL_REPAINT_ON_RESIZE
 #define DEFAULT_LIST_FLAGS             wxLC_REPORT | wxLC_VIRTUAL | wxLC_HRULES

 class CBOINCTaskCtrl;


That'll make it into repository at some point.
I'm not sure which parts to add, I ended up with;
#ifndef BOINC_BOINCBASEVIEW_H
#define BOINC_BOINCBASEVIEW_H

#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "BOINCBaseView.cpp"
#endif


#define DEFAULT_TASK_FLAGS             wxTAB_TRAVERSAL | wxFULL_REPAINT_ON_RESIZE
#define DEFAULT_LIST_FLAGS             wxLC_REPORT | wxLC_VIRTUAL | wxLC_HRULES

class CBOINCTaskCtrl;

Then at the end it gave another set of errors;
  CXXLD  boincmgr
boincmgr-NoticeListCtrl.o: In function `wxString::ImplStr(char const*, wxMBConv const&)':
/home/tbar/wxWidgets-3.1.0/include/wx/string.h:361: undefined reference to `wxWebViewNameStr'
boincmgr-NoticeListCtrl.o: In function `CNoticeListCtrl::Create(wxWindow*)':
/home/tbar/boinc-client_release-7-7.8/clientgui/NoticeListCtrl.cpp:87: undefined reference to `wxWebViewBackendDefault'
/home/tbar/boinc-client_release-7-7.8/clientgui/NoticeListCtrl.cpp:87: undefined reference to `wxWebViewDefaultURLStr'
/home/tbar/boinc-client_release-7-7.8/clientgui/NoticeListCtrl.cpp:87: undefined reference to `wxWebView::New(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, wxString const&, long, wxString const&)'
boincmgr-NoticeListCtrl.o: In function `__static_initialization_and_destruction_0':
/home/tbar/boinc-client_release-7-7.8/clientgui/NoticeListCtrl.cpp:57: undefined reference to `wxEVT_WEBVIEW_NAVIGATING'
/home/tbar/boinc-client_release-7-7.8/clientgui/NoticeListCtrl.cpp:57: undefined reference to `wxEVT_WEBVIEW_ERROR'
collect2: ld returned 1 exit status
make[2]: *** [boincmgr] Error 1
make[2]: Leaving directory `/home/tbar/boinc-client_release-7-7.8/clientgui'

Should I have added more to BOINCBASEVIEW_H?

I hate coincidences ;-)
ID: 1890006 · Report as offensive
Previous · 1 · 2 · 3 · 4 · 5 · 6 · 7 . . . 10 · Next

Message boards : Number crunching : Boinc v7.8.0 for linux


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.