wxWidgets 3.0.3 on , Odroid XU4 Xenial 16.04

Do you have a typical platform dependent issue you're battling with ? Ask it here. Make sure you mention your platform, compiler, and wxWidgets version.
Post Reply
grumpy
In need of some credit
In need of some credit
Posts: 4
Joined: Wed Sep 27, 2017 9:14 am

wxWidgets 3.0.3 on , Odroid XU4 Xenial 16.04

Post by grumpy »

I am having a beast of a time at the moment trying to get wxwidgets installed on an odroid xu4 using ubuntu. I believe it has hardfloat.

In terms of background to my problem; simple application coding I am trying to use g++ to compile an application written in c++ and really I just want the application to do nothing much more than "hello world" with a gui with a button and label that changes on click.

Thus far..


sudo apt-add-repository 'deb http://repos.codelite.org/wx3.0.3/ubuntu/ xenial universe'

then.

sudo apt-get update..


I then get the following...


Fetched 15.0 MB in 9s (1,552 kB/s)
Reading package lists... Done
W: GPG error: http://repos.codelite.org/wx3.0.3/ubuntu xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6856E1DB1AC82609
W: The repository 'http://repos.codelite.org/wx3.0.3/ubuntu xenial InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
N: Skipping acquire of configured file 'universe/binary-armhf/Packages' as repository 'http://repos.codelite.org/wx3.0.3/ubuntu xenial InRelease' doesn't support architecture 'armhf'
W: GPG error: http://repos.codelite.org/wx3.1.0/ubuntu xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6856E1DB1AC82609
W: The repository 'http://repos.codelite.org/wx3.1.0/ubuntu xenial InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
N: Skipping acquire of configured file 'universe/binary-armhf/Packages' as repository 'http://repos.codelite.org/wx3.1.0/ubuntu xenial InRelease' doesn't support architecture 'armhf'


So there's plenty in there that shows armhf is not supported.

What am I doing wrong please? Currently moving to the 3.1.0.bz2 file and seeing if I have problems there too.
DavidHart
Site Admin
Site Admin
Posts: 4252
Joined: Thu Jan 12, 2006 6:23 pm
Location: IoW, UK

Re: wxWidgets 3.0.3 on , Odroid XU4 Xenial 16.04

Post by DavidHart »

Hi,
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY
Had you installed the public key? As the doc says:
sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc

Anyway:
So there's plenty in there that shows armhf is not supported.
Indeed it isn't. The wx binaries are there primarily for me to build CodeLite binaries, which I do only for amd64 and 32.

Your choices are:
  • to self-build, as you are now trying. Or
    see if you can use the official ubuntu or debian packages. The xenial ones are wx3.0.2, but that should be fine unless you know you need some of the 3.0.3 bug-fixes. If so, try either the debian buster package or those of later ubuntu versions.
Regards,

David
grumpy
In need of some credit
In need of some credit
Posts: 4
Joined: Wed Sep 27, 2017 9:14 am

Re: wxWidgets 3.0.3 on , Odroid XU4 Xenial 16.04

Post by grumpy »

Thanks David,

Afraid I didn't realise about the keys- my first day or so on the website and I figured Codelite was a separate package to wxwidgets and ignored the line. Afraid I'm a bit of a newbie on linux and really just catching up on the new environment terms.

I continued using ./configure then sudo make then sudo make install and have the following screenshot.

------------------------------------------------------

The installation of wxWidgets is finished. On certain
platforms (e.g. Linux) you'll now have to run ldconfig
if you installed a shared library and also modify the
LD_LIBRARY_PATH (or equivalent) environment variable.

wxWidgets comes with no guarantees and doesn't claim
to be suitable for any purpose.

Read the wxWindows Licence on licencing conditions.

------------------------------------------------------

Have gone into the samples directory - anitest - did a make and then executed the anitest.cpp (after compiling). I'm seeing a sort of progress icon cycling so I think I'm here. I am hoping that i'm going to be able to go through the code and just bend it to my needs.

Thanks for a speedy response - your name cropped up in the key fetch - kudos !
grumpy
In need of some credit
In need of some credit
Posts: 4
Joined: Wed Sep 27, 2017 9:14 am

Re: wxWidgets 3.0.3 on , Odroid XU4 Xenial 16.04

Post by grumpy »

Afraid I've come unstuck again.

I've been trying to start copying and pasting some code out from the "hello world" example into another c++ application. When I run it;
I've used the command

sudo g++ testing2_trigger_option_copy_image.cpp -I /wxWidgets-3.1.0/include/ -o end_result_file -v

