trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: August 2014

Re: [trinity-devel] Trouble running TDE on openbsd

From: François Andriot <francois.andriot@...>
Date: Thu, 21 Aug 2014 19:59:33 +0200
Le 21/08/2014 16:13, Timothy Pearson a �crit :
> A few questions/comments...
> 1.) patch-mkspecs_openbsd-g++_qmake_conf looks like a bit of a hack.  Is
> there a better way to do this so that the chages are only applied when
> TQt3 is built on a BSD (non-Linux) platform?
This is a patch I've inherited from openbsd qt3 package.
I agree the target file should be updated at build time .
This patch looks useless anyway since it refers to inexistent QT3 
directory, not TQT3.


> 2.) What is the point of patch-plugins_src_sqldrivers_sqldrivers_pro?
Currently, there is sqlite2 but no sqlite3 in openbsd 5.5.
Alas, there is no way to build sqlite2 plugin without sqlite3 plugin in 
tqt3, because there is no separate build option.


> 3.) patch-qmake_generators_unix_unixmake2_cpp largely looks OK for merge,
> with the potential exception of line 385.  Why was this added?  I can
> check for Linux compatibility if it is needed for proper BSD compilation.
> 4.) patch-qmake_generators_unix_unixmake_cpp looks OK for merge.
These are 2 patches I've inherited from openbsd qt3 package.
I understand that openbsd library naming convention only allows 2 digits 
(e.g. libtqt-mt.so.X.Y) not 3 digits (libtqt-mt.so.X.Y.Z)
I've no idea about why the line 385 was added, but I bet it can be removed.


> 5.) We will not be merging patch-src_kernel_ntqstyle.h, but if you could
> please post the build log without that applied I can fix the real problem
> in GIT.
There is a weird FTBFS with the private constructor.

g++ -c -pipe -I/usr/local/include/mysql -I/usr/local/include/postgresql 
-I/usr/local/include/postgresql/server -I/usr/local/include 
-I/usr/X11R6/include/freetype2 -I/usr/local/include -fno-exceptions 
-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include 
-I/usr/local/include -pthread -I/usr/local/include/glib-2.0 
-I/usr/local/lib/glib-2.0/include -I/usr/local/include -Wall -W -O2 
-pthread -fPIC -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_NO_DEBUG 
-DQT_THREAD_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_NIS -D_LARGEFILE_SOURCE 
-D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -DQT_DLOPEN_OPENGL 
-DQT_NO_IMAGEIO_MNG -DQT_BUILTIN_GIF_READER=1 -DQT_NO_STYLE_MAC 
-DQT_NO_STYLE_AQUA -DQT_NO_STYLE_INTERLACE -DQT_NO_STYLE_WINDOWSXP 
-DQT_NO_STYLE_COMPACT -DQT_NO_STYLE_POCKETPC -DQT_USE_GLIBMAINLOOP 
-I/usr/ports/pobj/tqt3-3.5.0/trinity-tqt3-14.0.0~pre203+85e2ff9c/mkspecs/openbsd-g++ 
-I. -I/usr/X11R6/include/freetype2 -I3rdparty/opentype 
-I/usr/local/include -I../include -I/usr/X11R6/include 
-I.moc/release-shared-mt/ -o .obj/release-shared-mt/qstyle.o 
kernel/qstyle.cpp
kernel/ntqstyle.h: In member function 'virtual bool 
TQStyle::widgetActionRequest(const TQStyleControlElementData&, 
TQStyle::ControlElementFlags, void*, TQStyle::WidgetActionRequest, 
TQStyleWidgetActionRequestData)':
kernel/ntqstyle.h:296: error: 
'TQStyleControlElementData::TQStyleControlElementData(const 
TQStyleControlElementData&)' is private
kernel/qstyle.cpp:2487: error: within this context
kernel/ntqstyle.h: In member function 'void 
TQStyle::acceleratorKeypressEventMonitor(TQObject*, TQEvent*)':
kernel/ntqstyle.h:296: error: 
'TQStyleControlElementData::TQStyleControlElementData(const 
TQStyleControlElementData&)' is private
kernel/qstyle.cpp:2562: error: within this context
kernel/ntqstyle.h:296: error: 
'TQStyleControlElementData::TQStyleControlElementData(const 
TQStyleControlElementData&)' is private
kernel/qstyle.cpp:2569: error: within this context
kernel/ntqstyle.h:296: error: 
'TQStyleControlElementData::TQStyleControlElementData(const 
TQStyleControlElementData&)' is private
kernel/qstyle.cpp:2575: error: within this context
kernel/ntqstyle.h: In member function 'bool TQStyle::acceleratorsShown() 
const':
kernel/ntqstyle.h:296: error: 
'TQStyleControlElementData::TQStyleControlElementData(const 
TQStyleControlElementData&)' is private
kernel/qstyle.cpp:2589: error: within this context
kernel/qstyle.cpp: In member function 'T& TQMap<Key, 
T>::operator[](const Key&) [with Key = void*, T = 
TQStyleControlElementData]':
kernel/qstyle.cpp:2273:   instantiated from here
kernel/qstyle.cpp:2848: error: 
'TQStyleControlElementData::TQStyleControlElementData(const 
TQStyleControlElementData&)' is private
../include/ntqmap.h:807: error: within this context
Makefile:6433: recipe for target '.obj/release-shared-mt/qstyle.o' failed
gmake[2]: *** [.obj/release-shared-mt/qstyle.o] Error 1
gmake[2]: Leaving directory 
'/usr/ports/pobj/tqt3-3.5.0/trinity-tqt3-14.0.0~pre203+85e2ff9c/src'
Makefile:40: recipe for target 'sub-src' failed
gmake[1]: *** [sub-src] Error 2
gmake[1]: Leaving directory 
'/usr/ports/pobj/tqt3-3.5.0/trinity-tqt3-14.0.0~pre203+85e2ff9c'
Makefile:8: recipe for target 'init' failed
gmake: *** [init] Error 2


I don't understand why "TQStyleControlElementData()" 
(kernel/qstyle.cpp:2562) is using this private constructor instead of 
the public one.
BTW, I have the same problem when trying to build under Cygwin.

> 6.) patch-src_tools_qmutex_unix_cpp looks OK for merge.
This is a patch I've inherited from openbsd qt3 package.
Under openbsd, conversion from (*pthread) to (int) causes a G++ error 
because variable is losing precision.
I've never seen such error under Linux, only warnings ...


> 7.) patch-src_tools_qstring.cpp looks OK for merge, but we do need to
> document somewhere that the secured memory feature of TQString is not
> available except on Linux (unless BSD has a similar feature to keep a
> specific memory segment out of the swap file).
> 8.) patch-src_widgets_qlineedit_cpp looks OK for merge, but see previous
> note in 7.) on documentation and/or fixing the issue.

Agree.

>
> Overall good work!  The main thing I want to see at this point is
> autodetection of BSD so that we don't have to manually apply the first
> patch for all the others to work.
>
>
Thanks
Francois