Issue 23535

Summary: W32 build breaks in lingucomponent/source/thesaurus/libnth
Product: Infrastructure Reporter: quetschke
Component: Website general issuesAssignee: issues@lingucomponent <issues>
Status: CLOSED FIXED QA Contact: issues@lingucomponent <issues>
Severity: Trivial    
Priority: P1 (highest) CC: issues
Version: current   
Target Milestone: ---   
Hardware: PC   
OS: Windows 2000   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
Fix for lingucomponent/ none

Description quetschke 2003-12-13 23:46:28 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'
Comment 1 quetschke 2003-12-13 23:47:19 UTC
Created attachment 11931 [details]
Fix for lingucomponent/
Comment 2 khendricks 2003-12-14 00:50:15 UTC
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 
 
Comment 3 khendricks 2003-12-14 01:01:53 UTC
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 
 
Comment 4 Martin Hollmichel 2004-11-03 04:24:40 UTC
close issue.