Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28657 Discussions

error #7589: Not a valid value for the char-expr in this connect-spec. ['TRANSPARENT']

isabelv
Beginner
2,111 Views
Hi,
I am working on a pile of code originally developed under Lahey/Fujitsu.There are several utility libraries I need to rebuild to link the project. Here are the errors i got while compiling one of the libraries (Util):
error #7589: Not a valid value for the char-expr in this connect-spec. ['TRANSPARENT']
error #5082: Syntax error, found ERROR-OF-STATEMENT when expecting one of :(%[:.==>
error #6236: A specification statement cannot apprear in the executable section.
The line of code is
IF (INIT .EQ. 0) THEN
C initialize output screen
OPEN(UNIT=6,FILE='CON',ACCESS='TRANSPARENT',BLOCKSIZE=4096)
INIT= 1
CFORE= FORE
CBACK= BACK
CSET = 1
I googled the error message. It seemed the problem is caused by the imcompatiblity in thisACCESS='TRANSPARENT'between LF and other Fortran compiler like Intel fortran. I tried a couple of ways, but was still unable to fix the problem.
Please help! Very appreciate it.
0 Kudos
7 Replies
Wendy_Doerner__Intel
Valued Contributor I
2,111 Views
Our compiler does not have a "TRANSPARENT" choice for ACCESS. You should picke from one of our access methods that will work with your file. I am not sure what "TRANSPARENT" means for Lahey.

------

Wendy

Attaching or including files in a post


Here are the ones Intel Fortran supports:

OPEN: ACCESS Specifier

The ACCESS specifier indicates the access method for the connection of the file. It takes the following form:

ACCESS = acc

acc

Is a scalar default character expression that evaluates to one of the following values:

'DIRECT'

Indicates direct access.

'SEQUENTIAL'

Indicates sequential access.

'STREAM'

Indicates stream access, where the file storage units of the file are accessible sequentially or by position.

'APPEND'

Indicates sequential access, but the file is positioned at the end-of-file record.

The default is 'SEQUENTIAL'.

There are limitations on record access by file organization and record type.

Parent topic: OPEN Statement Specifiers
0 Kudos
mecej4
Honored Contributor III
2,111 Views
Use the available nonstandard file attribute FORM='BINARY', or use the newer STREAM access method.
0 Kudos
isabelv
Beginner
2,111 Views
Hi wendy,
Thanks a lot for your reply!
I changed the access to 'STREAM' but there are still errors:
error #5082: Syntax error, found END-OF-STATEMENT when execting one of :(%[:.==>
Regarding 'TRANSPARENT' in Lahey, this is what i found
"Converting unformatted files with LF90 or LF95 usually involves opening the file using the specifier ACCESS="TRANSPARENT" (a nonstandard Lahey extension), which allows the file to be read a byte at a time with no assumptions about headers or record delimiters. This allows one to have the same degree of control as when handling files in the C language. For an example of this technique, see the file SEQUNF.F90, provided in the LF90 and LF95 installations."
What do you think would be the problem?
0 Kudos
isabelv
Beginner
2,111 Views
I changed both 'TRANSPARENT' (in different subroutines) to 'STREAM', but still didn't work...
IF (INIT .EQ. 0) THEN
C initialize output screen
OPEN(UNIT=6,FILE='CON',ACCESS='TRANSPARENT',BLOCKSIZE=4096)
INIT= 1
CFORE= FORE
CBACK= BACK
CSET = 1
IF (INIT .EQ. 0) THEN
C initialize keyboard
OPEN(UNIT=5,FILE='CON',ACCESS='TRANSPARENT',BLOCKSIZE=256)
C allow control-break
OPTION BREAK
INIT= 1
END IF
Errors indicated in the line after the 2nd OPEN:
error #5082: Syntax error, found END-OF-STATEMENT when expecting one of :(%[;.==>
Did i mistaken anything here?
0 Kudos
TimP
Honored Contributor III
2,111 Views
Well, yes, if you want to use a Fortran compiler, you should be removing the non-Fortran directives from the source.
0 Kudos
isabelv
Beginner
2,111 Views
Can you please tell me what are not fortran directives here?
I know it sounds stupid, but I never used Lahey either.
Thanks for the help.
0 Kudos
isabelv
Beginner
2,111 Views
SeemsOPTION BREAK is the one. Removed it ! OPTION BREAK.
It worked!
Thanks a lot!!
0 Kudos
Reply