mainCOBOL For GCC - Support: sr #109186, Reassigned to another tracker...

 
 

sr #109186: Reassigned to another tracker [was: GNU Cobol linking archive library]

Submitter:  Paul Mitchell <pmitch1865>
Submitted:  Tue 15 Nov 2016 12:00:24 PM UTC
   
 
Category:  None Priority:  5 - Normal
Severity:  3 - Normal Status:  Duplicate
Privacy:  Public Assigned to:  None
Open/Closed:  Closed Operating System:  GNU/Linux
* Mandatory Fields

Add a New Comment Rich Markup
   

Thu 07 May 2020 07:50:48 AM UTC, comment #5: 

THIS ITEM WAS REASSIGNED TO SR #110232


Please, do not post any new comments to this item.

Simon Sobisch <mensch>
Group administrator
Fri 13 Jan 2017 06:29:33 PM UTC, comment #4: 
Edward Hart <edwardhart>
Fri 13 Jan 2017 06:28:55 PM UTC, comment #3: 

Hi Paul,

This is the support page for the defunct COBOL for GCC project, not the new GnuCOBOL. (I'll raise the name clash with Simon Sobisch.)

Regrettably, I don't know much about how GnuCOBOL links stuff so I can't help here. For prompt help, register an account on SourceForge and ask on the GnuCOBOL discussion board there.

Edward Hart <edwardhart>
Thu 17 Nov 2016 04:04:00 PM UTC, comment #2: 

In order to further assist with this i have created a test scenario.

This issue appears to be that no matter what i do to link a dynamically loadable module held within an archive library will allow that module to be dynamically located.

I always end up with the following error.

libcob: cannot find module

i have uploaded two files, TEST_CALL.cob (executable module) and TEST_SUB.cob (loadable module).

If you follow the process below to compile and run under a Linux environment you should receive the same result. If however you extract the TEST_SUB.so file from the library and and link directly to the file it will work.

TEST_SUB eg
------------
cobc -foptional-file -freserved=COMMAND-LINE -std=mf -m TEST_SUB.cob
ar -qv /stage/pmtest/libpmtst.a ./TEST_SUB.so
export LD_LIBRARY_PATH=/stage/pmtest
export COB_LIBRARY_PATH=/stage/pmtest
rm ./TEST_SUB.so

TEST_CALL eg
------------
cobc -v -x -foptional-file -std=mf -freserved=COMMAND-LINE -o TEST_CALL TEST_CALL.cob -L /stage/pmtest -lpmtst

env |grep pmtest
COB_LIBRARY_PATH=/stage/pmtest
LD_LIBRARY_PATH=/stage/pmtest

./TEST_CALL
libcob: cannot find module 'TEST_SUB'

We need to be able to use an archive library due to its flexibility of control.

Paul Mitchell <pmitch1865>
Tue 15 Nov 2016 01:29:45 PM UTC, comment #1: 

Additionally.

It should be noted that the object code testobj.o would have been compiled to .o level using GNU Cobol and inserted into the archive library using Linux ar.

Paul Mitchell <pmitch1865>
Tue 15 Nov 2016 12:00:24 PM UTC, original submission:  

THIS ITEM WAS REASSIGNED TO SR #110232
We have compiled many binary object files and placed them into an archive library.

We have also compiled an executable module and as part of that compilation have attempted to link the previously mentioned archive library.

However on execution the executable module is not able to find a required binary object file located in the archive library.

It would appear that the archive library library is not in fact linked to the executable.

Could you provide guidance on how this is achieved within GNU Cobol.

Example would be

executable = TESTPROG
ar library = testlib.a
bin object = testobj.o

TESTPROG needs to call testobj.o and therefore testlib.a needs to be linked to TESTPROG.

Thanks.

Paul.

Paul Mitchell <pmitch1865>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by mensch (Updated the item)
  • -email is unavailable- added by edwardhart (Posted a comment)
  • -email is unavailable- added by pmitch1865 (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-05-07 mensch Reassign ItemCOBOL For GCC, sr #109186 GnuCOBOL (formerly OpenCOBOL), sr #110232
    2020-05-07 mensch StatusNone Duplicate
    2016-11-17 pmitch1865 Attached File- Added TEST_CALL.cob, #39004
        Attached File- Added TEST_SUB.cob, #39005

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code