Building firmware on Windows 10

Moderators: Gully, peteru

Post Reply
User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Building firmware on Windows 10

Post by MrQuade » Sun Oct 29, 2017 16:32

The new Windows services for Linux subsystem has gone mainstream now and can be downloaded straight from the Microsoft store.
You have the option of downloading any or all of Ubuntu, OpenSUSE Lead (42), or SUSE Linux Enterprise Server, and apparently Fedora will be coming soon.

I uninstalled my old Ubuntu installation and installed the Store version instead.

This time around I was able to simply install Ubuntu and update.
sudo apt-get update
sudo apt-get dist-upgrade

Then installed some of the build utilities
sudo apt-get install nano gcc make build-essential

From there I was able to download the latest Beyonwiz SDK and followed the instructions in the Beyonwiz bitbucket repository for installation and configuration of the source code.

EDIT:
Also need to install swig:
sudo apt-get install swig

EDIT:
Also need to install gettext and gcc-mipsel-linux-gnu
sudo apt-get install gettext gcc-mipsel-linux-gnu


Following information is for when swig has not been installed:
I can get as far as successfully configuring the build, but I am stuck at the make stage (again?).
I had a previous Windows build thread, and I know that I was missing one package which was causing make to fail with a non-intuitive error. The thread was accidentally deleted, so I don't have a record of it now.

Can someone remind me what I am missing if the build fails with the following error (my google-fu is sadly lacking):

Code: Select all

make[5]: Nothing to be done for 'all-am'.
make[5]: Leaving directory '/home/wade/easy-ui-4/build/lib/python'
make[4]: Leaving directory '/home/wade/easy-ui-4/build/lib/python'
make[4]: Entering directory '/home/wade/easy-ui-4/build/lib'
  GEN      python/enigma_python.cpp
/bin/bash: -c++: command not found
Makefile:2873: recipe for target 'python/enigma_python.cpp' failed
make[4]: *** [python/enigma_python.cpp] Error 127
make[4]: Leaving directory '/home/wade/easy-ui-4/build/lib'
Makefile:2517: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/wade/easy-ui-4/build/lib'
Makefile:1066: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/wade/easy-ui-4/build/lib'
Makefile:597: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/wade/easy-ui-4/build'
Makefile:435: recipe for target 'all' failed
make: *** [all] Error 2
Last edited by MrQuade on Mon Oct 30, 2017 00:14, edited 2 times in total.
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

prl
Wizard God
Posts: 32709
Joined: Tue Sep 04, 2007 13:49
Location: Canberra; Black Mountain Tower transmitters

Re: Building firmware on Windows 10

Post by prl » Sun Oct 29, 2017 17:57

MrQuade wrote:
Sun Oct 29, 2017 16:32
...
Can someone remind me what I am missing if the build fails with the following error (my google-fu is sadly lacking):

Code: Select all

...
make[4]: Entering directory '/home/wade/easy-ui-4/build/lib'
  GEN      python/enigma_python.cpp
/bin/bash: -c++: command not found
...
That's very strange - it looks like make has tried to run a compiler called "-c++". I'd have expected it to try to run a compiler called something like "mipsel-oe-linux-g++", and it looks a bit like some of the config variables used to build the compiler name may not have been set.

Did you follow the config procedure in easy-ui-4/README in your new environment? You probably need to delete your old build directory and start the config and build from scratch.

The thing it's trying to build there is the glue that holds the C++ and Python parts of enigma2 together.
Peter
T4 HDMI
U4, T4, T3, T2, V2 test/development machines
Sony BDV-9200W HT system
LG OLED55C9PTA 55" OLED TV

User avatar
adoxa
Wizard
Posts: 1490
Joined: Thu Feb 23, 2017 22:58
Location: CQ
Contact:

Re: Building firmware on Windows 10

Post by adoxa » Sun Oct 29, 2017 18:16

MrQuade wrote:
Sun Oct 29, 2017 16:32

Code: Select all

make[4]: Entering directory '/home/wade/easy-ui-4/build/lib'
  GEN      python/enigma_python.cpp
/bin/bash: -c++: command not found
IIRC you need to install SWIG.

prl
Wizard God
Posts: 32709
Joined: Tue Sep 04, 2007 13:49
Location: Canberra; Black Mountain Tower transmitters

Re: Building firmware on Windows 10

Post by prl » Sun Oct 29, 2017 18:30

That, too, probably :)
Peter
T4 HDMI
U4, T4, T3, T2, V2 test/development machines
Sony BDV-9200W HT system
LG OLED55C9PTA 55" OLED TV

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Sun Oct 29, 2017 20:30

adoxa wrote:
Sun Oct 29, 2017 18:16
IIRC you need to install SWIG.
That's the one :)
Make is working now after installing swig and re-configuring. :)
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Sun Oct 29, 2017 20:48

Damn, spoke too soon.

Now make fails as follows:

Code: Select all

