Saturday, July 5th 2008, 5:59am UTC+1

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to QtForum.org. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Thursday, April 10th 2008, 12:56pm

Source Install on Solaris 10

I'm having some trouble installing Qt 4.3.4. I read the HTML documentation for installing Qt X11 as well as the README and INSTALL files, and I first ran the configure script. It stopped part way through because it could not detect the endianess of my Sun Blade 100 system. So I re-ran the ./configure with the -big-endian option and the configuration script does complete. I also had to add a symlink CC to /usr/sfw/bin/g++.

However, during configuration the script spews out a lot of warnings like the following:

Source code

1
2
3
4
5
6
7
Reading /opt/qt-x11-opensource-src-4.3.4/examples/designer/containerextension/containerextension.pro
WARNING: Failure to find: multipagewidgetcontainerextension.cpp
WARNING: Failure to find: multipagewidgetextensionfactory.cpp
WARNING: Failure to find: multipagewidgetcontainerextension.h
WARNING: Failure to find: multipagewidgetcontainerextension.cpp
WARNING: Failure to find: multipagewidgetextensionfactory.cpp
WARNING: Failure to find: multipagewidgetcontainerextension.h


When I try to run "gmake", the Makefile runs for about thirty minutes before it spits out an error saying it cannot find cc. I have two C compilers on the system, /usr/ucb/cc and then I have /usr/sfw/bin/gcc (and /usr/sfw/bin/g++ too). I want to tell the Qt make system to use /usr/sfw/bin/g++, but I searched in the make file and I did not see any place that I could remove cc and use the GNU versions in their place.

Is there more detailed documentation on installing Qt 4 on Solaris? Or is the INSTALL file really all there is?
  • Go to the top of the page

Junior

Intermediate

Posts: 407

Location: San Antonio, TX USA

Occupation: Secure Engineer

2

Friday, April 11th 2008, 8:03pm

RE: Source Install on Solaris 10

doctorwatson (I presume...) {couldn't resist...sri} :)

It's something simpler than that. I think I posted on this before, but it may have been a while ago.

Some reason the tar ball from qt doesn't uncompress well under solaris, some of the filenames get mutated or over wrote. You will probably find partial filenames of some of the output files in the directory if you search. However, that is a pain in the neck to go and rename them individual files by hand because of the amount of them. So I highly suggest the following...

Down load the tar to a windows box, unzip the tar (automatically with winzip) then re-zip it on the windows box. Then copy it on the solaris box and unzip the zip file with cmd: unzip -a <winzip file>. I do this now for everything going to a solaris box (out of habit).

Let me know if this doesn't work for you, but you will find the missing files will no longer be missing. Why this is, I don't have the foggiest, something to do with what you were saying I suppose.

Anyway, hope this helps.

Junior
  • Go to the top of the page

3

Tuesday, April 15th 2008, 12:16am

No problem, that is exactly where I took the name from! ;)

I unpacked and repacked the source archive on Cygwin and then moved it back to Solaris. That cleared up the previous error, thank you! I also edited the PATH variable and symlinked "g++" to "cc" and "CC". From the screen output it seems that halfway through the make process, the variable switches from CC to cc. I don't know if that is a mistake or intentional, and I don't know where to change it, so I just used symlinks to get over the issue. Hopefully it is g++ and gcc that is needed.

