I recall once trying "package require", failing miserably, and resorting to "load /path/to/library.so", which worked.
Relatedly, you might also want to create a separate package called "tgdchart" (or whatever) containing a single "tgdchart-init.tcl" file which simply loads "libtgdchart.so". You could make the location of libtgdchart.so a parameter as well.
Hope this helps...