/bin/bash: no-wrap: command not found
Makefile:514: recipe for target 'enigma2-py.pot' failed
make[2]: [enigma2-py.pot] Error 127 (ignored)
sed --in-place enigma2-py.pot --expression=s/CHARSET/UTF-8/
sed: can't read enigma2-py.pot: No such file or directory
Makefile:520: recipe for target 'enigma2.pot' failed
make[2]: *** [enigma2.pot] Error 2
make[2]: Leaving directory '/home/wade/easy-ui-4/build/po'
Makefile:597: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/wade/easy-ui-4/build'
Makefile:435: recipe for target 'all' failed
make: *** [all] Error 2
I am not sure what no-wrap is. There appears to be no reference to this command anywhere in the Ubunu repository that I can find.
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

prl
Wizard God
Posts: 32709
Joined: Tue Sep 04, 2007 13:49
Location: Canberra; Black Mountain Tower transmitters

Re: Building firmware on Windows 10

Post by prl » Sun Oct 29, 2017 21:59

What comes just before the "no-wrap" error?
Peter
T4 HDMI
U4, T4, T3, T2, V2 test/development machines
Sony BDV-9200W HT system
LG OLED55C9PTA 55" OLED TV

User avatar
peteru
Uber Wizard
Posts: 9741
Joined: Tue Jun 12, 2007 23:06
Location: Sydney, Australia
Contact:

Re: Building firmware on Windows 10

Post by peteru » Sun Oct 29, 2017 22:44

Once you install missing tools, you should remove the build directory and start all over from the autoreconf step.

If it's still broken, you'll need to look through the entire log. You want to find where things started going wrong, not where it finally died. It could be that the clues are somewhere near the start of the log.

"Beauty lies in the hands of the beer holder."
Blog.

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Sun Oct 29, 2017 23:38

peteru wrote:
Sun Oct 29, 2017 22:44
Once you install missing tools, you should remove the build directory and start all over from the autoreconf step.
Yep, I definitely did that bit, since it wouldn't progress any further than it did before I installed swig.
I deleted everything in build and started again from autoreconf -i.

I logged the output of make this time, and cast an eye over it. I can see a bunch or warnings, but I don't know if any are significant, though the ones starting on line 626 look a bit more serious than the others. (log attached)

I am guessing that no-wrap is something that gets built along the way, and in my case was missed for some reason?

Also as a note, when I installed the SDK, I just ran the installer, and didn't perform any additional file copy steps as-per prl's published procedure from the 4.4 and 16.1 series SDKs. I recalled that this step was no longer necessary.
Attachments
make.log
(85.12 KiB) Downloaded 83 times
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

User avatar
peteru
Uber Wizard
Posts: 9741
Joined: Tue Jun 12, 2007 23:06
Location: Sydney, Australia
Contact:

Re: Building firmware on Windows 10

Post by peteru » Sun Oct 29, 2017 23:51

It's the configure log that will tell you what's going on. In this case, you don't seem to have all the tools required for internationalisation, such as gettext and friends.

"Beauty lies in the hands of the beer holder."
Blog.

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Mon Oct 30, 2017 00:13

peteru wrote:
Sun Oct 29, 2017 23:51
It's the configure log that will tell you what's going on. In this case, you don't seem to have all the tools required for internationalisation, such as gettext and friends.
Ahh excellent.
Installed gettext and also gcc-mipsel-linux-gnu for good measure, and the make appears to have worked this time. :)
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Tue Nov 07, 2017 06:08

And just something to horrify you all a little further, I just stumbled across this today.

https://code.visualstudio.com/

Visual Studio Code from Microsoft. Open source code editor for Linux with integration into Git n' all!

Might be a good option for IanSav if you are still looking at doing any development on your main PC without the hassle of a VM.
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

IanSav
Uber Wizard
Posts: 16846
Joined: Tue May 29, 2007 15:00
Location: Melbourne, Australia

Re: Building firmware on Windows 10

Post by IanSav » Tue Nov 07, 2017 12:58

Hi MrQuade,

Thanks for this information. I will check it out when I get some time. (Working on the new remote control app at the moment.)

I use SourceTree as my current development app. It is okay but my Internet connection is very broken so syncing things remotely is a real pain. I am not expecting to see this fixed until the middle of next year. :(

Regards,
Ian.

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Tue Nov 07, 2017 13:08

IanSav wrote:
Tue Nov 07, 2017 12:58
I use SourceTree as my current development app.
You may find that the VS Code editor may work nicely for you in the "Bash for Windows" environment. Since the VS Code application runs in the Linux space, it can freely edit the files on the Linux filesystem, whereas if you tried to use a Windows text editor for this, you'd end up messing up file permissions (they don't recommend manipulating the Linux files with Windows applications).

The only thing you will need on top of that is an X Windows server for Windows. The VS Code application is a GUI app, and thus needs X. I use XMing on Windows and it works well with the "Windows Services for Linux" feature.

I haven't tried out the VS Code app yet myself, but plan to give it a shot tonight. The one thing I hear from developers about Visual Studio is that it is a fantastic development environment, but "it's a shame it is for Windows".
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Wed Nov 08, 2017 12:49

