Skip to main content

Hello out there,

I'm using  Enterprise Developer for z/Enterprise V. 2.2. I've created a Remote Mainframe COBOL Project and trying to create a single executable file. Additional Object-Files (say, myfile.o), which need to be linked to the single executable file, reside on a remote path, e.g. "/mypath/repo", on the UNIX system. The remote path is accessible from the MFED-system using Samba.

So the complete path to the object file on the remote machine looks like this: /mypath/repo/myfile.o


I've tried to add it via MicroFocus Build Configuration "additional link file - add external file"s. I can browse the UNIX file system and add it and in the item list the path looks ok, just like given above. However, when I build, the path is being converted to the Windows-format and it is not found:

[cobollink] Linking (64-bit) myprog...
[cobollink] cob64 -g -x -omyprog myprog.o C:\\mypath\\repo\\myfile.o -U
[cobollink] cob64: error opening: C:\\mypath\\repo\\myfile.o

Another thing I've tried is to link "/mypath/repo" as a "remote folder" to my MFED project. Then with "additional link file - add files..." I can add the object file. The file will be shown in the item list relative to the project path, e.g. "myproject/repo/myfile.o". However, when I try to build, the linked folder is not resolved, the compiler does not follow the link but instead looks for it under the project folder:

[cobollink] Linking (64-bit) IF9C12...
[cobollink] cob64 -g -x -omyprog myprog.o /remoteprojectpath/myproject/repo/myfile.o -U
[cobollink] cob64: error opening: /remoteprojectpath/myproject/repo/myfile.o

Can someone please advise how to add external object files, that reside on the remote system, to the linkage process?

What is it that I am doing wrong? I'd appreciate your hints


#remotecobolproject
#EnterpriseDeveloper
#linking

Hello out there,

I'm using  Enterprise Developer for z/Enterprise V. 2.2. I've created a Remote Mainframe COBOL Project and trying to create a single executable file. Additional Object-Files (say, myfile.o), which need to be linked to the single executable file, reside on a remote path, e.g. "/mypath/repo", on the UNIX system. The remote path is accessible from the MFED-system using Samba.

So the complete path to the object file on the remote machine looks like this: /mypath/repo/myfile.o


I've tried to add it via MicroFocus Build Configuration "additional link file - add external file"s. I can browse the UNIX file system and add it and in the item list the path looks ok, just like given above. However, when I build, the path is being converted to the Windows-format and it is not found:

[cobollink] Linking (64-bit) myprog...
[cobollink] cob64 -g -x -omyprog myprog.o C:\\mypath\\repo\\myfile.o -U
[cobollink] cob64: error opening: C:\\mypath\\repo\\myfile.o

Another thing I've tried is to link "/mypath/repo" as a "remote folder" to my MFED project. Then with "additional link file - add files..." I can add the object file. The file will be shown in the item list relative to the project path, e.g. "myproject/repo/myfile.o". However, when I try to build, the linked folder is not resolved, the compiler does not follow the link but instead looks for it under the project folder:

[cobollink] Linking (64-bit) IF9C12...
[cobollink] cob64 -g -x -omyprog myprog.o /remoteprojectpath/myproject/repo/myfile.o -U
[cobollink] cob64: error opening: /remoteprojectpath/myproject/repo/myfile.o

Can someone please advise how to add external object files, that reside on the remote system, to the linkage process?

What is it that I am doing wrong? I'd appreciate your hints


#remotecobolproject
#EnterpriseDeveloper
#linking

Hi,

You had the correct answer yourself with the first thing you tried.  The path should have been resolved during the link using the remote Unix machine path.  I would have said raise a bug request but it appears someone has already done so (RPI 1091200) and we've already fixed it for the upcoming 2.2.1 release.  

As for working around the problem today - the best solution I can offer in the short term is to copy the .o to a location under the project folder.  I accept that this may not be suitable in all circumstances though.

Regards,

Darren.


Hello out there,

