Am Thu, 16 Sep 2021 21:12:38 -0400 schrieb Scott Kostyshak <skost...@lyx.org>:
> On Thu, Sep 16, 2021 at 10:13:15PM +0200, Kornel Benko wrote: > > Am Thu, 16 Sep 2021 15:12:34 -0400 > > schrieb Scott Kostyshak <skost...@lyx.org>: > > > > > I was curious about compiling with -fsanitize=undefined. > > > > > > When building (with CMake), I get the following: > > > > > > [ 93%] Linking CXX executable ../../bin/tex2lyx > > > cd /home/scott/lyxbuilds/master/CMakeBuild/src/tex2lyx && /usr/bin/cmake > > > -E > > > cmake_link_script CMakeFiles/tex2lyx.dir/link.txt --verbose=1 > > > /usr/lib/ccache/c++ > > > -Wall -Wextra -Wno-deprecated-copy --std=c++20 -DENABLE_ASSERTIONS=1 > > > -fsanitize=undefined -fno-strict-aliasing -O0 -g3 -D_DEBUG > > > -fsanitize=undefined > > > -rdynamic CMakeFiles/tex2lyx.dir/Context.cpp.o > > > CMakeFiles/tex2lyx.dir/Parser.cpp.o > > > CMakeFiles/tex2lyx.dir/Preamble.cpp.o CMakeFiles/tex2lyx.dir/boost.cpp.o > > > CMakeFiles/tex2lyx.dir/dummy_impl.cpp.o CMakeFiles/tex2lyx.dir/math.cpp.o > > > CMakeFiles/tex2lyx.dir/table.cpp.o CMakeFiles/tex2lyx.dir/tex2lyx.cpp.o > > > CMakeFiles/tex2lyx.dir/text.cpp.o > > > CMakeFiles/tex2lyx.dir/__/graphics/GraphicsParams.cpp.o > > > CMakeFiles/tex2lyx.dir/__/insets/ExternalTemplate.cpp.o > > > CMakeFiles/tex2lyx.dir/__/insets/ExternalTransforms.cpp.o > > > CMakeFiles/tex2lyx.dir/__/insets/InsetLayout.cpp.o > > > CMakeFiles/tex2lyx.dir/__/Author.cpp.o > > > CMakeFiles/tex2lyx.dir/__/CiteEnginesList.cpp.o > > > CMakeFiles/tex2lyx.dir/__/Color.cpp.o > > > CMakeFiles/tex2lyx.dir/__/Counters.cpp.o > > > CMakeFiles/tex2lyx.dir/__/Encoding.cpp.o > > > CMakeFiles/tex2lyx.dir/__/FloatList.cpp.o > > > CMakeFiles/tex2lyx.dir/__/Floating.cpp.o > > > CMakeFiles/tex2lyx.dir/__/FontInfo.cpp.o > > > CMakeFiles/tex2lyx.dir/__/LaTeXPackages.cpp.o > > > CMakeFiles/tex2lyx.dir/__/Layout.cpp.o > > > CMakeFiles/tex2lyx.dir/__/LayoutFile.cpp.o > > > CMakeFiles/tex2lyx.dir/__/LayoutModuleList.cpp.o > > > CMakeFiles/tex2lyx.dir/__/Lexer.cpp.o > > > CMakeFiles/tex2lyx.dir/__/ModuleList.cpp.o > > > CMakeFiles/tex2lyx.dir/__/TextClass.cpp.o > > > CMakeFiles/tex2lyx.dir/__/Spacing.cpp.o > > > CMakeFiles/tex2lyx.dir/__/version.cpp.o > > > -o ../../bin/tex2lyx ../../lib/libsupport.a > > > -lmagic /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.2 > > > /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.2 > > > -lz /usr/bin/ld: > > > CMakeFiles/tex2lyx.dir/dummy_impl.cpp.o:(.data.rel+0x118): > > > undefined reference to `typeinfo for lyx::xml::FontTag' collect2: error: > > > ld > > > returned 1 exit status > > > > > > Any tip on how to solve this? > > > > > > Scott > > > > We may need to include src/xml.cpp to the list of files for tex2lyx. > > (line src/tex2lyx/CMakeLists.txt:13) > > Thanks! Your suggestion worked for this linker error, but then I got new > linker errors. > I kept adding to the list, but I keep getting new linker errors. Currently I > have the > following: > > --- a/src/tex2lyx/CMakeLists.txt > +++ b/src/tex2lyx/CMakeLists.txt > @@ -14,7 +14,7 @@ foreach(_src graphics/GraphicsParams insets/ExternalTemplate > insets/ExternalTransforms insets/InsetLayout Author CiteEnginesList > Color > Counters Encoding FloatList Floating FontInfo LaTeXPackages Layout > LayoutFile LayoutModuleList Lexer ModuleList TextClass > - Spacing version) > + Spacing version xml Layout Paragraph BufferParams) > list(APPEND LINKED_sources ${TOP_SRC_DIR}/src/${_src}.cpp) > list(APPEND LINKED_headers ${TOP_SRC_DIR}/src/${_src}.h) > endforeach(_src) > > But I still get linker errors. I can keep proceeding to add them individually > if that > is what we need to do. But I wanted to check to make sure that's what we > should do. > > I should add that being able to compile with -fsanitize=undefined is not so > important. > If this seems like a tricky issue, I am fine to give up for now :) > > Scott We could omit the flag for tex2lyx compilation. I suppose, we need this flag only for the lyx-executable. So adding the flags in src/CMakeLists.txt as add_compile_options("-fsanitize=undefined") ... target_link_options(${_lyx} "-fsanitize=undefined") Hope this is correct. Kornel
pgpkvk1CBJEos.pgp
Description: Digitale Signatur von OpenPGP
-- lyx-devel mailing list lyx-devel@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-devel