Library load failed

TonyStPierre

Active Member
Need help please
JDE.Log contains following message -
COB0000011 - Library load failed c:\b7\PRODB733\bin32\CCORE.dll function _GetInstalledPathCodes@12 Error = 126

This message appears when selecting searchlight for environment selection on sign-on screen at start of OneWorld.

A new full package has been built and deployed. Thus far not been able to identify ANY change that may have affected this JDE defined function. Have built many successful packages without this causing a problem before.

Dependency Walker shows that this function (_GetInstalledPathCodes@12) is in CCORE.DLL.

What does error = 126 mean?
Knowledge Garden suggests rebuild of business function etc. etc. None of this has made any difference.

Any useful suggestions please?

B7333 SP11_3 SQL2000
 
This likely means that the BSFN did not get included in the DLL libray -
most likely because it did not compile properly or is missing. This
particular BSFN called 'Get Installed Path Codes' is B9800182. Try building
an update package with just this one object. Make sure that the source and
header files exist on the deployment server. You should find them in
\deployment server\B7333\pathcode\include\B9800182.c and \deployment
server\B7333\pathcode\header\B9800182.h. The new DLL that is built should
have a larger file size than the one that does not currently work.

You can also try building the function locally on the workstation. Just
check out the B9800182 and then build the function using BUSBUILD. It should
compile the function and link it into CCORE.DLL.

Colin

B733.2 SP 17.1_F1
Intel/NT/Oracle 8.1.7.1
 
Since this error is technically generated by the compiler, look for the definition there:

From WINERROR.H

//
// MessageId: ERROR_MOD_NOT_FOUND
//
// MessageText:
//
// The specified module could not be found.
//
#define ERROR_MOD_NOT_FOUND 126L

--------------------------------
From ERROR.H

#define ERROR_MOD_NOT_FOUND 126 /* w_getprocaddr,w_getmodhandle */

--------------------------------

So, this tells us that the entry point 'GetInstalledPathCodes' was not compiled into the DLL and/or for some reason the linker can't find it.

I couldn't tell you why though. . . :/

It may be that the 'lib' file was corrupt. Try rebuilding all the libraries and then recompile.

Darren Ricciardi - OneWorld Whipping Boy

Looking for work WEST of DENVER

Home of OWTEK: http://www.cris.com/~grzero
 
I am going to answer my own question.
The solution is to ensure that the BusObj directory is deleted on the build machine before starting the build, the option to 'clear output destination' doesn't delete the BusObj directory (SP11_3).
Not deleting this directory doesn't always cause trouble. It depends on what happened during the previous build on the same machine. In my case the previous build had been with debug on whereas the next build was debug off. The precompiled headers get built with debug information in them and unless they are deleted the next package has unresolved references.
Checking or unchecking the option to use pre-compiled headers on the BusBuild screen has no visible effect in the .mak files that are generated. If a pch is found it is used, if it is not found it is generated.
Other significant messages that can appear in the build are:-
warning C4651: '/D_DEBUG' specified for precompiled header but not for current compile
error LNK2001: unresolved external symbol __imp___calloc_dbg
warning LNK4088: image being generated due to /FORCE option; image may not run
 
Back
Top