Hmm, sadly I couldn't get VS Code to work under the "Windows Services for Linux" running Ubuntu.

Installing the package worked fine, and all the dependencies were downloaded, though I still needed to manually install a few other bits and pieces to get rid of errors. I think gtk2, and some audio libraries were needed of all things.

After those were installed, attempting to launch "code" just results in a silent failure.

Oh well, I can try SUSE too I guess.

In any case, it may still be a valuable tool for those who are running full-blown Linux either on metal or a VM. The software does seem to have a lot of very valuable tools.

I know the software has been around for some time, but I only just discovered it myself, and I was tickled that MS continues to try stepping outside of its usual comfort zone.
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

IanSav
Uber Wizard
Posts: 16846
Joined: Tue May 29, 2007 15:00
Location: Melbourne, Australia

Re: Building firmware on Windows 10

Post by IanSav » Wed Nov 08, 2017 16:07

Hi MrQuade,

If I remember correctly the Services for Unix is not intended to support GUI environments. You may be hitting some of the hinted at limitations.

Regards,
Ian.

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Wed Nov 08, 2017 16:20

IanSav wrote:
Wed Nov 08, 2017 16:07
If I remember correctly the Services for Unix is not intended to support GUI environments. You may be hitting some of the hinted at limitations.
Not sure if it is "supported" as such, but I can definitely use Linux GUI apps under Services for Linux using XMing as a native Windows X server.

VS Code may be using some more advanced features though. I may try installing it on one of my native Linux environments and then seeing if I can display it using XMing via a tunneled SSH session.
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

User avatar
peteru
Uber Wizard
Posts: 9741
Joined: Tue Jun 12, 2007 23:06
Location: Sydney, Australia
Contact:

Re: Building firmware on Windows 10

Post by peteru » Wed Nov 08, 2017 22:41

Not being at all familiar with this whole Windows mess... Why not run VS Code natively under Windows?

"Beauty lies in the hands of the beer holder."
Blog.

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Wed Nov 08, 2017 22:53

peteru wrote:
Wed Nov 08, 2017 22:41
Not being at all familiar with this whole Windows mess... Why not run VS Code natively under Windows?
Windows applications can't edit files stored in the Linux filesystem address without the risk of corrupting the Linux file attributes unfortunately.
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

User avatar
peteru
Uber Wizard
Posts: 9741
Joined: Tue Jun 12, 2007 23:06
Location: Sydney, Australia
Contact:

Re: Building firmware on Windows 10

Post by peteru » Thu Nov 09, 2017 00:36

:roll: :evil: Why do you even bother?

"Beauty lies in the hands of the beer holder."
Blog.

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Thu Nov 09, 2017 00:43

It's not really something I am seriously pursuing. I just find it fascinating that Microsoft are working on this, and find it amazing that it actually works as well as it does.

I think that it may eventually be of use to some developers, particularly those who prefer a Windows environment for non dev tasks, and don't want the overhead of multiple PCs, multi-boot OSs, or VMs.

I am honestly not seeing myself as having the spare time to invest in getting deep into coding at this point, but am happy to play around the edges :)
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

User avatar
MrQuade
Uber Wizard
Posts: 11844
Joined: Sun Jun 24, 2007 13:40
Location: Perth

Re: Building firmware on Windows 10

Post by MrQuade » Sun Feb 25, 2018 13:51

FYI in case anyone is interested in the cack handed Linux environment under Windows, I did get Visual Studio Code running eventually, and the problem was pretty stupid.

Once I installed VS Studio and all its dependencies, I ran XMing on my Windows PC to provide an X server for the graphical elements of VS code, but it still wouldn't work.

All I need to do was export the display variable to make the Linux component realise where my X Server was.

Code: Select all

export DISPLAY=:0
VS Code for linux running under Windows, so I can use the whole linux build toolchain for the Beyonwiz firmware "natively" on my primary PC. VS Code seems to have some nice extra features to make change tracking much easier.

Still might be worth investigating for IanSav :)
Logitech Harmony Ultimate+Elite RCs
Beyonwiz T2/3/U4/V2, DP-S1 PVRs
Denon AVR-X3400h, LG OLED65C7T TV
QNAP TS-410 NAS, Centos File Server (Hosted under KVM)
Ubiquiti UniFi Managed LAN/WLAN, Draytek Vigor130/Asus RT-AC86U Internet
Pixel 4,5&6, iPad 3 Mobile Devices

IanSav
Uber Wizard
Posts: 16846
Joined: Tue May 29, 2007 15:00
Location: Melbourne, Australia

Re: Building firmware on Windows 10

Post by IanSav » Sun Feb 25, 2018 14:45

Hi MrQuade,
MrQuade wrote:
Sun Feb 25, 2018 13:51
Still might be worth investigating for IanSav :)
I am still interested in getting this going but I am way to busy working with OpenViX and OpenPLi on various fixes and developments. I don't make any C++ level changes and both OpenViX and OpenPLi have been providing me with fully built images.

Regards,
Ian.

Post Reply

Return to “Developers Community”