PDA

View Full Version : Did Qt 4.7 break my software?!



MattPhillips
18th October 2010, 03:55
Hi,

I'm experiencing kind of a nightmare scenario right now and I could really use some help. I downloaded and installed Qt 4.7 on a 2006 Mac Pro, and after that, and one failed attempt to boot the Mac as a 64-bit system by holding down the 6 and 4 keys, a software program I had written (and which a colleague is supposed to be using tomorrow) stopped working. In this program the main process launches a child process; after these changes they stopped communicating--the main process couldn't receive standard output from the child process. I did not recompile this program under Qt 4.7.

It seems likely to me that it is a 32-bit/64-bit issue. My platform doesn't support 64-bit, according to the Mac website, looking at the kernel/extensions settings in About this Mac->Software, and

g -l -p IODeviceTree | grep firmware-abi

gave me EFI32.

But, Qt 4.7 says it's a 64-bit install in the About Qt box. It insists on 64-bit builds for shared libraries I try to link my Qt software to. The Mac OS seems like part of the problem; when I look at the Activity Monitor, it has 'Intel (64 bit)' next to nearly all of the processes, including system ones. The really weird thing is that when I tried to reinstall 4.6, the same thing happened. My program--to which no change had been made since the time when it did in fact work--didn't.

What's going on? How do I do a 32-bit install, for one thing? Thank you!

Matt

SixDegrees
18th October 2010, 09:31
I don't know how you're doing your installation, but under Linux and the configure/make/make install paradigm, you give the configure script all the properties needed for the build. One of these controls whether you do a 32 or 64 bit build; offhand, I don't recall which, but it looks just like your qmakespec declaration and usually has a "-64" stuck on the end when doing a 64-bit build.

Note that you're better off deleting the entire Qt build directory and unpacking a new version, rather than attempting to 'make clean'; none of the 'clean' targets do a thorough job, and all leave some cruft behind that will interfere with major build changes.

MattPhillips
2nd November 2010, 14:45
Hi,

Actually doing a proper uninstall, and then reinstalling 4.6, worked out--what I should have done the first time. I've always build Qt from the wizard but when I'm ready to give 4.7 another go, I'll do it from the command line--yeah, sounds like "arch=x86_32" is all I need, I expect it's in the install.txt file. Thanks--

Matt