Results 1 to 2 of 2

Thread: Building Qt 4.7.2 on Solaris 10 (CC)

  1. #1
    Join Date
    Oct 2010
    Posts
    1
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Building Qt 4.7.2 on Solaris 10 (CC)

    Hi all,
    I’m trying to build Qt on Solaris 10 and it’s quite a painful operation. I’m using Sun C++ 5.8 (don’t tell me to use something else, it’s on a very controlled environment, and it’s the official compiler).
    Doing a configure:
    Qt Code:
    1. ./configure -no-script \
    2. -no-scripttools \
    3. -no-qt3support \
    4. -no-multimedia \
    5. -no-phonon \
    6. -no-webkit \
    7. -no-svg \
    8. -no-javascript-jit \
    9. -no-declarative \
    10. -no-openvg \
    11. -no-gtkstyle \
    12. -xmlpatterns \
    13. -no-glib \
    14. -nomake examples \
    15. -nomake demos
    To copy to clipboard, switch view to plain text mode 
    seems to work, qmake is built, but carrying on the config script when qmake tries to create project files for config.tests it ends with a segfault.
    So I rebuilt qmake with -g flag and debug it. This is the call stack:
    Qt Code:
    1. =>[1] QString::operator==(this = 0x5ca717, other = CLASS), line 2139 in "qstring.cpp"
    2. [2] operator==(key1 = STRUCT, key2 = STRUCT), line 892 in "qregexp.cpp"
    3. [3] QHash<QRegExpEngineKey,QCache<QRegExpEngineKey,QRegExpEngine>::Node>::remove(this = 0x59463c, akey = STRUCT), line 794 in "qhash.h"
    4. [4] QCache<QRegExpEngineKey,QRegExpEngine>::unlink(this = 0x594634, n = STRUCT), line 74 in "qcache.h"
    5. [5] QCache<QRegExpEngineKey,QRegExpEngine>::take(this = 0x594634, key = STRUCT), line 176 in "qcache.h"
    6. [6] prepareEngine_helper(priv = 0x6101e0), line 3708 in "qregexp.cpp"
    7. [7] prepareEngine(priv = 0x6101e0), line 3725 in "qregexp.cpp"
    8. [8] prepareEngineForMatch(priv = 0x6101e0, str = CLASS), line 3730 in "qregexp.cpp"
    9. [9] QRegExp::indexIn(this = 0xffbfc780, str = CLASS, offset = 0, caretMode = CaretAtZero), line 4114 in "qregexp.cpp"
    10. [10] Option::fixString(string = CLASS, flags = '\007'), line 638 in "option.cpp"
    11. [11] Option::fixPathToLocalOS(in = CLASS, fix_env = true, canonical = true), line 130 in "option.h"
    12. [12] MakefileGenerator::fileFixify(this = 0x5fce50, file = CLASS, out_d = CLASS, in_d = CLASS, fix = FileFixifyDefault, canon = true), line 2854 in "makefile.cpp"
    13. [13] MakefileGenerator::init(this = 0x5fce50), line 631 in "makefile.cpp"
    14. [14] UnixMakefileGenerator::init(this = 0x5fce50), line 182 in "unixmake.cpp"
    15. [15] MakefileGenerator::setProjectFile(this = 0x5fce50, p = 0xffbfe5cc), line 308 in "makefile.cpp"
    16. [16] MetaMakefileGenerator::createMakefileGenerator(proj = 0xffbfe5cc, noIO = false), line 496 in "metamakefile.cpp"
    17. [17] BuildsMetaMakefileGenerator::init(this = 0x5ccf80), line 140 in "metamakefile.cpp"
    18. [18] MetaMakefileGenerator::createMetaGenerator(proj = 0xffbfe5cc, name = CLASS, op = false, success = 0xffbfe53e), line 512 in "metamakefile.cpp"
    19. [19] runQMake(argc = 15, argv = 0xffbfe6e4), line 172 in "main.cpp"
    20. [20] main(argc = 15, argv = 0xffbfe6e4), line 194 in "main.cpp"
    To copy to clipboard, switch view to plain text mode 

    so the line is
    Qt Code:
    1. if (d->size != other.d->size)
    To copy to clipboard, switch view to plain text mode 
    The thing is that this->d points to an invalid memory location (0×80000000). Suspecting a QString build issue I logged the stderr after rebuilding qmake. The only warning I have is

    Qt Code:
    1. 5: Warning: d hides QString::d.
    To copy to clipboard, switch view to plain text mode 

    I have no idea how to fix that any ideas?
    Thank you for your help

  2. #2
    Join Date
    Apr 2011
    Posts
    1
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Building Qt 4.7.2 on Solaris 10 (CC)

    Quote Originally Posted by dword View Post
    Hi all,
    I’m trying to build Qt on Solaris 10 and it’s quite a painful operation. I’m using Sun C++ 5.8 (don’t tell me to use something else, it’s on a very controlled environment, and it’s the official compiler).
    Doing a configure:
    Qt Code:
    1. ./configure -no-script \
    2. -no-scripttools \
    3. -no-qt3support \
    4. -no-multimedia \
    5. -no-phonon \
    6. -no-webkit \
    7. -no-svg \
    8. -no-javascript-jit \
    9. -no-declarative \
    10. -no-openvg \
    11. -no-gtkstyle \
    12. -xmlpatterns \
    13. -no-glib \
    14. -nomake examples \
    15. -nomake demos
    To copy to clipboard, switch view to plain text mode 
    seems to work, qmake is built, but carrying on the config script when qmake tries to create project files for config.tests it ends with a segfault.
    So I rebuilt qmake with -g flag and debug it. This is the call stack:
    Qt Code:
    1. =>[1] QString::operator==(this = 0x5ca717, other = CLASS), line 2139 in "qstring.cpp"
    2. [2] operator==(key1 = STRUCT, key2 = STRUCT), line 892 in "qregexp.cpp"
    3. [3] QHash<QRegExpEngineKey,QCache<QRegExpEngineKey,QRegExpEngine>::Node>::remove(this = 0x59463c, akey = STRUCT), line 794 in "qhash.h"
    4. [4] QCache<QRegExpEngineKey,QRegExpEngine>::unlink(this = 0x594634, n = STRUCT), line 74 in "qcache.h"
    5. [5] QCache<QRegExpEngineKey,QRegExpEngine>::take(this = 0x594634, key = STRUCT), line 176 in "qcache.h"
    6. [6] prepareEngine_helper(priv = 0x6101e0), line 3708 in "qregexp.cpp"
    7. [7] prepareEngine(priv = 0x6101e0), line 3725 in "qregexp.cpp"
    8. [8] prepareEngineForMatch(priv = 0x6101e0, str = CLASS), line 3730 in "qregexp.cpp"
    9. [9] QRegExp::indexIn(this = 0xffbfc780, str = CLASS, offset = 0, caretMode = CaretAtZero), line 4114 in "qregexp.cpp"
    10. [10] Option::fixString(string = CLASS, flags = '\007'), line 638 in "option.cpp"
    11. [11] Option::fixPathToLocalOS(in = CLASS, fix_env = true, canonical = true), line 130 in "option.h"
    12. [12] MakefileGenerator::fileFixify(this = 0x5fce50, file = CLASS, out_d = CLASS, in_d = CLASS, fix = FileFixifyDefault, canon = true), line 2854 in "makefile.cpp"
    13. [13] MakefileGenerator::init(this = 0x5fce50), line 631 in "makefile.cpp"
    14. [14] UnixMakefileGenerator::init(this = 0x5fce50), line 182 in "unixmake.cpp"
    15. [15] MakefileGenerator::setProjectFile(this = 0x5fce50, p = 0xffbfe5cc), line 308 in "makefile.cpp"
    16. [16] MetaMakefileGenerator::createMakefileGenerator(proj = 0xffbfe5cc, noIO = false), line 496 in "metamakefile.cpp"
    17. [17] BuildsMetaMakefileGenerator::init(this = 0x5ccf80), line 140 in "metamakefile.cpp"
    18. [18] MetaMakefileGenerator::createMetaGenerator(proj = 0xffbfe5cc, name = CLASS, op = false, success = 0xffbfe53e), line 512 in "metamakefile.cpp"
    19. [19] runQMake(argc = 15, argv = 0xffbfe6e4), line 172 in "main.cpp"
    20. [20] main(argc = 15, argv = 0xffbfe6e4), line 194 in "main.cpp"
    To copy to clipboard, switch view to plain text mode 

    so the line is
    Qt Code:
    1. if (d->size != other.d->size)
    To copy to clipboard, switch view to plain text mode 
    The thing is that this->d points to an invalid memory location (0×80000000). Suspecting a QString build issue I logged the stderr after rebuilding qmake. The only warning I have is

    Qt Code:
    1. 5: Warning: d hides QString::d.
    To copy to clipboard, switch view to plain text mode 

    I have no idea how to fix that any ideas?
    Thank you for your help


    I had the same problem you should be update you CC or install solaris studio 12.2 with CC 5.11

Similar Threads

  1. Building QT4 without libfreetype, on Solaris
    By doggrant in forum Installation and Deployment
    Replies: 4
    Last Post: 27th July 2009, 10:28
  2. Qt 4.4.2 on Solaris 5.8.
    By Alex_123 in forum Installation and Deployment
    Replies: 0
    Last Post: 11th April 2009, 16:25
  3. Qt4.x.x&Solaris
    By urry in forum Installation and Deployment
    Replies: 1
    Last Post: 7th May 2008, 07:26
  4. Qt 4.3 on solaris
    By omprakash in forum Qt Tools
    Replies: 0
    Last Post: 4th February 2008, 17:15
  5. QT 4.1.1 on Solaris 10
    By KaptainKarl in forum Installation and Deployment
    Replies: 1
    Last Post: 7th February 2007, 13:51

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.