Unable to load an nlm generated using library "traditional libc"

I am new to novell netware. I generated an nlm using code warrior tool using library package "libc". When I try to load the nlm on netware, it gives an error-"libd" must be loaded to load the nlm. I dont know what is "libd". Can you suggest me a solution?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Have you verified that all of the libraries are available?  There is a section in the Novell Developernet website that has a list of libraries that can be downloaded.  It might also be part of a service pack that you haven't applied to the server.

What version of NetWare are you running this on?  There are some libc calls in older versions if NetWare that required this libd to be loaded because they couldn't be included in the version of libc that could work with that kernel version, IIRC.  If you're writing an NLM using a relatively current NDK, you could be using some of those calls.  Since you are getting that error message, I would guess that is the case.

If you are running NetWare 4.x then you should seriously consider upgrading your NetWare to at least 5.1.  Upgrading to 6.x has more benefits and is actually a better deal, because you change from "server-based" user licensing to "user-based" user licensing, and you can add as many NetWare 6.x servers as you want, simply by downloading a free server license.

If you "can't" upgrade, then make sure you are using the latest available service pack.
lakshmi_karleAuthor Commented:
I have downloaded and included all the necessary libraries.
I am running netware version 6.5. So that is not the problem I suppose. I generated the nlm from code warrior tool. Will it cause any problem? I am using PDK version 5.0

The current CodeWarrior is version 8.  The current PDK for CodeWarrior is 5.1.  The libraries for CodeWarrior download page mentions CodeWarrior 7 and PDK 4.  I don't think you should be experiencing a problem related to the PDK, if you're using 5.1.

Perhaps the problem is using "traditional libc" option.  I don't know.  Like I said, last time I remember anything to do with libd it was because of the changes they were making in the libraries for C for the newer kernels.  That was a long time ago.

You might want to check out some of the documentation available about building NLMs at http://www.gknw.com/nwlinks.html

It's been a few years since I did any NLM programming, so I can't help further than that.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Fundamentals of JavaScript

Learn the fundamentals of the popular programming language JavaScript so that you can explore the realm of web development.

I said "I don't think you should be experiencing a problem related to the PDK, if you're using 5.1."

I meant to say 5.0.  Sorry...
By the way, I'm glad you're using NetWare 6.5.  I only made the comments about earlier versions and upgrading because it has been years since I've seen anything related to libd.

Do you perhaps have a line of code that mentions libd instead of libc as a miskey?  Just a thought...
I'm not familiar with CodeWarrior at all so unless LIBD is a tool to run your custom code, I'm going with the miskey as well. I've never run across any references to Netware using LIBD. Double-check your code and look for a reference to LIBD and change it to LIBC and see if your error goes away.
I remember in devnotes a few years back when NetWare 5 was being developed, that certain functions couldn't be included in the c libs for the older kernels.  Maybe I'm mixing things up a tad.  Perhaps it was having both a CLIB.NLM and a LIBC.NLM, or some such.  So much for long-term memory. ;)
lakshmi_karleAuthor Commented:
Hi all,
thanks for ur advice. My problem is resolved. While generating an nlm, codewarrior generates a file called app.def. There was one statement in the command "Module libc.nlm libd.nlm".I commented out this statement. This action served the purpose. The error regarding libd is not there now. But I have new problem. Could you please tell me how to write userdefined shared library? I mean how to handle writing and where to store the library in detail. I am new to novell netware. I am not able to load my nlm again because of a shared library.
Thanks in advance,
lakshmi_karle -

It seems we were able to help with your original quesiton.  Please see http://www.experts-exchange.com/help.jsp for info on how to close a question.

Your new problem should be posted as a new question, even though it may be an offshoot of the original question.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Novell Netware

From novice to tech pro — start learning today.