Compiling BOINC Manager 7.7 in Ubuntu 14.04.5

Message boards : BOINC Manager : Compiling BOINC Manager 7.7 in Ubuntu 14.04.5
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · Next

AuthorMessage
TBar

Send message
Joined: 11 Jul 17
Posts: 30
United States
Message 79536 - Posted: 11 Jul 2017, 22:03:48 UTC

I decided to give this another try. I did find the Locutus of Borg version of wxwidgets3 here, https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/locutusofborg-ppa/+build/9539157 added it to the ppas and installed it with package manager. Is this the recommended version for Ubuntu 14.04.5? I'm using a new download of boinc-master, downloaded about 5 hours after Charlie Fenton's last commit. The compile proceeded further than previously without any errors, other than the constant gtk+-2.0.pc error, and then stopped at the same place as the last time I left it with the older version of boinc-master. The first stop lists a few errors;
In file included from NoticeListCtrl.cpp:36:0:
NoticeListCtrl.h:48:25: error: ‘wxWebViewEvent’ has not been declared
     void OnLinkClicked( wxWebViewEvent& event );
                         ^
NoticeListCtrl.h:49:26: error: ‘wxWebViewEvent’ has not been declared
     void OnWebViewError( wxWebViewEvent& event );
                          ^
NoticeListCtrl.h:59:5: error: ‘wxWebView’ does not name a type
     wxWebView*  m_browser;
     ^
NoticeListCtrl.cpp:53:72: error: invalid use of non-static member function ‘void CNoticeListCtrl::OnLinkClicked(int&)’
     EVT_WEBVIEW_NAVIGATING(ID_LIST_NOTIFICATIONSVIEW, CNoticeListCtrl::OnLinkClicked)
                                                                        ^
NoticeListCtrl.cpp:53:85: error: ‘EVT_WEBVIEW_NAVIGATING’ was not declared in this scope
     EVT_WEBVIEW_NAVIGATING(ID_LIST_NOTIFICATIONSVIEW, CNoticeListCtrl::OnLinkClicked)
                                                                                     ^
NoticeListCtrl.cpp:54:5: error: expected ‘}’ before ‘EVT_WEBVIEW_ERROR’
     EVT_WEBVIEW_ERROR(ID_LIST_NOTIFICATIONSVIEW, CNoticeListCtrl::OnWebViewError)
     ^
NoticeListCtrl.cpp:54:5: error: expected ‘,’ or ‘;’ before ‘EVT_WEBVIEW_ERROR’
In file included from /usr/include/wx-3.0/wx/wx.h:24:0,
                 from stdwx.h:49,
                 from NoticeListCtrl.cpp:22:
/usr/include/wx-3.0/wx/event.h:4113:40: error: expected declaration before ‘}’ token
     wxDECLARE_EVENT_TABLE_TERMINATOR() };
                                        ^
/usr/include/wx-3.0/wx/event.h:4459:56: note: in expansion of macro ‘wxEND_EVENT_TABLE’
 #define END_EVENT_TABLE()                              wxEND_EVENT_TABLE()
                                                        ^
NoticeListCtrl.cpp:57:1: note: in expansion of macro ‘END_EVENT_TABLE’
 END_EVENT_TABLE()

I also have a Mac, and noticed an annoying problem with the last release 7.6.34. After switching from 7.6.33 the new version is plagued with the waiting notice constantly while the notice almost never appeared with version 7.6.33. So, I'm inclined to think there is some problem somewhere and this looks like a likely location. If not, it's a good start anyway.
Any suggestions on curing the errors and moving on?
ID: 79536 · Report as offensive     Reply Quote
Profile Ageless
Volunteer moderator
Project administrator
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 12100
Netherlands
Message 79538 - Posted: 11 Jul 2017, 22:51:49 UTC - in response to Message 79536.  

Forwarded to Chris and Charlie.
Jord
Please do not private message me for tech support. Use the forums for that. Tech PMs will be ignored.
ID: 79538 · Report as offensive     Reply Quote
ChristianB
Volunteer moderator
Volunteer developer
Volunteer tester

Send message
Joined: 4 Jul 12
Posts: 305
Germany
Message 79540 - Posted: 12 Jul 2017, 7:06:32 UTC

