Apache OpenOffice (AOO) Bugzilla – Issue 23535
W32 build breaks in lingucomponent/source/thesaurus/libnth
Last modified: 2013-02-24 20:34:29 UTC
Branch: cws_src680_ooo20031216 The W32 (.NET2002) build breaks in lingucomponent/source/thesaurus/libnth saying that mystrdup and mychomp are already defined in libmythes.lib. Logfile snippet below. The linker is right, the following patch fixes this for me. ------------------------------ Making: ../../../wntmsci8.pro/bin/lnth680mi.dll guw.pl /cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/bin/cl.exe -c -Fo../../../wntmsci8.pro/slo/lnth_dflt_version.obj -DWNT -I../../../wntmsci8.pro/inc /cygdrive/d/v1/cws_src680_ooo20031216/solenv/src/version.c Command: /cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/bin/cl.exe Microsoft (R) 32-Bit C/C++-Standardcompiler Version 13.00.9466 fĂr 80x86 Copyright (C) Microsoft Corporation 1984-2001. Alle Rechte vorbehalten. version.c guw.pl rc -DWIN32 -I -I. -I. -I../inc -I../../../inc -I../../../WIN/inc -I../../../wntmsci8.pro/inc -I. -I/cygdrive/d/v1/cws_src680_ooo20031216/solver/680/wntmsci8.pro/inc/stl -I/cygdrive/d/v1/cws_src680_ooo20031216/solver/680/wntmsci8.pro/inc/external -I/cygdrive/d/v1/cws_src680_ooo20031216/solver/680/wntmsci8.pro/inc -I/cygdrive/d/v1/cws_src680_ooo20031216/solenv/wntmsci8/inc -I/cygdrive/d/v1/cws_src680_ooo20031216/solenv/inc -I/cygdrive/d/v1/cws_src680_ooo20031216/res -I/cygdrive/d/v1/cws_src680_ooo20031216/solver/680/wntmsci8.pro/inc/stl -I/cygdrive/c/j2sdk1.4.1_02/include/win32 -I/cygdrive/c/j2sdk1.4.1_02/include -I'/cygdrive/C/Programme/Microsoft SDK/include' -I/cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/include -I. -I../../../res -I. ../../../wntmsci8.pro/misc/lnth680mi_def.rc Command: rc cat ../../../wntmsci8.pro/misc/lnth680mi_def.res > ../../../wntmsci8.pro/misc/lnth680mi.res guw.pl link /MACHINE:IX86 @/tmp/mk610cb180.d Command: link Microsoft (R) Incremental Linker Version 7.00.9466 Copyright (C) Microsoft Corporation. All rights reserved. /MAP /OPT:NOREF /NODEFAULTLIB /RELEASE /DEBUG:notmapped,full /SUBSYSTEM:CONSOLE /DLL -out:../../../wntmsci8.pro/bin/lnth680mi.dll -map:../../../wntmsci8.pro/misc/lnth680mi.map -def:../../../wntmsci8.pro/misc/lnth680mi.def -implib:../../../wntmsci8.pro/lib/ilnth.lib ..\..\..\wntmsci8.pro\slo\lnth_dflt_version.obj ..\..\..\wntmsci8.pro\slo\lnth_dflt_description.obj ..\..\..\wntmsci8.pro\slb\lnth.lib icppu.lib icppuhelper.lib ivos.lib itools.lib svtool.lib isvl.lib ivcl.lib sfx.lib isal.lib iucbhelper.lib iutl.lib ilng.lib libmythes.lib ulingu.lib msvcrt.lib uwinapi.lib kernel32.lib user32.lib oldnames.lib stlport_vc7.lib ..\..\..\wntmsci8.pro\misc\lnth680mi.res LINK : warning LNK4224: /DEBUG:NOTMAPPED wird nicht mehr unterstuetzt; ignoriert ../../../wntmsci8.pro/misc/lnth680mi.def(2) : warning LNK4017: DESCRIPTION-Anweisung wird von der Zielplattform nicht unterstuetzt; ignoriert ../../../wntmsci8.pro/misc/lnth680mi.def(3) : warning LNK4017: DATA-Anweisung wird von der Zielplattform nicht unterstuetzt; ignoriert Bibliothek ../../../wntmsci8.pro/lib/ilnth.lib und Objekt ../../../wntmsci8.pro/lib/ilnth.exp wird erstellt ulingu.lib(csutil.obj) : error LNK2005: "char * __cdecl mystrdup(char const *)" (?mystrdup@@YAPADPBD@Z) bereits in libmythes.lib(mythes.obj) definiert ulingu.lib(csutil.obj) : error LNK2005: "void __cdecl mychomp(char *)" (?mychomp@@YAXPAD@Z) bereits in libmythes.lib(mythes.obj) definiert ../../../wntmsci8.pro/bin/lnth680mi.dll : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden dmake: Error code 145, while making '../../../wntmsci8.pro/bin/lnth680mi.dll'
Created attachment 11931 [details] Fix for lingucomponent/
Hi Volker, Those routines are actually required for the standalone version of MyThes and as such I don't want to remove them. The best solution if to ifdef them for the standalone version like so ... #ifdef MYTHES_STANDALONE #endif I will add that define to the standalone version so that is will still compile and work without liblingutil. I will commit that change now. Thanks, Kevin
Hi, ifdef MYTHES_STANDALONE added to effectively remove those and replace them with extern for the OOo version of the build. Those routines have to be there for the standalone version of MyThes. Fix has now been committed to the cws_src680_ooo20031216 tree. Please give it a try and let me know if you still have any problems. Resolving this as fixed. Also, I am interested to find out if dictionaries/en_US builds on Windows as well and if not what errors you ran into. Kevin
close issue.