pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/34864: Merge qt4-libs, qt4-doc, qt4-tools into one qt4 package, thereby fixing a libtool related bug in qmake



>Number:         34864
>Category:       pkg
>Synopsis:       Merge qt4-libs, qt4-doc, qt4-tools into one qt4 package, 
>thereby fixing a libtool related bug in qmake
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Oct 20 07:10:00 +0000 2006
>Originator:     Raphael Langerhorst
>Release:        3.0
>Organization:
>Environment:
NetBSD home.raphael.g-system.at 3.0 NetBSD 3.0 (HOME-$Revision: 1.42.2.4 $) #0: 
Sun Jul 30 10:37:56 CEST 2006  
root%home.raphael.g-system.at@localhost:/usr/src/sys/arch/amd64/compile/HOME 
amd64
>Description:
The qmake tool included in the x11/qt4-tools package generates wrong version 
numbers when building a library.

For example when a qmake project file contains:
VERSION = 0.5.0

the resulting library would be:
libMyLib.so.0.0.5

which is an incorrect version.
>How-To-Repeat:
The problem is especially important for projects building multiple library 
subprojects that depend on each other. One such project is the G System. To 
reproduce:

$ svn co -r835 svn://svn.g-system.at/G/trunk
$ cd trunk
$ ./scripts/compile  # qt4/bin must be in PATH before qt3/bin

Compiling will stop after the second library because the first library is 
missing. The reason why it is missing is that it has incorrect version numbers 
have been used for the libraries that were built.

A workaround that illustrates the problem can be found in 
src/clientengine/clientengine.pro where the library file is simply moved to the 
correct place after it was created.
>Fix:
The solution is to use the qmake.conf file that is generated by Qt4 itself 
during the build process instead of the custom qmake.conf file currently 
present in pkgsrc.

I have prepared a working Qt4 package that also merges together the qt4-libs, 
qt4-docs and qt4-tools into one qt4 package.

Instead of using the custom configure, build and install targets the new qt4 
package uses the targets provided by Qt4 itself and thereby also installs the 
qmake.conf generated by qt during the build process.

The package can be found on:
http://raphael.g-system.at/tech/pkgsrc/todo.html

including additional information.




Home | Main Index | Thread Index | Old Index