Re: [greenstone-users] multiply defined symbols

From John R. McPherson
DateWed, 8 Dec 2004 21:57:53 +1300
Subject Re: [greenstone-users] multiply defined symbols
In-Reply-To (2112215-1102419466-192-168-0-2)
On Tue, 07 Dec 2004, Virginia Knight wrote:

> Unfortunately, that doesn't seem to work! gsdl/src/mgpp/Makefile and
> Makefile.in just have
> .SUFFIXES:
> without further qualification at about line 51. Changing this following
> your suggestion makes no difference. gsdl/src/mgpp/lib/Makefile and
> Makefile.in do have .SUFFIXES: .cpp .o etc. at line 59 but changing this
> also makes no difference - I get the same errors.

--On Tuesday, December 07, 2004 17:27 +1300 "John R. McPherson"
wrote:

>> ld: fatal: symbol `unicode_strnlen' is multiply defined:
>> (file ../../packages/mg/lib/libmg.a(unitool.o) and file
>> ../mgpp/lib/libmg.a(unitool.o));
>>
>> As before, I'm using gcc 3.4.2 on Solaris 2.5.
>
> In /mnt/disk1/cmvhk/gsdl/src/mgpp/Makefile and Makefile.in,
> try modifying line 59 so where it has:
>#####
> .SUFFIXES: .cpp .o
> .cpp.o:
> $(CXXCOMPILE) -D__cplusplus $<
>#####
> try replacing $(COMPILE) with $(CXXCOMPILE).

Oops... that was supposed to say
/mnt/disk1/cmvhk/gsdl/src/mgpp/lib, not just /mnt/disk1/cmvhk/gsdl/src/mgpp/.

Let me know if that doesn't work.

John