Opened 19 years ago

Last modified 19 years ago

#34 closed defect

Problem with messages module in ropp_io — at Version 1

Reported by: Dave Offiler Owned by: marq
Priority: normal Milestone:
Component: ropp_utils Version: 0.8
Keywords: Cc: dave.offiler@…, axel.vonengeln@…

Description (last modified by marq)

Axel & I have both re-built ropp_tools & ropp_io, but the g95 (only) fails in the configure of ropp_io when testing the messages module from ropp_tools - fragment from config.log below.

We suspected underscores again, so explcitly added -Df2cFortran on the ropp_tools configure command, but all we got was two of them in the relevant gcc command output by (ropp_tools) make and the same ropp_io config problem.

Since the issue seems to be with the *match_ routines, wha's special about them (all 'C', for instance?). Any 'pointers'??

configure:3141: checking for message of the ropp_tools library
configure:3152: g95 -o conftest  -I/data/local/frdo/builds/g95/include -L/data/local/frdo/builds/g95/lib  conftest.f90 -lropp_tools -lnetcdf -ludunits  >&5
/data/local/frdo/builds/g95/lib/libropp_tools.a(message.o)(.data+0x0): undefined reference to `bregexp_nmatch__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(message.o)(.data+0x4): undefined reference to `bregexp_match__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(message.o)(.data+0x8): undefined reference to `eregexp_nmatch__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(message.o)(.data+0xc): undefined reference to `eregexp_match__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(replace.o)(.data+0x0): undefined reference to `bregexp_nmatch__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(replace.o)(.data+0x4): undefined reference to `bregexp_match__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(replace.o)(.data+0x2c): undefined reference to `eregexp_nmatch__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(replace.o)(.data+0x30): undefined reference to `eregexp_match__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(replace.o)(.data+0x48): undefined reference to `bregexp_nmatch__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(replace.o)(.data+0x4c): undefined reference to `bregexp_match__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(replace.o)(.data+0x74): undefined reference to `eregexp_match__'
/data/local/frdo/builds/g95/lib/libropp_tools.a(replace.o)(.data+0x78): undefined reference to `eregexp_nmatch__'
configure:3158: $? = 1
configure: failed program was:
|       program main
|             call message
|       end program main
configure:3184: result: no
configure:3189: error: The ropp_tools library is required for the compilation of this library / program.

Change history (1)

comment:1 by marq, 19 years ago

Cc: dave.offiler@… axel.vonengeln@… added
Description: modified (diff)
Status: newassigned
Summary: messages module problem configuring ropp_ioProblem with messages module in ropp_io

The *regexp_[n]match* routines are C routines from tools90 library; but they are not used within the ROPP... However, the strings module (strings.f90 in the strings subdirectory) is simply a copy of the respective interface file from that library. It does contain this:

!-----------------------------------------------------------------------
! 2.1 Fortran 77 interface
!-----------------------------------------------------------------------

  logical, external :: bregexp_match, bregexp_nmatch
  logical, external :: eregexp_match, eregexp_nmatch

So I assume that g95 doesn't like externals defined, even if they are never used:-(

I suggest I replace the strings.f90 in ROPP with a stripped down version of the original file instead of the full one.

Note: See TracTickets for help on using tickets.