Novell is now a part of Micro Focus

A recent project has required that I develop...

Articles and Tips: qna

01 Mar 2002


Q.

A recent project has required that I develop an NLM, a seemingly simple process, until I tried. The code isn't the problem. It's the libraries that are giving me issues. I quickly realized that Microsoft Visual C++ wasn't going to cut it, so I found Watcom C++ version 11c.

The only problem is that Watcom apparently no longer ships with the required libraries, and I don't have a way to downgrade Watcom. So, what libraries do I need and in what order? I have the complete Novell NDK (at least I think I do!), but every time I attempt to compile, I get "undeclared references" and a variety of library-specific errors. Thanks for any direction you can give me.

Is there a compiler better suited for NLM development? What about CodeWarrior? I would like to avoid any additional costs if possible. My Development platform is Microsoft Windows 2000, although if I need to I can change to another.

A.

The answer to this is vast and multi-directional. I would say that there is no reason not to use Watcom C/C++ to develop NLMs. I still do. Windows 2000 is my platform of choice for developing NLMs, although you'll know that you need a NetWare server to test your work.

In general NLM development is very easy; it's much like developing DOS executables and with libraries like WinSock available on the server, you can actually develop and test some things in Windows and port them to NetWare with considerable ease. It starts to get more difficult as you need to use NetWare-specific features but the documentation is extensive at the http://www.developer.novell.com web site. There are many, many, examples out there and you should also use the Developer Support News Groups to ask questions as frequently as you need to. You'll get useful help from experienced NLM developers.

If you are adventurous, you can use gcc in Linux for development. The following are required:

  • gcc compiler

  • ncpfs

  • nlmconv

The first two are usually installed the first time you install the OS. nlmconv is available with the binutils. Read the main pages--it is pretty simple to use. It converts a .o file to an NLM. The best part is, all these are absolutely free.

By the way, you can use Microsoft Visual C++ for NLM development, although this is not the normal route for NLM development. Please take a look at NetWare DLL Developer Components, which you can find at http://developer.novell.com/ndk/downloadaz.htm URL.

Lastly, if Watcom is your baby, check out this link to some documentation written by Novell Developer Support entitled "Setting Up the Watcom Tools for NLM Development." You can find this doc at: http://developer.novell.com/ndk/doc/nlmnwlib/index.html?ndev_enu/data/a4rx775.html.

* Originally published in Novell AppNotes


Disclaimer

The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates