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

Bug#380097: qt4-x11: FTBFS on hurd-i386: missing GNU detection + POSIX incompatibilities

Package: qt4-x11
Severity: important


when trying to build your package, this error has been raised:
> make[1]: Entering directory `/home/kibi/qt-final-build/qt4-x11-4.1.3/qmake'
> g++ -c -o project.o -pipe -DQMAKE_OPENSOURCE_EDITION -g -I.
>  -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac
>  -I/home/kibi/qt-final-build/qt4-x11-4.1.3/src/corelib/arch/generic
>  -I/home/kibi/qt-final-build/qt4-x11-4.1.3/include
>  -I/home/kibi/qt-final-build/qt4-x11-4.1.3/include/QtCore
>  -I/home/kibi/qt-final-build/qt4-x11-4.1.3/include
>  -I/home/kibi/qt-final-build/qt4-x11-4.1.3/include/QtCore
>  -I/home/kibi/qt-final-build/qt4-x11-4.1.3/src/corelib/global
>  -I/home/kibi/qt-final-build/qt4-x11-4.1.3/mkspecs/linux-g++
>   project.cpp
> In file included
>   [from ***]
>   from project.h:27,
>   from project.cpp:24:
> /home/kibi/qt-final-build/qt4-x11-4.1.3/include/QtCore/../../src/corelib/global/qglobal.h:141:4:
>   error: #error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
> make[1]: *** [project.o] Error 1
> make[1]: Leaving directory `/home/kibi/qt-final-build/qt4-x11-4.1.3/qmake'
> make: *** [common-configure-arch] Error 2
[A bit reformated so that it is almost readable in a mailreader.]

This is due to the fact the GNU (GNU/Hurd) is not detected in the actual
Makefile, that's why I propose a patch fixing this (as a dpatch, see
the first attached file). I'm not sure that upstream has to add anything
specific for that OS; at least the build runs OK.

A second issue is the unconditional use of PATH_MAX, which is a POSIX
incompatibility (as briefly described on the hurd-devel-debian page[1]).

 1. http://www.debian.org/ports/hurd/hurd-devel-debian 

Since this problem is being fixed directly with upstream AFAIK, I
include as a second attachment another dpatch, which is a workaround
to that, setting PATH_MAX to an arbitrary value using #ifndef/#define,
so that the package could be built before upstream releases a new
version of some files.

[Here ends my important bug report, what follows is wishlist but is
related to what's just written above, so I guess I'd better put it

Since I noticed that mkspecs files were available for hurd-g++, I
decided to give theme a try, patching debian/rules to use the following
flag:  -platform hurd-g++

I noticed several troubles (located in the mkspecs/hurd-g++/* files):
 -lICE is missing
 -lpthread(s?) is missing

As the package is built correctly (TTBOMK) with linux-g++, I'd suggest
that upstream synchronizes hurd-g++ directory from linux-g++ by copying
it, so that it could be used some day for some hurd-specific options.
At the moment, that mkspecs file is really outdated.

Thanks for your attention. Cheers,

Cyril Brulebois

PS: I'd tag the whole "upstream" but I guess that applying my diffes as
dpatches is an option until upstream has accepted (or not) them, thus I
don't. Feel free to fix this if I'm wrong.

Attachment: 20_hurd_detection.dpatch
Description: application/shellscript

Attachment: 21_hurd_path_max.dpatch
Description: application/shellscript

Reply to: