I am trying to build the current version (checkout from original master) of QLC+ on Windows 7 32bit.
I installed these components:
- QT5.1.1-mingw
- mingw 4.8.1
- fftw3-3.3.3-1-mingw32-dev
- glib_2.24.0-2_win32
- pkg-config_0.26-1_win32
In powershell I go to c:\qlcplus and run qmake and mingw32-make.
I get the following result:
PS C:\qlcplus> mingw32-make.exe
cd hotplugmonitor\ && ( if not exist Makefile C:\Qt\Qt5.1.1\5.1.1\mingw48_32\bin\qmake.exe C:\qlcplus\hotplugmonitor\hot
plugmonitor.pro -o Makefile ) && C:/MinGW/bin/mingw32-make -f Makefile
mingw32-make[1]: Entering directory 'C:/qlcplus/hotplugmonitor'
test wordt niet herkend als een interne of externe opdracht, programma of batchbestand.
De syntaxis van de opdracht is onjuist.
Makefile:39: recipe for target 'sub-src-make_first' failed
mingw32-make[1]: *** [sub-src-make_first] Error 1
mingw32-make[1]: Leaving directory 'C:/qlcplus/hotplugmonitor'
Makefile:50: recipe for target 'sub-hotplugmonitor-make_first-ordered' failed
mingw32-make: *** [sub-hotplugmonitor-make_first-ordered] Error 2
It seems it is expecting a program or batch file called test and it does not exist.
Do you have any idea what the problem can be?
Thanks,
Joep
Last edit: Joep Admiraal 2013-10-16
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yeah I tried with 4.8 and ran into trouble before.
I will do a clean setup tonight (as described in the wiki).
I want to test my changes for the sysex messages on Windows :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I see. If you want I can help. I've got a working environment at home.
The only thing is that I don't know how to monitor sysex on Windows
I can try with this: http://www.midiox.com/
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok, I did another test on a new VM. I used a QLC+ revision from just before the Qt5 commit. I followed the instructions from the wiki.
I used the same software as stated in my first post except for Qt which is now 4.8.5.
One thing I noticed is that the Qt installation complains about W32API3.13 because MinGW has a newer version of this file.
Now when running qmake and make from powershell I get this error:
./debug\avolitesd4parser.o:avolitesd4parser.cpp:(.eh_frame$_ZN7QStringaSEPKc+0x13): undefined reference to `__gxx_person
ality_v0'
I attached a more complete error log.
Googling this error shows similar errors when gcc is used when g++ should have been used. I doubt that this is the case since the logs show g++ is used.
Hmmm...GCC 4.8 might be problematic...although I had reports of users compiling with it on Linux.
I use Windows 7 64bit and mingw 32 bit on GCC 4.6.
I can try your same steps one of this nights but I'm not sure if I have enough time (also, spending time on Windows makes me nervous... :) )
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes environment vars are in place.I noticed that the package gcc-v3-g++ was also installed. So I removed the normal g++ package and tried to compile with the v3 version. That did not work. Then I compiled with only the normal g++ package in place and that did work.It then complained about openssl but once that was installed make completed without errors.I will do some more tests and then update the wiki.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just a tiny note on openssl. I guess you found that issue building the webaccess module. It is not needed and yesterday I pushed a little fix on the mongoose flags.
Honestly I've never heard about v3 and non v3 g++ package. Before updating the wiki, please let me double check the procedure.
Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Windows is terrible when it comes to debug something. I see what you see: a crash somewhere into QtCore :(
Did you launch it from a terminal or double clicked from windows explorer ?
Have you copied the additional DLLs needed for audio and OSC ?
Obviously it all depends if you built them in or not
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
A quick summary. I've spent 2 hours on Windows and I got...nowhere !
I saved my previous mingw installation and I tried to rebuild it from scratch with the new installer.
First, they changed it all. Now it's fully graphic. Might be better or not.
After downloading all the base system, I opened a powershell and the command "make" does absolutely nothing. (gcc and g++ work ok)
So I opened a MSYS shell and got a little bit further. Although I got stuck again, cause for some reason qlcconfig.h doesn't exist.
It is supposed to be created by qmake.
I can spend some more time, maybe tomorrow, but this is indeed a problem. :(
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am able to compile QLC (without the plugins, except for midi).
If you have other (more important) things to work on, please do so.
For me this is not a high priority issue, and eventually I will find the cause of this problem. When I got it running I will update the wiki.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've been able to understand the issue of compiling with MSYS shell. It's more UNIX style.
After building the whole QLC+ I got your same result: error 0xc0000005.
Gonna investigate this later.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hate to drag this back up, but for us "newbies" it is a stumbling block:
The Wiki for building QLC+ on windows has a MinGW link to the new graphical installer, getting me a very new MinGW, not 4.4.
Question: was the Qt 4.8.5 vs 5.2.0 resolved? Or is 4.8.5 the answer.
Question: if using Qt Libs 4.8.5, is QtCreator 3.0.0 ok?
Question: was MinGW 4.4 vs newer version resolved?
Question: gcc 4.8.1 vs 4.6.x resolved?
Massimo,
Seems the last comment here from you was you would check the Wiki and verify the updated process for us windows guys.
I gather that you are not a windows fan (to put it mildly)... Any chance you could help update the "how-to for dummies" so guys like me can get started?
If there is another thread with the new procedure, happy to receive a link to it!
Any help is most appreciated,
Bob
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello Bob. Building on Windows is definitely not for newbies. Sorry.
Not actually my fault, but a thousand issues arise when trying to compile open source softwares with an open source compiler (mingw) in a non-open source platform.
To put it mildly, I think Microsoft does its best to keep open source away from windows. You might succeed, but they make your life very hard.
The answers of your questions are above except for one: you can use Qt Creator with any Qt version.
Unfortunately there is nothing I can do about binaries incompatibility. Qt 4.8.x was built with GCC 4.4, so it's already a miracle it works with GCC 4.6.
You can use GCC 4.8.x with Qt 5.x.
Unless.....you want to build Qt 4.8.5 from sources with GCC 4.8 yourself. Good luck with that ! :)
I haven't updated the wiki cause Qt 4.8.5 is good enough for windows at the moment. Building on Qt 5 is even more difficult and I don't recommend it to anyone.
By the way, may I ask why you want to build QLC+ on Windows ? If you're not happy please report what you found.
If you want to contribute, I strongly recommend to work on Linux.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Now my footnote :)
I'm quite sure that if you use Visual Studio your life will be much easier.
There are prebuilt version of Qt to be used with VS.
I didn't support the idea since the beginning, as I didn't want to fall into the Microsoft trap of using their development suite.
I knew I had to spit blood to use MinGW, but in the end I made it :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am hoping that like most development environments, this is just a matter of getting it setup. Once past that, I could get to working on code, and not spending too much time working the 'environment'. Fortunately, I don't need to work on other projects, so I don't really care about what MinGW version, or Qt version is used.
I use QLC+ is a theater environment, not really DJ use. My brain works like a theater lighting guy, so there are several things I would like to contribute in that regard.
I have played with every DMX software package I can find, well about 8 of them, including Venue Magic. QLC+ is 99%+ of what I have always wanted. Just want a few things to be more the way my brain thinks. I would like to contribute all of that back to the group.
There are several 'querky' things in operation that could be a Windows thing. Since I operate in a Windows environment, my belief is that I should develop in a Windows environment.
I have ample supply of Windows machines due to my day jobs, so to have a 'one off' machine just for this would be a pain.
As for bugs and issues besides the 'querky' ones above, I will let you smarter guys fix those as I run into them. I do have a list, but building the active repository before I complain about bugs is my intention.
Now in a twist of fate, one church where I installed 48 dimmers plus 18 RGB pars, and 4 moving heads, is running QLC+ on a iMAC. They use ArtNet output to one of my boards.
I am a QLC+ and GitHub newbie, but not a software development newbie...
(btw, no interest in building Qt from sources! I will beg for mercy before I try that!)
Just wanted to ask about the versions before I take the plunge. Didn't want you to come back later and say "why didn't you ask?" I'll go ahead and muddle through it.
Thanks for the advice.
Bob
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am trying to build the current version (checkout from original master) of QLC+ on Windows 7 32bit.
I installed these components:
- QT5.1.1-mingw
- mingw 4.8.1
- fftw3-3.3.3-1-mingw32-dev
- glib_2.24.0-2_win32
- pkg-config_0.26-1_win32
In powershell I go to c:\qlcplus and run qmake and mingw32-make.
I get the following result:
PS C:\qlcplus> mingw32-make.exe
cd hotplugmonitor\ && ( if not exist Makefile C:\Qt\Qt5.1.1\5.1.1\mingw48_32\bin\qmake.exe C:\qlcplus\hotplugmonitor\hot
plugmonitor.pro -o Makefile ) && C:/MinGW/bin/mingw32-make -f Makefile
mingw32-make[1]: Entering directory 'C:/qlcplus/hotplugmonitor'
test wordt niet herkend als een interne of externe opdracht, programma of batchbestand.
De syntaxis van de opdracht is onjuist.
Makefile:39: recipe for target 'sub-src-make_first' failed
mingw32-make[1]: *** [sub-src-make_first] Error 1
mingw32-make[1]: Leaving directory 'C:/qlcplus/hotplugmonitor'
Makefile:50: recipe for target 'sub-hotplugmonitor-make_first-ordered' failed
mingw32-make: *** [sub-hotplugmonitor-make_first-ordered] Error 2
It seems it is expecting a program or batch file called test and it does not exist.
Do you have any idea what the problem can be?
Thanks,
Joep
Last edit: Joep Admiraal 2013-10-16
...like if I speak dutch... :)
Anyway, as stated in the QLC+ wiki: https://github.com/mcallegari/qlcplus/wiki
"Note: QLC+ hasn't been ported to Qt 5.x yet. So let's stick with Qt 4.8.5 for now !"
Well, I noticed this commit:
da8ea7a845b4e8e6a0329f066b2bc733702e83db HUGE one - QLC+ ported to Qt5 !
So I thought lets give it a try.
I did this in a virtual machine so can easily switch back to my Qt4 machine for now.
It's not official and it's not tested on Windows.
I just built it and launched it on Linux.
Have you ever compiled QLC+ on Windows ? (with Qt 4.8.x)
I assure you it's a pain in the ass
Yeah I tried with 4.8 and ran into trouble before.
I will do a clean setup tonight (as described in the wiki).
I want to test my changes for the sysex messages on Windows :-)
I see. If you want I can help. I've got a working environment at home.
The only thing is that I don't know how to monitor sysex on Windows
I can try with this: http://www.midiox.com/
Ok, I did another test on a new VM. I used a QLC+ revision from just before the Qt5 commit. I followed the instructions from the wiki.
I used the same software as stated in my first post except for Qt which is now 4.8.5.
One thing I noticed is that the Qt installation complains about W32API3.13 because MinGW has a newer version of this file.
Now when running qmake and make from powershell I get this error:
./debug\avolitesd4parser.o:avolitesd4parser.cpp:(.eh_frame$_ZN7QStringaSEPKc+0x13): undefined reference to `__gxx_person
ality_v0'
I attached a more complete error log.
Googling this error shows similar errors when gcc is used when g++ should have been used. I doubt that this is the case since the logs show g++ is used.
Any ideas?
Thanks
Did you forget to install g++ when you installed MinGW ?
What does g++ -v say ?
EDIT: By the way, the changes to work on Qt5 are backward compatible. QLC+ still compiles on Qt 4.8.x
Last edit: Massimo Callegari 2013-10-21
g++ is installed with MinGW.
g++ -v output:
PS C:\qlcplus> g++ -v
Using built-in specs.
COLLECT_GCC=C:\MinGW\bin\g++.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.8.1/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.8.1/configure --prefix=/mingw --host=mingw32 --build=mingw32 --without-pic --enable-shared --e
nable-static --with-gnu-ld --enable-lto --enable-libssp --disable-multilib --enable-languages=c,c++,fortran,objc,obj-c++
,ada --disable-sjlj-exceptions --with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific
-runtime-libs --with-gmp=/usr/src/pkg/gmp-5.1.2-1-mingw32-src/bld --with-mpc=/usr/src/pkg/mpc-1.0.1-1-mingw32-src/bld --
with-mpfr= --with-system-zlib --with-gnu-as --enable-decimal-float=yes --enable-libgomp --enable-threads --with-libiconv
-prefix=/mingw32 --with-libintl-prefix=/mingw --disable-bootstrap LDFLAGS=-s CFLAGS=-D_USE_32BIT_TIME_T
Thread model: win32
gcc version 4.8.1 (GCC)
Hmmm...GCC 4.8 might be problematic...although I had reports of users compiling with it on Linux.
I use Windows 7 64bit and mingw 32 bit on GCC 4.6.
I can try your same steps one of this nights but I'm not sure if I have enough time (also, spending time on Windows makes me nervous... :) )
By the way, have you set the environment variables like PATH, QTDIR and so on?
I remember I got a hell of time on that
Yes environment vars are in place.I noticed that the package gcc-v3-g++ was also installed. So I removed the normal g++ package and tried to compile with the v3 version. That did not work. Then I compiled with only the normal g++ package in place and that did work.It then complained about openssl but once that was installed make completed without errors.I will do some more tests and then update the wiki.
Just a tiny note on openssl. I guess you found that issue building the webaccess module. It is not needed and yesterday I pushed a little fix on the mongoose flags.
Honestly I've never heard about v3 and non v3 g++ package. Before updating the wiki, please let me double check the procedure.
Thanks
I did make install and renamed the .a files to .dll files.
Now when I try to strart qlcplus.exe I get an appcrash:
Cannot start the application (0xc0000005).
Signature:
P1: qlcplus.exe
P2: 0.0.0.0
P3: 52663c2b
P4: QtCored4.dll
P5: 4.8.5.0
P6: 51cc9cc0
P7: c0000005
P8: 001e1b7c
P9:
P10:
It generates a crashdump file, but before I start analysing that, do you have any idea what this could be?
Windows is terrible when it comes to debug something. I see what you see: a crash somewhere into QtCore :(
Did you launch it from a terminal or double clicked from windows explorer ?
Have you copied the additional DLLs needed for audio and OSC ?
Obviously it all depends if you built them in or not
A quick summary. I've spent 2 hours on Windows and I got...nowhere !
I saved my previous mingw installation and I tried to rebuild it from scratch with the new installer.
First, they changed it all. Now it's fully graphic. Might be better or not.
After downloading all the base system, I opened a powershell and the command "make" does absolutely nothing. (gcc and g++ work ok)
So I opened a MSYS shell and got a little bit further. Although I got stuck again, cause for some reason qlcconfig.h doesn't exist.
It is supposed to be created by qmake.
I can spend some more time, maybe tomorrow, but this is indeed a problem. :(
I am able to compile QLC (without the plugins, except for midi).
If you have other (more important) things to work on, please do so.
For me this is not a high priority issue, and eventually I will find the cause of this problem. When I got it running I will update the wiki.
I've been able to understand the issue of compiling with MSYS shell. It's more UNIX style.
After building the whole QLC+ I got your same result: error 0xc0000005.
Gonna investigate this later.
I fear this is it: https://qt-project.org/forums/viewthread/21853/
Means latest MinGW is not binary compatible with Qt 4.8.5.
Ah great you found the problem.
I tried MinGW 4.4 and it works.
Thanks for looking into this.
Hello gentlemen,
Hate to drag this back up, but for us "newbies" it is a stumbling block:
The Wiki for building QLC+ on windows has a MinGW link to the new graphical installer, getting me a very new MinGW, not 4.4.
Question: was the Qt 4.8.5 vs 5.2.0 resolved? Or is 4.8.5 the answer.
Question: if using Qt Libs 4.8.5, is QtCreator 3.0.0 ok?
Question: was MinGW 4.4 vs newer version resolved?
Question: gcc 4.8.1 vs 4.6.x resolved?
Massimo,
Seems the last comment here from you was you would check the Wiki and verify the updated process for us windows guys.
I gather that you are not a windows fan (to put it mildly)... Any chance you could help update the "how-to for dummies" so guys like me can get started?
If there is another thread with the new procedure, happy to receive a link to it!
Any help is most appreciated,
Bob
Hello Bob. Building on Windows is definitely not for newbies. Sorry.
Not actually my fault, but a thousand issues arise when trying to compile open source softwares with an open source compiler (mingw) in a non-open source platform.
To put it mildly, I think Microsoft does its best to keep open source away from windows. You might succeed, but they make your life very hard.
The answers of your questions are above except for one: you can use Qt Creator with any Qt version.
Unfortunately there is nothing I can do about binaries incompatibility. Qt 4.8.x was built with GCC 4.4, so it's already a miracle it works with GCC 4.6.
You can use GCC 4.8.x with Qt 5.x.
Unless.....you want to build Qt 4.8.5 from sources with GCC 4.8 yourself. Good luck with that ! :)
I haven't updated the wiki cause Qt 4.8.5 is good enough for windows at the moment. Building on Qt 5 is even more difficult and I don't recommend it to anyone.
By the way, may I ask why you want to build QLC+ on Windows ? If you're not happy please report what you found.
If you want to contribute, I strongly recommend to work on Linux.
A footnote:
My desire is to develop/debug using the QtCreator IDE.
Bob
Now my footnote :)
I'm quite sure that if you use Visual Studio your life will be much easier.
There are prebuilt version of Qt to be used with VS.
I didn't support the idea since the beginning, as I didn't want to fall into the Microsoft trap of using their development suite.
I knew I had to spit blood to use MinGW, but in the end I made it :)
Massimo,
I am hoping that like most development environments, this is just a matter of getting it setup. Once past that, I could get to working on code, and not spending too much time working the 'environment'. Fortunately, I don't need to work on other projects, so I don't really care about what MinGW version, or Qt version is used.
I use QLC+ is a theater environment, not really DJ use. My brain works like a theater lighting guy, so there are several things I would like to contribute in that regard.
I have played with every DMX software package I can find, well about 8 of them, including Venue Magic. QLC+ is 99%+ of what I have always wanted. Just want a few things to be more the way my brain thinks. I would like to contribute all of that back to the group.
There are several 'querky' things in operation that could be a Windows thing. Since I operate in a Windows environment, my belief is that I should develop in a Windows environment.
I have ample supply of Windows machines due to my day jobs, so to have a 'one off' machine just for this would be a pain.
As for bugs and issues besides the 'querky' ones above, I will let you smarter guys fix those as I run into them. I do have a list, but building the active repository before I complain about bugs is my intention.
Now in a twist of fate, one church where I installed 48 dimmers plus 18 RGB pars, and 4 moving heads, is running QLC+ on a iMAC. They use ArtNet output to one of my boards.
I am a QLC+ and GitHub newbie, but not a software development newbie...
(btw, no interest in building Qt from sources! I will beg for mercy before I try that!)
Just wanted to ask about the versions before I take the plunge. Didn't want you to come back later and say "why didn't you ask?" I'll go ahead and muddle through it.
Thanks for the advice.
Bob