On Mon, Jun 13, 2016 at 11:09:18AM +0200, Kornel Benko wrote:
> Am Montag, 13. Juni 2016 um 01:57:30, schrieb Scott Kostyshak 
> <skost...@lyx.org>
> > On Sun, Jun 12, 2016 at 03:27:24PM +0200, Georg Baum wrote:
> > > Scott Kostyshak wrote:
> > > 
> > > > I tried xmingw-script on current master but it does not succeed for me.
> > > > 
> > > > I get the following:
> > > > 
> > > > error:
> > > > In file included from
> > > > 
> > > /home/scott/lyxbuilds/master/CMakeBuild/src/support/_allinone_const.C:118:0:
> > > > /home/scott/lyxbuilds/master/repo/src/support/convert.cpp:158:32: error:
> > > > specialization of ‘Target lyx::convert(Source) [with Target = int;
> > > > Source = s
> > > > td::__cxx11::basic_string<char>]’ after instantiation
> > > >  int convert<int>(string const s)
> > > 
> > > The compiler complains here that lyx::convert<int, std::string>() was 
> > > used 
> > > before the template was specialized. This does not look correct to me, 
> > > since 
> > > the template specialization is correctly declared in the header. Either 
> > > we 
> > > have a strange effect of the monolithic build (e.g. #define convert 
> > > somethingelse), or a compiler bug, or some new C++ standard does not 
> > > allow 
> > > the way we declare the specializations anymore. I don't think the issue 
> > > has 
> > > something to do with regex or other configuration stuff. Does it go away 
> > > if 
> > > you switch off monolithic build?
> > 
> > Switching off monolithic, and doing a clean build, I get the following 
> > errors:
> > 
> > [  5%] Building CXX object 
> > src/insets/CMakeFiles/insets.dir/InsetFoot.cpp.obj
> > cd /home/scott/lyxbuilds/master_xmingw/CMakeBuild/src/insets && 
> > /usr/bin/i686-w64-mingw32-g++   -DHUNSPELL_STATIC -DQT_CORE_LIB 
> > -DQT_GUI_LIB -DQT_NO_D
> > EBUG -DWINVER=0x0500 @CMakeFiles/insets.dir/includes_CXX.rsp -Wall 
> > -Wunused-parameter --std=c++11 -fno-strict-aliasing  -Wall 
> > -Wunused-parameter --std
> > =c++11 -O2 -DNDEBUG   -DBOOST_USER_CONFIG="<config.h>" -o 
> > CMakeFiles/insets.dir/InsetFoot.cpp.obj -c 
> > /home/scott/lyxbuilds/master_xmingw/repo/src/inse
> > ts/InsetFoot.cpp
> > In file included from 
> > /home/scott/lyxbuilds/master_xmingw/repo/src/graphics/PreviewLoader.cpp:892:0:
> > /home/scott/lyxbuilds/master_xmingw/repo/src/moc_PreviewLoader.cpp:13:2: 
> > error: #error "This file was generated using the moc from 4.8.7. It"
> >  #error "This file was generated using the moc from 4.8.7. It"
> >   ^
> > /home/scott/lyxbuilds/master_xmingw/repo/src/moc_PreviewLoader.cpp:14:2: 
> > error: #error "cannot be used with the include files from this version of 
> > Qt.
> > "
> >  #error "cannot be used with the include files from this version of Qt."
> >   ^
> > /home/scott/lyxbuilds/master_xmingw/repo/src/moc_PreviewLoader.cpp:15:2: 
> > error: #error "(The moc has changed too much.)"
> >  #error "(The moc has changed too much.)"
> >   ^
> > /home/scott/lyxbuilds/master_xmingw/repo/src/moc_PreviewLoader.cpp:56:7: 
> > error: ‘QMetaObjectExtraData’ does not name a type
> >  const QMetaObjectExtraData 
> > lyx::graphics::PreviewLoader::staticMetaObjectExtraData = {
> >        ^
> > /home/scott/lyxbuilds/master_xmingw/repo/src/moc_PreviewLoader.cpp:62:51: 
> > error: ‘staticMetaObjectExtraData’ was not declared in this scope
> >        qt_meta_data_lyx__graphics__PreviewLoader, 
> > &staticMetaObjectExtraData }
> >                                                    ^
> > /home/scott/lyxbuilds/master_xmingw/repo/src/moc_PreviewLoader.cpp: In 
> > member function ‘virtual const QMetaObject* 
> > lyx::graphics::PreviewLoader::metaO
> > bject() const’:
> > /home/scott/lyxbuilds/master_xmingw/repo/src/moc_PreviewLoader.cpp:71:71: 
> > error: conditional expression between distinct pointer types ‘QDynamicMetaOb
> > jectData*’ and ‘const QMetaObject*’ lacks a cast
> >      return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : 
> > &staticMetaObject;
> 
> Did you have the correct 'moc' in PATH while compiling?
> E.g. probably /home/scott/lyx-dependencies/Qt-5.5.1-i686-w64-mingw32/bin

The lyx-dependencies directory is actually
here:
/home/scott/lyxbuilds/master/lyx-dependencies
Thanks to your comment, I realized that when I copy the master directory
to e.g. master-mingw, the lyx-dependencies folder came with the copy. I
removed that directory, and then removed the monolithic build option,
and now it works for me.

With the monolithic build option, it still fails for me.

Does that give us a clue for how to fix the build for me with the
monolithic build option? Note that the monolithic build works fine for
me when building normally (with both autotools and CMake)

I would like to add mingw to the list of compilations that I test on a
regular basis so that we know quickly if it starts failing.

Scott

Attachment: signature.asc
Description: PGP signature

Reply via email to