I still get an error when I try to build the source though. It appears to be a source code problem and I don't know if it is something I can fix.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
cc -c -O -DQT_BOOTSTRAPPED -DQT_RCC -DQT_LITE_UNICODE -DQT_NO_DATASTREAM -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_UNICODETABLES -DQT_NO_LIBRARY -DQT_NO_SYSTEMLOCALE -DQT_NO_GEOM_VARIANT -I../../../mkspecs/solaris-cc -I. -I../../corelib/arch/generic -I../../../include -I. -I../../../include/QtCore -I../../../include/QtXml -I../../3rdparty/zlib -I.uic/release-shared -I/usr/sfw/include -o .obj/release-shared/adler32.o ../../3rdparty/zlib/adler32.c
../../3rdparty/zlib/adler32.c:57: error: `uLong adler32' redeclared as different kind of symbol
../../3rdparty/zlib/zlib.h:1274: error: previous declaration of `uLong adler32(uLong, const Bytef*, uInt)'
../../3rdparty/zlib/adler32.c:57: error: declaration of `uLong adler32'
../../3rdparty/zlib/zlib.h:1274: error: conflicts with previous declaration `uLong adler32(uLong, const Bytef*, uInt)'
../../3rdparty/zlib/adler32.c:57: error: `adler' was not declared in this scope
../../3rdparty/zlib/adler32.c:57: error: `buf' was not declared in this scope
../../3rdparty/zlib/adler32.c:57: error: `len' was not declared in this scope
../../3rdparty/zlib/adler32.c:58: error: initializer expression list treated as compound expression
../../3rdparty/zlib/adler32.c:58: error: expected `,' or `;' before "uLong"
../../3rdparty/zlib/adler32.c:61: error: expected unqualified-id before '{' token
../../3rdparty/zlib/adler32.c:61: error: expected `,' or `;' before '{' token
../../3rdparty/zlib/adler32.c:128: error: `uLong adler32_combine' redeclared as different kind of symbol
../../3rdparty/zlib/zlib.h:1290: error: previous declaration of `uLong adler32_combine(uLong, uLong, long int)'
../../3rdparty/zlib/adler32.c:128: error: declaration of `uLong adler32_combine'
../../3rdparty/zlib/zlib.h:1290: error: conflicts with previous declaration `uLong adler32_combine(uLong, uLong, long int)'
../../3rdparty/zlib/adler32.c:128: error: `adler1' was not declared in this scope
../../3rdparty/zlib/adler32.c:128: error: `adler2' was not declared in this scope
../../3rdparty/zlib/adler32.c:128: error: `len2' was not declared in this scope
../../3rdparty/zlib/adler32.c:129: error: initializer expression list treated as compound expression
../../3rdparty/zlib/adler32.c:129: error: expected `,' or `;' before "uLong"
../../3rdparty/zlib/adler32.c:132: error: expected unqualified-id before '{' token
../../3rdparty/zlib/adler32.c:132: error: expected `,' or `;' before '{' token
gmake[1]: *** [.obj/release-shared/adler32.o] Error 1
gmake[1]: Leaving directory `/opt/qt-4.3.4/src/tools/rcc'
gmake: *** [sub-rcc-make_default-ordered] Error 2



I have to say I'm really not impressed with Qt at the moment. I'm using the open source version for the moment, and if this little in-house project goes well my department is talking about getting some licenses for the commercial version for use in future projects for customers. But the install process seems to either bug ridden or under-documented. Random Sourceforge source bundles are normally easier to build than this Qt 4.3.4 mess of a source installer. I looked around for packages and SunFreeware.com only has Qt 3.x Solaris packages, and Blastwave only has Qt 3.x packages as well.
  • Go to the top of the page

Junior

Intermediate

Posts: 407

Location: San Antonio, TX USA

Occupation: Secure Engineer

4

Wednesday, April 16th 2008, 2:50pm

doctorwatson,

I should of mentioned prior that it was needed to set the exec modes:
chmod -R 755 qt/bin
chmod -R 755 qt/config.tests
chmod 755 qt/configure

You probably figured this out since your already compling. Sorry about that.

Seem's to be with the third party packages Qt is introducing into there product. I know I have had some problems in the past with compling some of the 3rd party downloads without regards to Qt being involved (zlib being one of them). You mentioned using a mix of sunfreeware and blastwave downloads, I too have done this and found some problems during builds.

Usually updating the PATH var overcomes this:
(e.g. (bash) export PATH=/opt/csw/bin:/opt/csw/gcc3/bin:/usr/ccs/bin:$PATH )

As far as the CC to cc var, I haven't seen that although I have been know to update the mkspecs file before for Var transitioning on earlier releases.

I compiled Qt-4.3.4 with config.status:
./configure -platform solaris-g++ -fast -lrt

You might consider adding the librt for backward compatibility.

Let me know how it goes.

Junior
  • Go to the top of the page

5

Friday, April 18th 2008, 2:29am

I tried installing the blastwave g++ packages and diverting the the path to CC and cc to the that compiler, but the make process still stops in the same spot. I also tried building with the following, but the make process stops at the same place.

./configure -big-endian -platform solaris-g++ -fast -lrt

I think I'm going to have to spend some time hacking away at the makefiles. Perhaps I can disabled the third-party tools. If I figure it out I'll post again in case someone else has this problem in the future.

I am also going to try the 30-day commercial version and see if it installs better on my system.
  • Go to the top of the page

6

Wednesday, April 30th 2008, 4:22pm

I upgraded to the Solaris 10 May 2008 release and the configure process went better. I thought I was going to get through the make process as well, but after about 30 minutes of compilation, I get the following error:


Source code

1
2
3
4
5
6
7
8
9
10
cd src/corelib/ && gmake -f Makefile 
gmake[1]: Entering directory `/opt/qt-x11-opensource-src-4.3.4/src/corelib'
g++ -c -O -mt -KPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_44_API_QSQLQUERY_FINISH -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/solaris-cc -I. -I../../include -I../../include/QtCore -Iglobal -I.moc/release-shared -I.uic/release-shared -I/usr/sfw/include -o .obj/release-shared/qatomic32.o arch/sparc/qatomic32.s
g++: unrecognized option `-KPIC'
CC -c -O2 -mt -KPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_44_API_QSQLQUERY_FINISH -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/solaris-cc -I. -I../../include -I../../include/QtCore -Iglobal -I.moc/release-shared -I.uic/release-shared -I/usr/sfw/include -o .obj/release-shared/qglobal.o global/qglobal.cpp
CC: unrecognized option `-KPIC'
cc1plus: error: invalid option `t'
gmake[1]: *** [.obj/release-shared/qglobal.o] Error 1
gmake[1]: Leaving directory `/opt/qt-x11-opensource-src-4.3.4/src/corelib'
gmake: *** [sub-corelib-make_default-ordered] Error 2


Since the error is in the core library, I assume it is rather critical. Anyone dealt with this issue before? ?(
  • Go to the top of the page

Rate this thread