Regarding your WxWidgets issue you need to have "libwxgtk-webview3.0-dev" installed if you want to build using the system packages.

You could also use the scripts I prepared to build a static version of wxWidgets direct from sources (./3rdParty/buildLinuxDependencies.sh) and then use that library in the configure phase (./configure --disable-server --disable-client --with-wx-prefix=${TRAVIS_BUILD_DIR}/3rdParty/buildCache/linux). You need to substitute ${TRAVIS_BUILD_DIR} with the path to your source directory. The option needs an absolute path not a relative one!
ID: 79540 · Report as offensive     Reply Quote
Profile Ageless
Volunteer moderator
Project administrator
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 12100
Netherlands
Message 79542 - Posted: 12 Jul 2017, 12:47:54 UTC - in response to Message 79536.  

I also have a Mac, and noticed an annoying problem with the last release 7.6.34. After switching from 7.6.33 the new version is plagued with the waiting notice constantly while the notice almost never appeared with version 7.6.33. So, I'm inclined to think there is some problem somewhere and this looks like a likely location. If not, it's a good start anyway.
Any suggestions on curing the errors and moving on?
According to Charlie, the change between .33 and .34 was minimal, only to accommodate the missing Notices when seen under OS X 10.12.4 and above. He asks that you return to 7.6.33 if that's possible and see if the problem continues. Another option is to download 7.6.34 again and reinstall it, just in the minute possibility you got a corrupt download.
Jord
Please do not private message me for tech support. Use the forums for that. Tech PMs will be ignored.
ID: 79542 · Report as offensive     Reply Quote
TBar

Send message
Joined: 11 Jul 17
Posts: 30
United States
Message 79546 - Posted: 12 Jul 2017, 14:26:59 UTC - in response to Message 79540.  

Regarding your WxWidgets issue you need to have "libwxgtk-webview3.0-dev" installed if you want to build using the system packages.

You could also use the scripts I prepared to build a static version of wxWidgets direct from sources (./3rdParty/buildLinuxDependencies.sh) and then use that library in the configure phase (./configure --disable-server --disable-client --with-wx-prefix=${TRAVIS_BUILD_DIR}/3rdParty/buildCache/linux). You need to substitute ${TRAVIS_BUILD_DIR} with the path to your source directory. The option needs an absolute path not a relative one!

The package libwxgtk-webview3.0-dev isn't in the repository for 14.04.5. I do see it listed at https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/locutusofborg-ppa/+build/9539157
Trying the Terminal also fails;
$ sudo apt-get install libwxgtk-webview3.0-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libwxgtk-webview3.0-dev
E: Couldn't find any package by regex 'libwxgtk-webview3.0-dev'
It does work on another package;
$ sudo apt-get install libwxgtk-media3.0-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libwxgtk-media3.0-dev is already the newest version.

I have http://ppa.launchpad.net/costamagnagianfranco/locutusofborg-ppa/ubuntu listed twice in other software as main and main source code. What do I need to add to get libwxgtk-webview3.0-dev?
ID: 79546 · Report as offensive     Reply Quote
TBar

Send message
Joined: 11 Jul 17
Posts: 30
United States
Message 79550 - Posted: 12 Jul 2017, 15:58:35 UTC

OK, added http://ppa.launchpad.net/costamagnagianfranco/boinc/ubuntu and now I have libwxgtk-webview3.0-dev. After reinstalling the libwx packages I ran it again.
Now it's still giving hundreds of;
g++: warning: /usr/include/libnotify: linker input file unused because linking not done
g++: warning: /usr/include/libnotify: linker input file unused because linking not done
and now stops at;
In file included from /usr/include/wx-3.0/wx/list.h:34:0,
                 from /usr/include/wx-3.0/wx/wx.h:17,
                 from stdwx.h:49,
                 from wizardex.cpp:16:
