Compiling the UDF DLM on your system.


Solaris

You need to get UDF compiled right in the first place. You won't get any .so files in $UDF_HOME/lib if you are relying on sun make. You need to use gmake, and the only way to be sure it gets used when you do run the UDF installation script MinInstall is to replace make with gmake, or otherwise put gmake in your path as make. Assuming ~/bin is in your path before /usr/local/bin, :

> cd ~/bin
> ln -s /usr/local/bin/gmake make

Next, the libraries are not .so files so you need to be sure your LD_LIBRARY_PATH is set to include $UDF_HOME/lib, or move copies of those libraries (e.g. libpidf.so) into your LD_LIBRARY_PATH.

Mac

If you are getting ready to upgrade to XCode 2.0, HOLD IT. There is a pretty awful error you get when using the udf.so compiled on such a system (10.4+Xcode 2). "_OpenDBF expected in flat namespace". What is that? It doesn't make any difference how you compile it, if you do sudo gcc_select 3.3 or whatever. You will need to find the udf.so and udf.dlm you made back in your 10.3.9 days with the old version of XCode and put that in your IDL_DLM_PATH. If you lost it, confidently overwrote it, whatever, you can grab my copy here.

Not sure when a fix will come out for this and if you will have to adjust your LD_LIBRARY_PATH or you DYLD_LIBRARY_PATH when it finally works.

Linux

Once again you have to adjust your LD_LIBRARY PATH. On our system, and alternate route was to put all the $UDF_HOME/lib/*.so files in your working directory and it found them just fine. This behavior may differ from that of your system.

Last edited by TJI on 8//17/05.

Back