I'm using  Enterprise Developer for z/Enterprise V. 2.2. I've created a Remote Mainframe COBOL Project and trying to create a single executable file. Additional Object-Files (say, myfile.o), which need to be linked to the single executable file, reside on a remote path, e.g. "/mypath/repo", on the UNIX system. The remote path is accessible from the MFED-system using Samba.

So the complete path to the object file on the remote machine looks like this: /mypath/repo/myfile.o


I've tried to add it via MicroFocus Build Configuration "additional link file - add external file"s. I can browse the UNIX file system and add it and in the item list the path looks ok, just like given above. However, when I build, the path is being converted to the Windows-format and it is not found:

[cobollink] Linking (64-bit) myprog...
[cobollink] cob64 -g -x -omyprog myprog.o C:\\mypath\\repo\\myfile.o -U
[cobollink] cob64: error opening: C:\\mypath\\repo\\myfile.o

Another thing I've tried is to link "/mypath/repo" as a "remote folder" to my MFED project. Then with "additional link file - add files..." I can add the object file. The file will be shown in the item list relative to the project path, e.g. "myproject/repo/myfile.o". However, when I try to build, the linked folder is not resolved, the compiler does not follow the link but instead looks for it under the project folder:

[cobollink] Linking (64-bit) IF9C12...
[cobollink] cob64 -g -x -omyprog myprog.o /remoteprojectpath/myproject/repo/myfile.o -U
[cobollink] cob64: error opening: /remoteprojectpath/myproject/repo/myfile.o

Can someone please advise how to add external object files, that reside on the remote system, to the linkage process?

What is it that I am doing wrong? I'd appreciate your hints


#remotecobolproject
#EnterpriseDeveloper
#linking

Hello Darren,

thanks for your suggestion. It works. An even better solution, which comes close to adding remote link files, had been suggested by the MicroFocus support. One can simply put the UNIX path into the additional Link options (without any flags). This will be passed straight to the linker which will interpret it correctly as an object file.

Regards, Aru


Hello out there,

I'm using  Enterprise Developer for z/Enterprise V. 2.2. I've created a Remote Mainframe COBOL Project and trying to create a single executable file. Additional Object-Files (say, myfile.o), which need to be linked to the single executable file, reside on a remote path, e.g. "/mypath/repo", on the UNIX system. The remote path is accessible from the MFED-system using Samba.

So the complete path to the object file on the remote machine looks like this: /mypath/repo/myfile.o


I've tried to add it via MicroFocus Build Configuration "additional link file - add external file"s. I can browse the UNIX file system and add it and in the item list the path looks ok, just like given above. However, when I build, the path is being converted to the Windows-format and it is not found:

[cobollink] Linking (64-bit) myprog...
[cobollink] cob64 -g -x -omyprog myprog.o C:\\mypath\\repo\\myfile.o -U
[cobollink] cob64: error opening: C:\\mypath\\repo\\myfile.o

Another thing I've tried is to link "/mypath/repo" as a "remote folder" to my MFED project. Then with "additional link file - add files..." I can add the object file. The file will be shown in the item list relative to the project path, e.g. "myproject/repo/myfile.o". However, when I try to build, the linked folder is not resolved, the compiler does not follow the link but instead looks for it under the project folder:

[cobollink] Linking (64-bit) IF9C12...
[cobollink] cob64 -g -x -omyprog myprog.o /remoteprojectpath/myproject/repo/myfile.o -U
[cobollink] cob64: error opening: /remoteprojectpath/myproject/repo/myfile.o

Can someone please advise how to add external object files, that reside on the remote system, to the linkage process?

What is it that I am doing wrong? I'd appreciate your hints


#remotecobolproject
#EnterpriseDeveloper
#linking

Hello Darren,

thanks for your suggestion. It works. An even better solution, which comes close to adding remote link files, had been suggested by the MicroFocus support. One can simply put the UNIX path into the additional Link options (without any flags). This will be passed straight to the linker which will interpret it correctly as an object file.

Regards, Aru