/usr/include/wx-3.0/wx/vector.h:44:23: warning: previous declaration of ‘void wxQsort(void*, size_t, size_t, wxSortCallback, const void*)’ [-Wredundant-decls]
 WXDLLIMPEXP_BASE void wxQsort(void* pbase, size_t total_elems,
                       ^
g++: warning: /usr/include/libnotify: linker input file unused because linking not done
g++: warning: /usr/include/libnotify: linker input file unused because linking not done
  CXXLD    boincmgr
/usr/bin/ld: cannot find /usr/include/libnotify: File format not recognized
collect2: error: ld returned 1 exit status

I don't have a clue about the problems it's having with libnotify, the files are installed and I'm using;
./configure --disable-shared --disable-server --enable-bitness=64 --enable-static --enable-dependency-tracking --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu CPPFLAGS=" -O3 -I/usr/include -I/usr/lib/x86_64-linux-gnu -I/usr/local/include -I/usr/local/lib -I/usr/include/gtk-2.0/gtk -I/usr/include/libnotify -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include" LIBNOTIFY_CFLAGS="/usr/include/libnotify" LIBNOTIFY_LIBS="/usr/lib/x86_64-linux-gnu/libnotify.a" PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-2.0.pc" GTK_CFLAGS="/usr/include/gtk-2.0/gtk"


File format not recognized???
ID: 79550 · Report as offensive     Reply Quote
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 666
Finland
Message 79552 - Posted: 12 Jul 2017, 17:43:57 UTC - in response to Message 79550.  

*_FLAGS and *_LIBS are passed to the compiler and linker as command line options. LIBNOTIFY_FLAGS and _LIBS are both incorrect. I'm not sure if GTK_FLAGS is used at all but if it is it's incorrect as well. PKG_CONFIG_PATH doesn't look right either. The configure script does a good job in finding everything by itself as long as you have everything installed so you don't really need much of the stuff you have used now.

You can use this configure line:

configure --enable-optimize --disable-server --disable-boinczip CFLAGS="-g" CXXFLAGS="-g"


That is slightly changed from what I normally use. The "-g" there is so that the executables include debugging information just in case that would be needed.

If you have problems with that configure line then don't randomly add stuff to it. Ask. Most likely you are missing some package.
ID: 79552 · Report as offensive     Reply Quote
TBar

Send message
Joined: 11 Jul 17
Posts: 30
United States
Message 79554 - Posted: 12 Jul 2017, 18:22:04 UTC - in response to Message 79552.  
Last modified: 12 Jul 2017, 18:56:50 UTC

This is what happens with your line;

--- Configuring BOINC 7.7.0 (Release) ---
--- Build Components: (client manager libraries) ---
checking for docbook2x-man... no
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether we are compiling for cygwin... no
checking for winsock2.h... (cached) no
checking for winsock.h... (cached) no
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking dependency style of gcc... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for ar... /usr/bin/ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... /usr/bin/g++ -E
checking for ld used by /usr/bin/g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the /usr/bin/g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for /usr/bin/g++ option to produce PIC... -fPIC -DPIC
checking if /usr/bin/g++ PIC flag -fPIC -DPIC works... yes
checking if /usr/bin/g++ static flag -static works... yes
checking if /usr/bin/g++ supports -c -o file.o... yes
checking if /usr/bin/g++ supports -c -o file.o... (cached) yes
checking whether the /usr/bin/g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking default bitness of compiler... 64
checking boinc platform... x86_64-pc-linux-gnu
checking alternate boinc platform... i686-pc-linux-gnu
checking library extension... a
checking shared object extension... so
checking for pkg-config... /usr/local/bin/pkg-config
Package openssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `openssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'openssl' found

checking for dlopen in -ldl... (cached) yes
checking for gzopen in -lz... yes
checking for openssl... yes
OpenSSL found in /usr
checking for gawk... (cached) /usr/bin/mawk
checking for curl-config... /usr/bin/curl-config
checking for the version of libcurl... 7.35.0
checking for libcurl >= version 7.17.1... yes
checking whether libcurl is usable... yes
checking for curl_free... yes
checking for shmget in dynamic library cygipc... no
checking for aio_fork in dynamic library aio... no
checking for dlopen in dynamic library dl... -ldl
checking for gethostbyname in static library nsl... -lnsl
checking for static library freetype... -lfreetype
checking for bind in static library socket... no
checking for bind in dynamic library socket... no
checking for gzopen in static library z... -lz
checking for md5_finish in dynamic library cups... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for pthread_join in LIBS= with CFLAGS=-pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... (cached) yes
checking whether we are using the Microsoft C compiler... no
checking for windows.h... (cached) no
checking for OpenGL library... -L/usr/local/lib -lGL
checking for OpenGL Utility library... -L/usr/local/lib -lGLU
checking for fopen in -lXmu... yes
checking for fopen in -lXi... yes
checking for GLUT library... -L/usr/local/lib -lglut
checking gl.h usability... no
checking gl.h presence... no
checking for gl.h... no
checking glu.h usability... no
checking glu.h presence... no
checking for glu.h... no
checking glut.h usability... no
checking glut.h presence... no
checking for glut.h... no
checking glaux.h usability... no
checking glaux.h presence... no
checking for glaux.h... no
checking GL/gl.h usability... yes
checking GL/gl.h presence... yes
checking for GL/gl.h... yes
checking GL/glu.h usability... yes
checking GL/glu.h presence... yes
checking for GL/glu.h... yes
checking GL/glut.h usability... yes
checking GL/glut.h presence... yes
checking for GL/glut.h... yes
checking GL/glaux.h usability... no
checking GL/glaux.h presence... no
checking for GL/glaux.h... no
checking OpenGL/gl.h usability... no
checking OpenGL/gl.h presence... no
checking for OpenGL/gl.h... no
checking OpenGL/glu.h usability... no
checking OpenGL/glu.h presence... no
checking for OpenGL/glu.h... no
checking OpenGL/glut.h usability... no
checking OpenGL/glut.h presence... no
checking for OpenGL/glut.h... no
checking OpenGL/glaux.h usability... no
checking OpenGL/glaux.h presence... no
checking for OpenGL/glaux.h... no
checking GLUT/glut.h usability... no
checking GLUT/glut.h presence... no
checking for GLUT/glut.h... no
checking MesaGL/gl.h usability... no
checking MesaGL/gl.h presence... no
checking for MesaGL/gl.h... no
checking MesaGL/glu.h usability... no
checking MesaGL/glu.h presence... no
checking for MesaGL/glu.h... no
checking MesaGL/glut.h usability... no
checking MesaGL/glut.h presence... no
checking for MesaGL/glut.h... no
checking MesaGL/glaux.h usability... no
checking MesaGL/glaux.h presence... no
checking for MesaGL/glaux.h... no
checking libnotify/notify.h usability... no
checking libnotify/notify.h presence... no
checking for libnotify/notify.h... no
checking gtk/gtk.h usability... no
checking gtk/gtk.h presence... no
checking for gtk/gtk.h... no

checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking xlocale.h usability... yes
checking xlocale.h presence... yes
checking for xlocale.h... yes
checking for jpeg_start_compress in -ljpeg... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for XScreenSaverAllocInfo in -lXss... yes
checking X11/extensions/scrnsaver.h usability... yes
checking X11/extensions/scrnsaver.h presence... yes
checking for X11/extensions/scrnsaver.h... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether time.h and sys/time.h may both be included... yes
checking return type of signal handlers... void
checking for sys/types.h... (cached) yes
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for memory.h... (cached) yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking netinet/ether.h usability... yes
checking netinet/ether.h presence... yes
checking for netinet/ether.h... yes
checking net/if.h usability... yes
checking net/if.h presence... yes
checking for net/if.h... yes
checking net/if_arp.h usability... yes
checking net/if_arp.h presence... yes
checking for net/if_arp.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking for strings.h... (cached) yes
checking sys/auxv.h usability... yes
checking sys/auxv.h presence... yes
checking for sys/auxv.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/msg.h usability... yes
checking sys/msg.h presence... yes
checking for sys/msg.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/sem.h usability... yes
checking sys/sem.h presence... yes
checking for sys/sem.h... yes
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking sys/sockio.h usability... no
checking sys/sockio.h presence... no
checking for sys/sockio.h... no
checking for sys/socket.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/statfs.h usability... yes
checking sys/statfs.h presence... yes
checking for sys/statfs.h... yes
checking sys/systeminfo.h usability... no
checking sys/systeminfo.h presence... no
checking for sys/systeminfo.h... no
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for sys/types.h... (cached) yes
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking sys/vmmeter.h usability... no
checking sys/vmmeter.h presence... no
checking for sys/vmmeter.h... no
checking for sys/wait.h... (cached) yes
checking for unistd.h... (cached) yes
checking utmp.h usability... yes
checking utmp.h presence... yes
checking for utmp.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking procfs.h usability... no
checking procfs.h presence... no
checking for procfs.h... no
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking setjmp.h usability... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking sal.h usability... no
checking sal.h presence... no
checking for sal.h... no
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking intrin.h usability... no
checking intrin.h presence... no
checking for intrin.h... no
checking x86intrin.h usability... yes
checking x86intrin.h presence... yes
checking for x86intrin.h... yes
checking pmmintrin.h usability... yes
checking pmmintrin.h presence... yes
checking for pmmintrin.h... yes
checking xmmintrin.h usability... yes
checking xmmintrin.h presence... yes
checking for xmmintrin.h... yes
checking emmintrin.h usability... yes
checking emmintrin.h presence... yes
checking for emmintrin.h... yes
checking immintrin.h usability... yes
checking immintrin.h presence... yes
checking for immintrin.h... yes
checking avxintrin.h usability... no
checking avxintrin.h presence... no
checking for avxintrin.h... no
checking whether _xgetbv is declared... no
checking whether xgetbv is declared... no
checking whether __xgetbv is declared... no
checking whether cpuid is declared... no
checking whether _cpuid is declared... no
checking whether __cpuid is declared... no
checking if assembler supports xgetbv... yes
checking for nvapi.h... no
checking for socklen_t... yes
checking for net/if.h... (cached) yes
checking for net/if_arp.h... (cached) yes
checking for sys/sysctl.h... yes
checking for sys/mount.h... yes
checking for sys/swap.h... yes
checking for sys/sensors.h... no
checking for resolv.h... yes
checking for netinet/if_ether.h... yes
checking for struct lifconf... no
checking for struct lifreq... no
checking for struct ifconf... yes
checking for struct ifreq... yes
checking for struct ether_addr... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether largefile support breaks C++... no
checking standard C++ headers... yes
checking for C++ header <algorithm>... (cached) yes
checking for C++ header <bitset>... (cached) yes
checking for C++ header <cassert>... (cached) yes
checking for C++ header <cctype>... (cached) yes
checking for C++ header <cerrno>... (cached) yes
checking for C++ header <cfloat>... (cached) yes
checking for C++ header <climits>... (cached) yes
checking for C++ header <clocale>... (cached) yes
checking for C++ header <cmath>... (cached) yes
checking for C++ header <complex>... (cached) yes
checking for C++ header <csetjmp>... (cached) yes
checking for C++ header <csignal>... (cached) yes
checking for C++ header <cstdarg>... (cached) yes
checking for C++ header <cstddef>... (cached) yes
checking for C++ header <cstdio>... (cached) yes
checking for C++ header <cstdlib>... (cached) yes
checking for C++ header <cstring>... (cached) yes
checking for C++ header <ctime>... (cached) yes
checking for C++ header <deque>... (cached) yes
checking for C++ header <fstream>... (cached) yes
checking for C++ header <functional>... (cached) yes
checking for C++ header <iomanip>... (cached) yes
checking for C++ header <ios>... (cached) yes
checking for C++ header <iosfwd>... (cached) yes
checking for C++ header <iostream>... (cached) yes
checking for C++ header <istream>... (cached) yes
checking for C++ header <iterator>... (cached) yes
checking for C++ header <limits>... (cached) yes
checking for C++ header <list>... (cached) yes
checking for C++ header <locale>... (cached) yes
checking for C++ header <map>... (cached) yes
checking for C++ header <memory>... (cached) yes
checking for C++ header <numeric>... (cached) yes
checking for C++ header <ostream>... (cached) yes
checking for C++ header <queue>... (cached) yes
checking for C++ header <set>... (cached) yes
checking for C++ header <sstream>... (cached) yes
checking for C++ header <stack>... (cached) yes
checking for C++ header <stdexcept>... (cached) yes
checking for C++ header <streambuf>... (cached) yes
checking for C++ header <string>... (cached) yes
checking for C++ header <utility>... (cached) yes
checking for C++ header <valarray>... (cached) yes
checking for C++ header <vector>... (cached) yes
checking for C++ namespaces... yes
checking for min(0,0) in namespace std... yes
checking for max(0,0) in namespace std... yes
checking for transform((char *)0,(char *) 0,(char *)0,(int(*)(int))malloc) in namespace std... yes
checking for locale("") in namespace std... yes
checking whether gcc needs -traditional... no
checking for vprintf... yes
checking for _doprnt... no
checking for ether_ntoa... yes
checking for setpriority... yes
checking for sched_setscheduler... yes
checking for strlcpy... no
checking for strlcat... no
checking for strcasestr... yes
checking for strcasecmp... yes
checking for sigaction... yes
checking for getutent... yes
checking for setutent... yes
checking for getisax... no
checking for strdup... yes
checking for _strdup... no
checking for strdupa... no
checking for _strdupa... no
checking for daemon... yes
checking for stat64... yes
checking for putenv... yes
checking for setenv... yes
checking for unsetenv... yes
checking for res_init... no
checking for strtoull... yes
checking for localtime... yes
checking for localtime_r... yes
checking for gmtime... yes
checking for gmtime_r... yes
checking whether _fpreset is declared... no
checking whether fpreset is declared... no
checking whether _configthreadlocale is declared... no
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for wx-config... /usr/bin/wx-config
checking for wxWidgets version >= 3.0.0... yes (version 3.0.2)
checking for wxWidgets static library... no
checking if wxWidgets works... yes
checking for default wxWidgets config... gtk2-unicode-3.0
checking for wxwidgets options... --unicode=yes
checking wxWidgets config to use... gtk2-unicode-3.0
checking for wx-config... (cached) /usr/bin/wx-config
checking for wxWidgets version >= 3.0.0... yes (version 3.0.2)
checking for wxWidgets static library... no
checking if wxWidgets uses the GTK+ toolkit... Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found

gtk+-2.0
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for LIBNOTIFY... no
configure: error: Package requirements (libnotify) were not met:
No package 'libnotify' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBNOTIFY_CFLAGS
and LIBNOTIFY_LIBS to avoid the need to call pkg-config.

See the pkg-config man page for more details.

My line Almost makes it to the end ;-)

openssl.pc is in /usr/lib/x86_64-linux-gnu/pkgconfig
libgnutls-openssl.a is in /usr/lib/x86_64-linux-gnu
gtk.h is in /usr/include/gtk-2.0/gtk
notify.h is in /usr/include/libnotify
libnotify.a is in /usr/lib/x86_64-linux-gnu
gtk+-2.0.pc is in /usr/lib/x86_64-linux-gnu/pkgconfig
ID: 79554 · Report as offensive     Reply Quote
ChristianB
Volunteer moderator
Volunteer developer
Volunteer tester

Send message
Joined: 4 Jul 12
Posts: 305
Germany
Message 79555 - Posted: 12 Jul 2017, 19:06:42 UTC

I think your problem is that configure finds pkg-config in "/usr/local/bin/pkg-config" which looks like a custom installation which does not know about the system installed stuff. So you might be better to find where your system installed pkg-config is and force configure to use that. This should get rid of the other errors as the system pkg-config should be able to find the .pc files which look to be in the default directories.

Also your initial configure line couldn't work because you were trying to build a static version but were linking in shared libraries.
ID: 79555 · Report as offensive     Reply Quote
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 666
Finland
Message 79556 - Posted: 12 Jul 2017, 19:20:48 UTC - in response to Message 79555.  

So you might be better to find where your system installed pkg-config is and force configure to use that.


Or just get rid of the custom installed pkg-config.
ID: 79556 · Report as offensive     Reply Quote
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 666
Finland
Message 79557 - Posted: 12 Jul 2017, 19:33:26 UTC - in response to Message 79554.  

This one is a bit odd too:

checking for OpenGL library... -L/usr/local/lib -lGL
checking for OpenGL Utility library... -L/usr/local/lib -lGLU

checking for GLUT library... -L/usr/local/lib -lglut


Why do you have OpenGL files in /usr/local ? Repository packages shouldn't go there.
ID: 79557 · Report as offensive     Reply Quote
TBar

Send message
Joined: 11 Jul 17
Posts: 30
United States
Message 79558 - Posted: 12 Jul 2017, 19:41:29 UTC - in response to Message 79556.  
Last modified: 12 Jul 2017, 19:45:12 UTC

Or just get rid of the custom installed pkg-config.
What's the best way to remove the pkg-config-0.28.tar.gz installed via the Terminal? Yes, I did install a copy using the Terminal.
Also, does the previous mention of building with shared libraries mean you can't build a static copy of boincmgr? It would be nice to build a version that didn't require installing dependencies the way 7.2.42 does.

Why do you have OpenGL files in /usr/local ?
Because the compiler couldn't find them in the default location? There are a LOT of files the compiler can't seem to find, such as notify.h, gtk.h, etc...etc...
ID: 79558 · Report as offensive     Reply Quote
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 666
Finland
Message 79559 - Posted: 12 Jul 2017, 20:57:11 UTC - in response to Message 79558.  

What's the best way to remove the pkg-config-0.28.tar.gz installed via the Terminal?


If you still have the build directory running "make uninstall" in the build directory might work. If you don't have it then you need to re-build pkg-config with the same configure line you used last time and then run the uninstall command. It still might not work in which case you need to somehow figure out what it installed and where and remove the files manually.

Also, does the previous mention of building with shared libraries mean you can't build a static copy of boincmgr?


The wxWidgets 3.0 package from LocutusOfBorg's PPA doesn't include static version. You'd need to build wxWidgets 3.0 yourself, maybe using the script Christian mentioned. I'm not going to walk you through building the Manager that way.

Because the compiler couldn't find them in the default location? There are a LOT of files the compiler can't seem to find, such as notify.h, gtk.h, etc...etc...


The compiler can find files just fine once the configure script has done it's job. By installing packages from source without Ubuntu patches you have essentially broken your system.
ID: 79559 · Report as offensive     Reply Quote
TBar

Send message
Joined: 11 Jul 17
Posts: 30
United States
Message 79561 - Posted: 12 Jul 2017, 21:38:55 UTC - in response to Message 79559.  
Last modified: 12 Jul 2017, 22:12:17 UTC

Well, I used the same files in Ubuntu that I had been using on my Mac, since I already had them...and they worked fine on the Mac.
autoconf-2.69.tar.gz
automake-1.15.tar.gz
jpegsrc.v9a.tar.gz
libtool-2.4.tar.gz
m4-latest.tar.gz
pkg-config-0.28.tar.gz

So, your saying you can't use the latest version from the source. You have to use the repository version. Nice.
They seem to work fine building the Science Apps. All the Apps I've built were using the above files, they seem to be working well.

I'm thinking about just replacing this system with 16.04.2 and trying it from there. I have another 14.04.5 system on another partition using the same Home partition that I can use if 16.04.2 doesn't work. I suppose the wxWidgets 3.0 package from LocutusOfBorg's PPA will work in 16.04.2? Fortunately I have the Berkeley BOINC on the Home partition so erasing the current system partition shouldn't be a problem.
ID: 79561 · Report as offensive     Reply Quote
TBar

Send message
Joined: 11 Jul 17
Posts: 30
United States
Message 79576 - Posted: 13 Jul 2017, 11:26:44 UTC

Well, that seemed to work out very well. I now have a working 7.7 BOINC Manager (Pre-release) running in the Home folder of Ubuntu 16.04. It only has a couple of the annoyances present in the old 7.4.24. The biggest problem is the scroll bar has a tendency to jump to the bottom of the page after an update. Another is the AM/PM EDT tends to go and come from the Event log. It's also a pain to try and slide the Top Columns to the left to hide the SETI@home Column, it's difficult to hide the leftmost letter. It does update the numbers though, unlike 7.4.24. The wxWidgets 3.0 files were all in the repository so I just used those instead of the ones from LocutusOfBorg. I had to breakdown and install OpenSSL from the Terminal, nothing from the repository would produce the needed library, everything else from the repository worked though. I wonder if the other wxWidgets 3 would fix the jumping scroll bar, that's really the only major problem...so far.

Coprocessors - [2] NVIDIA GeForce GTX 1050 (1999MB) driver: 381.22 OpenCL: 1.2
Operating System - Linux Ubuntu
Ubuntu 16.04.2 LTS [4.8.0-58-generic]
BOINC version - 7.7.0


I just love how the Home folder looks exactly the same with a brand new system partition, it makes major repairs very simple.
ID: 79576 · Report as offensive     Reply Quote
ChristianB
Volunteer moderator
Volunteer developer
Volunteer tester

Send message
Joined: 4 Jul 12
Posts: 305
Germany
Message 79577 - Posted: 13 Jul 2017, 11:43:11 UTC

May I ask why you wanted to build a static version of the Manager in the first place? This is usually only needed for the official release not for personal builds. I'm glad it worked with Ubuntu 16.04 although in general it should work with 14.04. too if pkg-config is found. It even still works with 12.04. (without ppa's).

I got the static build working at one point but the resulting manager always segfaulted.
ID: 79577 · Report as offensive     Reply Quote
TBar

Send message
Joined: 11 Jul 17
Posts: 30
United States
Message 79583 - Posted: 13 Jul 2017, 12:22:06 UTC - in response to Message 79577.  

I was hoping it would be possible to produce something that might convince BOINC to update their Downloads to something more recent than 7.2.42, and actually worked with a newer version of Linux. There are a few people switching to Linux and find it difficult to deal with the SETI@home folder in their system folder. It's much easier for a new user to deal with placing files in their Home folder than a system folder. This machine has three systems on it, 12.04, 14.04, and now 16.04. The other systems also have the pkg-config installed via the Terminal.
Does Berkeley ever intend to release a newer version for Linux? It would seem it's way past due.
ID: 79583 · Report as offensive     Reply Quote
ChristianB
Volunteer moderator
Volunteer developer
Volunteer tester

Send message
Joined: 4 Jul 12
Posts: 305
Germany
Message 79584 - Posted: 13 Jul 2017, 12:27:48 UTC

BOINC is a community controlled project and although the same people are still onboard, "Berkeley" is not in charge. The reason that there is no newer Linux release on the website is a rather technical problem as you yourself encountered. Debian ships version 7.6.33 without any problems and I would happily make this the recommended version, yet the instructions are not detailed enough to build a release version. I tried to inquire more information to fix the release build but so far I had no luck.
ID: 79584 · Report as offensive     Reply Quote
TBar

Send message
Joined: 11 Jul 17
Posts: 30
United States
Message 79588 - Posted: 13 Jul 2017, 14:06:45 UTC - in response to Message 79584.  

If it's not possible to post a recommended version then perhaps the Development version 7.4.22 can be updated? From what I've seen, the current build is much better than 7.4.22 which didn't even update the progress numbers. If you choose to display just the active tasks the bouncing scroll bar goes away, and so far that seems to be the only major problem.
ID: 79588 · Report as offensive     Reply Quote
ChristianB
Volunteer moderator
Volunteer developer
Volunteer tester

Send message
Joined: 4 Jul 12
Posts: 305
Germany
Message 79589 - Posted: 13 Jul 2017, 14:55:24 UTC

Recommending 7.4.22 will not solve the problem only postpone it further. It is also not the newest version in the 7.4 series. If there is a problem with the version you build please state the SHA1 commit which you used to build your version and the wxWidgets version used (about dialog of the Manager). Can you also explain what you mean by "the scroll bar has a tendency to jump to the bottom of the page after an update" and give some steps to reproduce?

It's also a pain to try and slide the Top Columns to the left to hide the SETI@home Column, it's difficult to hide the leftmost letter

I guess you mean the "Project" column in the "Tasks" tab? Since 7.6 you can hide columns by going to Options -> Select Columns ... and untick the columns you don't want to see.
ID: 79589 · Report as offensive     Reply Quote
1 · 2 · 3 · Next

Message boards : BOINC Manager : Compiling BOINC Manager 7.7 in Ubuntu 14.04.5

Copyright © 2017 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.