Thiago Macieira wrote:

> Can you compare the command-lines used to link those two applications? What's
> different?

qtdiag:

g++ -m64 -Wl,--gc-sections -Wl,--enable-new-dtags -Wl,-z,origin 
-Wl,-rpath,\$ORIGIN/../lib -Wl,-rpath,/opt/local/lib 
-Wl,-rpath,/opt/local/libexec/qt5/lib -Wl,-rpath,/opt/local/lib 
-Wl,-rpath,/opt/local/libexec/qt5/lib -o ../../bin/qtdiag .obj/main.o 
.obj/qtdiag.o   -L/usr/X11R6/lib64 -L/path/to/build/qtbase/lib -lQt5Gui 
-lQt5Network -lQt5Core -lGL -lpthread

lrelease, lupdate & lconvert:

g++ -m64 -Wl,--gc-sections -Wl,-z,origin -Wl,-rpath,\$ORIGIN/../lib 
-Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/libexec/qt5/lib 
-Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/libexec/qt5/lib -o 
../../../bin/lrelease .obj/main.o .obj/numerus.o .obj/translator.o 
.obj/translatormessage.o .obj/qm.o .obj/qph.o .obj/po.o .obj/ts.o .obj/xliff.o 
.obj/ioutils.o .obj/qmakevfs.o .obj/proitems.o .obj/qmakeglobals.o 
.obj/qmakeparser.o .obj/qmakeevaluator.o .obj/qmakebuiltins.o 
.obj/profileevaluator.o .obj/qrc_proparser.o   -L/path/to/build/qtbase/lib 
-lQt5Xml -lQt5Core -lpthread 
g++ -m64 -Wl,--gc-sections -Wl,-z,origin -Wl,-rpath,\$ORIGIN/../lib 
-Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/libexec/qt5/lib 
-Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/libexec/qt5/lib -o 
../../../bin/lupdate .obj/numerus.o .obj/translator.o .obj/translatormessage.o 
.obj/qm.o .obj/qph.o .obj/po.o .obj/ts.o .obj/xliff.o .obj/ioutils.o 
.obj/qmakevfs.o .obj/proitems.o .obj/qmakeglobals.o .obj/qmakeparser.o 
.obj/qmakeevaluator.o .obj/qmakebuiltins.o .obj/profileevaluator.o .obj/main.o 
.obj/merge.o .obj/simtexth.o .obj/cpp.o .obj/java.o .obj/ui.o 
.obj/qdeclarative.o .obj/qrc_proparser.o   -L/path/to/build/qtdeclarative/lib 
-lQt5QmlDevTools -L/path/to/build/qtbase/lib -lQt5Xml -lQt5Core -lpthread 
g++ -m64 -Wl,--gc-sections -Wl,-z,origin -Wl,-rpath,\$ORIGIN/../lib 
-Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/libexec/qt5/lib 
-Wl,-rpath,/opt/local/lib -Wl,-rpath,/opt/local/libexec/qt5/lib -o 
../../../bin/lconvert .obj/main.o .obj/numerus.o .obj/translator.o 
.obj/translatormessage.o .obj/qm.o .obj/qph.o .obj/po.o .obj/ts.o .obj/xliff.o  
 -L/path/to/build/qtbase/lib -lQt5Xml -lQt5Core -lpthread

linguist:

g++ -m64 -Wl,--gc-sections -Wl,--enable-new-dtags -Wl,-z,origin 
-Wl,-rpath,\$ORIGIN/../lib -Wl,-rpath,/opt/local/lib 
-Wl,-rpath,/opt/local/libexec/qt5/lib -Wl,-rpath,/opt/local/lib 
-Wl,-rpath,/opt/local/libexec/qt5/lib 
-Wl,-rpath-link,/path/to/build/qttools/lib -o ../../../bin/linguist 
.obj/numerus.o .obj/translator.o .obj/translatormessage.o .obj/qm.o .obj/qph.o 
.obj/po.o .obj/ts.o .obj/xliff.o .obj/batchtranslationdialog.o 
.obj/errorsview.o .obj/finddialog.o .obj/formpreviewview.o .obj/globals.o 
.obj/main.o .obj/mainwindow.o .obj/messageeditor.o .obj/messageeditorwidgets.o 
.obj/messagehighlighter.o .obj/messagemodel.o .obj/phrasebookbox.o 
.obj/phrase.o .obj/phrasemodel.o .obj/phraseview.o .obj/printout.o 
.obj/recentfiles.o .obj/sourcecodeview.o .obj/statistics.o 
.obj/translatedialog.o .obj/translationsettingsdialog.o .obj/simtexth.o 
.obj/qrc_linguist.o .obj/moc_batchtranslationdialog.o .obj/moc_errorsview.o 
.obj/moc_finddialog.o .obj/moc_formpreviewview.o .obj/moc_mainwindo
 w.o .obj/moc_messageeditor.o .obj/moc_messageeditorwidgets.o 
.obj/moc_messagehighlighter.o .obj/moc_messagemodel.o .obj/moc_phrasebookbox.o 
.obj/moc_phrase.o .obj/moc_phrasemodel.o .obj/moc_phraseview.o 
.obj/moc_recentfiles.o .obj/moc_sourcecodeview.o .obj/moc_statistics.o 
.obj/moc_translatedialog.o .obj/moc_translationsettingsdialog.o   
-L/usr/X11R6/lib64 -L/path/to/build/qttools/lib -lQt5UiTools 
-L/path/to/build/qtbase/lib -lQt5PrintSupport -lQt5Widgets -lQt5Gui -lQt5Xml 
-lQt5Core -lGL -lpthread

> It must be the lack of -Wl,--enable-new-dtags: can you confirm qtdiag has it
> but lrelease doesn't?

Yep. Neither do lupdate and lconvert, but linguist does (they come all from the 
linguist dir). A bit as if the non-gui utilities were left out.

Oswald Buddenhagen wrote:

> On Wed, Jan 18, 2017 at 03:53:20PM -0800, Thiago Macieira wrote:
>> Ossi: what was the conclusion of our discussion on --enable-new-dtags?
>> 
> it's now enabled by default. i have no clue why it would be wrong for
> lrelease. a more complete survey of the executables in the qt build dir
> would be necessary (check for stale files!).

This was in a fresh build-from-scratch, so stale files should be unlikely.
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to