Solved

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

Posted on 2003-11-29
11
426 Views
Last Modified: 2012-05-04
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?
0
Comment
Question by:lakshmi_karle
  • 6
  • 2
11 Comments
 
LVL 35

Expert Comment

by:ShineOn
ID: 9843091
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.
0
 

Author Comment

by:lakshmi_karle
ID: 9848716
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

-lakshmi
0
 
LVL 35

Accepted Solution

by:
ShineOn earned 125 total points
ID: 9850048
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.
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 35

Expert Comment

by:ShineOn
ID: 9850052
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...
0
 
LVL 35

Expert Comment

by:ShineOn
ID: 9850068
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...
0
 
LVL 8

Expert Comment

by:waybadmojo
ID: 9863185
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.
0
 
LVL 35

Expert Comment

by:ShineOn
ID: 9863196
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. ;)
0
 

Author Comment

by:lakshmi_karle
ID: 9864914
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
0
 
LVL 35

Expert Comment

by:ShineOn
ID: 10012883
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.

Thanks.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The business world is becoming increasingly integrated with tech. It’s not just for a select few anymore — but what about if you have a small business? It may be easier than you think to integrate technology into your small business, and it’s likely…
Many businesses neglect disaster recovery and treat it as an after-thought. I can tell you first hand that data will be lost, hard drives die, servers will be hacked, and careless (or malicious) employees can ruin your data.
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question