[prev in list] [next in list] [prev in thread] [next in thread] 

List:       licq-main
Subject:    Re: [Licq-main] QT-GUI on Solaris?
From:       Ian Collier <Ian.Collier () comlab ! ox ! ac ! uk>
Date:       2000-10-23 10:07:56
[Download RAW message or body]

On Sat, Oct 21, 2000 at 02:07:50PM -0700, Mcnilz Deo wrote:
> I am using gcc 2.95.2 for compiling licq.
> QT221 is compiled with -platform solaris-cc-gcc.
> When I start licq -p qt-gui I get this error-msg:
> > licq -p qt-gui
> 22:52:31: [WRN] Licq: Ignoring stale lockfile (pid 4670)
> 22:52:31: [ERR] Unable to load plugin (qt-gui): ld.so.1: licq: fatal: relocation \
> error: file /#####/licq/lib/licq/licq_qt-gui.so: symbol __ti10QDropEvent: \
> referenced symbol not found.

I don't know if anyone else has it working on Solaris, but I found it a
complete pain to get working.  Personally I blame the stupid C++ name
mangling (it seems that every different version of the qt library and
every different compiler you compile it with gives different symbols
in the shared library.  Why anyone actually bothers writing programs
in that language I'll never know...).

Anyway.  The thing about -platform solaris-cc-gcc is that (I think)
it uses the Sun compiler to compile all the C++ bits and gcc for all
the C bits.  This doesn't really help at all, because the important
thing when linking C++ applications together is which compiler you
used for the C++ bits.

Hence you either have to compile Licq with the Sun compiler or compile
Qt with gcc.  Using the Sun compiler is messy because it requires you
to sort out the libstdc++ library and include files and I don't know
how easy that is because I opted for the other alternative.

Compiling qt with g++ is not straightforward because Sun's stupid X
include files (which come with OpenWindows) are broken and gcc objects
to them.  (Funnily enough, Sun's compiler accepts them.)

So, what I did was:

 * In the qt source dir, edit configs/solaris-g++-shared replacing the
   string "/usr/openwin/include" with the location of my X11R6 include
   files.  If you don't have X11R6 installed then you may be stuck.
   I don't know if you can grab the nearest X11R6 include directory
   off a Linux machine, or something.

 * Configure qt with -platform solaris-g++.

 * Compile qt and licq_qt-gui with g++.

imc


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic