On 02/01/2011 01:44 AM, Jay wrote:
When i first compiled i create a symlink called uic-tqt pointing at uic. This got me passed the error. Not sure if it is the right way to go about it ... but i am writing this from trinity running on Slack current.
SOLVED = figured out, but not fixed in the code
The problem is with the tqtinterface/qtinterface/Makefile.am itself which causes uic-tqt to be missed by many packaging systems. (at least Arch Linux [makepkg], and Slack [whatever it uses]). The reason on Arch is that 'makepkg' does a "semi" out of source build by creating a 'src' and 'pkg' directory in the current module directory. It builds everything in 'src' and then create packages in the fakeroot 'pkg' directory with 'make $DESTDIR=pkg/ install' The final Arch Linux package is created from the contents of 'pkg' and then 'src' and 'pkg' dirs can be removed leaving the original svn source unchanged.
The tqtinterface/qtinterface/Makefile.am specifies:
install-exec-local: test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" cp -Rp "$(srcdir)/tqt-replace" "$(DESTDIR)$(bindir)/" cp -Rp "$(srcdir)/tqt-replace-stream" "$(DESTDIR)$(bindir)/" cp -Rp "$(srcdir)/moc-tqt" "$(DESTDIR)$(bindir)/" cp -Rp "$(srcdir)/uic-tqt" "$(DESTDIR)$(bindir)/" <snip>
In the list, everything except 'uic-tqt' is built in the 'src' directory and gets copied to the 'pkg' directory for packaging. But the correct path for uic-tqt is actually '../qtinterface/uic-tqt' not '$(srcdir)/uic-tqt' since it is provided as part of the source and not built during the compile. So it never gets packaged by default. I suspect something similar happens on Slackware.
I don't know if this can be fixed in the code, a check put in place, or if it is just something that must be dealt with manually. For Arch, you just have to add a manual copy to the PKGBUILD script:
package() { msg "Packaging - $pkgname-$pkgver" cd ${srcdir} mkdir -p ${pkgdir}/usr/bin cp -Rp ../qtinterface/uic-tqt ${pkgdir}/usr/bin
make DESTDIR="$pkgdir/" install }