I get a fail -

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: ddd9aadd2becd55c8991a8f5f0438f0e
In file included from /wxWidgets-3.1.0/include/wx/defs.h:20:0,
from /wxWidgets-3.1.0/include/wx/wxprec.h:12,
from testing2_trigger_option_copy_image.cpp:2:
/wxWidgets-3.1.0/include/wx/platform.h:136:22: fatal error: wx/setup.h: No such file or directory
compilation terminated.

I suspect it's related to;

" On certain platforms (e.g. Linux) you'll now have to run ldconfig
if you installed a shared library and also modify the
LD_LIBRARY_PATH (or equivalent) environment variable."

and whilst I think I've included the directory in the g++ line, I suspect that the header files are not using the same directory...

I've tried https://codeyarns.com/2014/01/14/how-to ... fig-cache/


nothing.

there isn't actually a setup.h file there - -I had a look at platform.h

/*
Include wx/setup.h for the Unix platform defines generated by configure$
the library compilation options

Note that it must be included before defining hardware symbols below as$
could be already defined by configure but it must be included after def$
the compiler macros above as msvc/wx/setup.h relies on them under Windo$
*/

could you explain - was there a configuration option that I missed when I went make, make install? There is a setup.h file under
/wxWidgets-3.1.0/include/msvc/wx


......ahhhhh

https://wiki.wxwidgets.org/Setup.H#setu ... _wxWidgets


this may go back to the ./configure line - has anyone got a set of flags configured to the xu4 that may be appropriate ?

18:39 - nope looks like setup.h can just be read through and options switched on and off.
Just in case I forget to post this info.
----------------------------------------------
Deployment platform: ODROID XU4
Operating system: Ubuntu 16.4 Xenial Release
WxWidgets Version: 3.1.0
grumpy
In need of some credit
In need of some credit
Posts: 4
Joined: Wed Sep 27, 2017 9:14 am

Re: wxWidgets 3.0.3 on , Odroid XU4 Xenial 16.04

Post by grumpy »

In file included from /wxWidgets-3.1.0/include/wx/platform.h:485:0,
from /wxWidgets-3.1.0/include/wx/defs.h:20,
from /wxWidgets-3.1.0/include/wx/wxprec.h:12,
from testing2_trigger_option_copy_image.cpp:2:
/wxWidgets-3.1.0/include/wx/chkconf.h:787:13: error: #error "wxUSE_LIBMSPACK mu$
# error "wxUSE_LIBMSPACK must be defined, please read comment near t$
^
In file included from /wxWidgets-3.1.0/include/wx/chkconf.h:1267:0,
from /wxWidgets-3.1.0/include/wx/platform.h:485,
from /wxWidgets-3.1.0/include/wx/defs.h:20,
from /wxWidgets-3.1.0/include/wx/wxprec.h:12,
from testing2_trigger_option_copy_image.cpp:2:
/wxWidgets-3.1.0/include/wx/unix/chkconf.h:15:13: error: #error "wxSelect/Epoll$
# error "wxSelect/EpollDispatcher needed for console event loop"
^


this is only a fraction of the error verbose. Any ideas???
Just in case I forget to post this info.
----------------------------------------------
Deployment platform: ODROID XU4
Operating system: Ubuntu 16.4 Xenial Release
WxWidgets Version: 3.1.0
DavidHart
Site Admin
Site Admin
Posts: 4252
Joined: Thu Jan 12, 2006 6:23 pm
Location: IoW, UK

Re: wxWidgets 3.0.3 on , Odroid XU4 Xenial 16.04

Post by DavidHart »

Two answers:

1) To build a wx-using program, don't try to guess the parameters. Instead use the wx-config script.
Assuming you have a standard wx install, you should be able to open a terminal and do things like:
wx-config --list
wx-config --cxxflags
wx-config --libs all
and get sensible outputs.
If you don't have such an install, life is much harder. At the least, you need to call /full/path/to/your/wx-config. However I always use the following solution:

2) Don't try to 'install' wx. Instead build it in a subdir of the source code and configure it as follows:
mkdir builddir && cd builddir
../configure --prefix=$(pwd) --<whatever else>
Then make but don't 'make install', and there's no need for ldconfig.

This gives you a 'local' build inside builddir/, complete with its own wx-config. You can to use it by:
PATH= /full/path/to/builddir:$PATH
g++ *.cpp $(wx-config --cxxflags --libs all) -o progname

If you already build in a subdir, IIUC it's not too late to use solution 2) without needing to rebuild. Just run configure as above and you should find its wx-config script now points to the local build.
Post Reply