[mvapich-discuss] fail to link with mvapich2-1.2p1/mvapich2-1.4rc2

Manhui Wang wangm9 at cardiff.ac.uk
Tue Sep 29 06:22:22 EDT 2009


Dear MVAPICH2 developers,
       Following last mail, I tried to see whether it is possible to
make some change in Molpro. But it seems to be impossible since Molpro
directly calls these functions, which are from yacc or bison libraries.
This means these name conflicts with those in yacc or bison libraries. I
have made two small patches(see files attached) for mvapich2, with these
patches Molpro works fine with Mvapich2. I would be very appreciated if
you can  include these changes (probably you will consider more changes
to avoid conflicting with other programs, but this works for molpro at
least) in the mvapich2 development version at your earliest convenience.
So I can test the updated mvapich2 before the final release.

Thank you very much.
Manhui

Jonathan Perkins wrote:
> On Thu, Sep 24, 2009 at 04:14:08PM +0100, Manhui Wang wrote:
>> Dear MVAPICH2 developers,
>>       I tried to build Molpro (see http://www.molpro.net/) with MVAPICH2
>> 1.2p1 (as well as mvapich2-1.4rc2) library, but failed. The reason is
>> that both Molpro and Mvapich use some general function names.  The
>> source code of mvapich library (tokens.c parser.c) contains
>> some yacc-like parsing code. These three
>> functions(yylex yyparse  yyerror) happen to have the same names as those
>> in parse files of Molpro. I renamed these three function to those with a
>> prefix mvapich_* in MVAPICH source code, and recompiled the mvapich2
>> library. Now it works fine.  Could you please slightly change these
>> names to avoid potential conflict with other application program in next
>> release version? Surely, Molpro could also choose other specific
>> function names to avoid such problems.
> 
> Thank you for the suggestion.  We'll take a look at this and have it
> resolved before our final release.
> 
>> The following is the error message:
>>
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(parser.o): In
>> function `yylex':
>> parser.c:(.text+0xbfc): multiple definition of `yylex'
>> ../lib/libmolpro.a(licence.o):parse.c:(.text+0x9ccf): first defined here
>> ld: Warning: size of symbol `yylex' changed from 3091 in
>> ../lib/libmolpro.a(licence.o) to 3336 in
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(parser.o)
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(tokens.o): In
>> function `yyparse':
>> tokens.c:(.text+0x0): multiple definition of `yyparse'
>> ../lib/libmolpro.a(licence.o):parse.c:(.text+0xdb): first defined here
>> ld: Warning: size of symbol `yyparse' changed from 22803 in
>> ../lib/libmolpro.a(licence.o) to 3110 in
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(tokens.o)
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(tokens.o): In
>> function `yyerror':
>> tokens.c:(.text+0x1e5c): multiple definition of `yyerror'
>> ../lib/libmolpro.a(licence.o):parse.c:(.text+0x5edd): first defined here
>> ld: Warning: size of symbol `yyerror' changed from 934 in
>> ../lib/libmolpro.a(licence.o) to 26 in
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(tokens.o)
>> failure
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(parser.o): In
>> function `yylex':
>> parser.c:(.text+0xbfc): multiple definition of `yylex'
>> ../lib/libmolpro.a(licence.o):parse.c:(.text+0x9ccf): first defined here
>> ld: Warning: size of symbol `yylex' changed from 3091 in
>> ../lib/libmolpro.a(licence.o) to 3336 in
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(parser.o)
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(tokens.o): In
>> function `yyparse':
>> tokens.c:(.text+0x0): multiple definition of `yyparse'
>> ../lib/libmolpro.a(licence.o):parse.c:(.text+0xdb): first defined here
>> ld: Warning: size of symbol `yyparse' changed from 22803 in
>> ../lib/libmolpro.a(licence.o) to 3110 in
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(tokens.o)
>> /home/sacmw4/soft/mvapich2-1.2p1-install/lib/libmpich.a(tokens.o): In
>> function `yyerror':
>> tokens.c:(.text+0x1e5c): multiple definition of `yyerror'
>> ../lib/libmolpro.a(licence.o):parse.c:(.text+0x5edd): first defined here
>>
>> Thanks
>> Manhui
>>
>> Yutaka Kubota wrote:
>>> Dear MVAPICH2 discussion Mailing list,
>>>
>>> This is Yutaka Kubota from Cray Japan.
>>>
>>> I would like to know when will release MVAPICH2 1.4 official version. If
>>> this plan was not decided, we will try to use RC2 or RC3 version. We
>>> just would like to know this plan is exist or not.
>>>
>>> Best regards
>>>
>>> Yutaka Kubota
>>>
>>>
>>> _______________________________________________
>>> mvapich-discuss mailing list
>>> mvapich-discuss at cse.ohio-state.edu
>>> http://mail.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
>> -- 
>> -----------
>> Manhui  Wang
>> School of Chemistry, Cardiff University,
>> Main Building, Park Place,
>> Cardiff CF10 3AT, UK
>> Telephone: +44 (0)29208 76637
>> _______________________________________________
>> mvapich-discuss mailing list
>> mvapich-discuss at cse.ohio-state.edu
>> http://mail.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
> 

-- 
-----------
Manhui  Wang
School of Chemistry, Cardiff University,
Main Building, Park Place,
Cardiff CF10 3AT, UK
Telephone: +44 (0)29208 76637

-------------- next part --------------
A non-text attachment was scrubbed...
Name: parser.c.diff
Type: text/x-patch
Size: 1422 bytes
Desc: not available
Url : http://mail.cse.ohio-state.edu/pipermail/mvapich-discuss/attachments/20090929/431ffdfe/parser.c.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tokens.c.diff
Type: text/x-patch
Size: 2896 bytes
Desc: not available
Url : http://mail.cse.ohio-state.edu/pipermail/mvapich-discuss/attachments/20090929/431ffdfe/tokens.c.bin


More information about the mvapich-discuss mailing list