Rockbox Development > Starting Development and Compiling

Can't compile rbutilqt on Windows

(1/1)

tomers:
Hi there,

I don't manage to compile rbutil using neither MSYS nor Cygwin.

I am doing the following steps (I wrote these instructions for the sake of adding a dedicated TWiki page for this purpose):

Install QT (http://trolltech.com/downloads/opensource)

Install MinGW (http://sourceforge.net/projects/mingw), download 'Automated MinGW Installer'
Add 'C:\MinGW\bin' to my PATH environment variable

Install MSYS Base System (http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963). Take care to select 'Current Release', and not 'Technology Preview'. Download  MSYS-1.X.XX.exe and run it.
It is important to choose to execute the post install process during installation.
Further instructions available here: http://www.mingw.org/MinGWiki/index.php/Install%20MSYS

Open the MSYS shell:
Start -> Programs -> MinGW -> MSYS -> msys

$ export QTDIR=/c/Qt/4.3.1/
$ export QMAKESPEC=win32-g++
$ cd <Rockbox-dir>
$ cd rbutil/rbutilqt
$ /c/Qt/4.3.1/bin/qmake.exe -config dbg
$ make
...
make[1]: *** No rule to make target `..\ipodpatcher\ipodpatcher.h', needed by `build/orbutilqt.o'.  Stop.
make[1]: Leaving directory `/j/rockbox/rbutil/rbutilqt'
make: *** [debug] Error 2

This error is caused due many path strings in Makefile* contain a backslash ('\') instead of a slash ('/') as a path separator.

When I *manually* change '\' to '/' in all relevant locations, I still get errors.

Also, notice the path format returned by qmake:

$ /c/Qt/4.3.1/bin/qmake -query "QT_INSTALL_PREFIX"
C:\Qt\4.3.1
$ /c/Qt/4.3.1/bin/qmake -query "QT_INSTALL_DATA"
C:\Qt\4.3.1

Setting a new value is impossible:

$ /c/Qt/4.3.1/bin/qmake -set "QT_INSTALL_DATA" "C:/Qt/4.3.1"
$ /c/Qt/4.3.1/bin/qmake -query "QT_INSTALL_DATA"
C:\Qt\4.3.1

I seems that MSYS is sensitive backslashes inside path string.

Can you please help me compiling the Rockbox application under Windows?

Also, can I compile this on Cygwin? Can anyone provide me with details instructions?
I couldn't compile it myself on Cygwin. Still trying...

Many thanks, Tomer

obo:
It seems you're running into this issue: http://trolltech.com/developer/knowledgebase/707/
You don't need MSYS to compile QT4 apps on windows.  Try these steps instead:

Download the QT4 executable with MINGW from http://trolltech.com/developer/downloads/qt/windows (the current file is "qt-win-opensource-4.4.0-mingw.exe")
During the install you can point it to your existing MINGW folder (although a new user would have to select the choice to download/install MINGW at this point).
Using the QT4 Command Prompt from the QT Open Source start menu entry, browse to the location where you have the rbutil source, and run qmake followed by make.

bluebrother:
Well, the main issue is that you're trying to build rbutil from msys, which is not working (and not supposed to do so). msys is required for a couple of tools that are not part of MinGW -- sed and uname are the ones that I remember off the top of my head (a while ago you didn't need to install msys to build rbutil). Thus, it's important the bin folder of your msys installation is in your path (in my case it's c:\msys\1.0\bin). Note that I'm referring to the windows PATH variable, not the one of msys.

Second, I have no idea about cygwin -- I don't think anyone has tested that yet.

Also, (but I think you already did that) you need a recent version of MinGW -- the one the Qt installer offers to download is not sufficient.

obo: you need several tools that are part of msys now (for example. librbspeex requires sed for building). Using the same tools off a cygwin installation might work too, but I haven't checked ...

edit: make sure to call mingw32-make in case you have msys in the PATH variable before MinGW ... just happened to me for a fresh installation ;)

tdtooke:
I can say that at one point in the past cygwin did indeed work.  The last time I build it with cygwin was when it was still using wxwidgets though.

Llorean:
The wxwidgets one is for all practical purposes a different program, and doesn't really count.

Navigation

[0] Message Index

Go to full version