From: Dan Wright (dtwright_at_uiuc.edu)
Date: Tue Nov 08 2005 - 10:14:45 CST

The order of -l flags with IRIX ld is sometimes important -- try changing the
Makefiles so all the -l flags come before the object files, and -ltcl8.4 is
before -ltk8.4 .

Bram Stolk wrote:
> Hi there,
>
>
> I've successfully built VMD from CVS source, on a LINUX ia32 platform,
> so I know that I've got my basic procedures just fine...
>
> Now, I attempt to do the same for an IRIX6 platform (SGI Onyx4).
>
> The plugins section build fine.
> The sources of the vmd section compile just fine.
> However, upon linking, a tcl symbol is not found, even though
> -ltcl8.4 is present on link line, and /usr/lib32/libtcl8.4.so does
> contain the symbol (as 'nm' will testify, see below).
>
> I find this very strange.
>
> Anyone here, who successfully built from CVS for IRIX?
>
> Thx!
>
> Bram
>
> bram_at_vger:~/src/vmd/vmd/src$ make
> echo "Linking " vmd_IRIX6 "..."; \
> cd ../IRIX6 ; \
> if [ ! -r ./ii_files ]; then \
> ln -s ../src/ii_files ./ii_files ; \
> fi; \
> CC -n32 -mips3 -O3 -woff 1110,1167,3255,3262 -OPT:Olimit=8192
> -I/usr/include/CC -DARCH_IRIX6 -DVMDOPENGL -DVMDGRAPHICS -DVMDCAVE
> -DVMDIMD -DVMDTHREADS -DUSEPOSIXTHREADS -D_REENTRANT -DVMDSURF -DVMDMSMS
> -DVMDISOSURFACE -DVMDVOLUMETEXTURE -DVMDTCL -DVMDTK -DVMDSTATICPLUGINS
> -DVMDGUI -DVMDFLTK -I../lib/cave/include -I/usr/include/tcl8.4
> -I../lib/tcl/include -I../lib/tk/include -I../plugins/include
> -I../plugins/IRIX6/molfile -I../lib/fltk/include -I. -I../src -o
> vmd_IRIX6 OpenGLDisplayDevice.o OpenGLExtensions.o OpenGLRenderer.o
> OpenGLShader.o OpenGLCache.o Hershey.o CaveDisplayDevice.o CaveScene.o
> CaveRoutines.o P_CaveTracker.o P_CaveButtons.o IMDMgr.o IMDSim.o
> IMDSimThread.o CmdIMD.o imd.o VMDThreads.o Animation.o
> ArtDisplayDevice.o AtomColor.o AtomParser.o AtomLexer.o AtomRep.o
> AtomSel.o Axes.o BaseMolecule.o BondSearch.o CmdAnimate.o CmdColor.o
> CmdDisplay.o CmdLabel.o CmdMaterial.o CmdMenu.o CmdMol.o CmdRender.o
> CmdTrans.o CommandQueue.o CoorPluginData.o DisplayDevice.o Displayable.o
> DisplayRocker.o DispCmds.o DrawMolecule.o DrawMolItem.o DrawMolItem2.o
> DrawMolItemRibbons.o DrawMolItemMSMS.o DrawMolItemSurface.o
> DrawMolItemVolume.o DrawForce.o FileRenderList.o FileRenderer.o FPS.o
> GeometryAngle.o GeometryAtom.o GeometryBond.o GeometryDihedral.o
> GeometryList.o GeometryMol.o GeometrySpring.o Inform.o ImageIO.o
> Isosurface.o JRegex.o JString.o macosxvmdstart.o MaterialList.o
> Matrix4.o Measure.o Molecule.o MoleculeList.o MoleculeGraphics.o
> MolFilePlugin.o Mouse.o MSMSInterface.o PeriodicTable.o P_JoystickTool.o
> P_TugTool.o P_GrabTool.o P_PrintTool.o P_PinchTool.o P_UIVR.o
> P_Buttons.o P_Tracker.o P_Tool.o P_CmdTool.o P_SensorConfig.o
> ParseTree.o PickList.o PickModeAddBond.o PickModeCenter.o
> PickModeForce.o PickModeList.o PickModeMolLabel.o PickModeMove.o
> PlainTextInterp.o PluginMgr.o POV3DisplayDevice.o PSDisplayDevice.o
> VMDQuat.o RadianceDisplayDevice.o RayShadeDisplayDevice.o
> R3dDisplayDevice.o RenderManDisplayDevice.o Scene.o
> SnapshotDisplayDevice.o SpringTool.o Stage.o STLDisplayDevice.o Stride.o
> Surf.o SymbolTable.o TachyonDisplayDevice.o Timestep.o UIObject.o
> UIText.o VMDApp.o VMDDir.o VMDDisplayList.o VMDMenu.o VMDTitle.o
> VolMap.o VolMapCreate.o VolumetricData.o VrmlDisplayDevice.o
> Vrml2DisplayDevice.o WavefrontDisplayDevice.o utilities.o vmd.o
> ColorInfo.o TclCommands.o TclMeasure.o TclMolInfo.o TclTextInterp.o
> TclVec.o TclGraphics.o TclVolMap.o cmd_animate.o cmd_color.o
> cmd_display.o cmd_imd.o cmd_label.o cmd_material.o cmd_menu.o cmd_mol.o
> cmd_mouse.o cmd_plugin.o cmd_render.o cmd_tool.o cmd_trans.o cmd_user.o
> cmd_util.o tcl_commands.o VMDTkMenu.o ColorFltkMenu.o DisplayFltkMenu.o
> FileChooserFltkMenu.o GraphicsFltkMenu.o SelectionBuilder.o
> GeometryFltkMenu.o MaterialFltkMenu.o MolBrowser.o RenderFltkMenu.o
> SaveTrajectoryFltkMenu.o VMDFltkMenu.o MainFltkMenu.o ToolFltkMenu.o
> frame_selector.o hash.o inthash.o vmdsock.o vmddlopen.o pcre.o
> fitrms.o -L../lib/cave/lib_IRIX6 -L../lib/tcl/lib_IRIX6
> -L../lib/tk/lib_IRIX6 -L../plugins/IRIX6/molfile -L../lib/fltk/IRIX6
> -lGL -lGLU -lcave_ogl -lXi -lGL -lpthread -ltk8.4 -lX11 -ltcl8.4
> -lmolfile_plugin -lfltk -lX11 -lm -lGL -n32 -mips3 -O3 ;
> Linking vmd_IRIX6 ...
> ld32: ERROR 33 : Unresolved text symbol "Tcl_PkgRequire" -- 1st
> referenced by
> ../plugins/IRIX6/molfile/libmolfile_plugin.a(webpdbplugin-s.o).
> Use linker option -v to see when and which objects, archives and
> dsos are loaded.
> ld32: ERROR 33 : Unresolved text symbol "Tcl_GetVar2" -- 1st
> referenced by
> ../plugins/IRIX6/molfile/libmolfile_plugin.a(webpdbplugin-s.o).
> Use linker option -v to see when and which objects, archives and
> dsos are loaded.
> ld32: INFO 152: Output file removed because of error.
> gmake: *** [vmd_IRIX6] Error 2
>
> bram_at_vger:~/src/vmd/vmd/src$ nm -gC /usr/lib32/libtcl8.4.so | grep
> PkgRequire
> [794] | 87365200| 52|FUNC |GLOB |DEFAULT |MIPS_TEXT|Tcl_PkgRequire
> [795] | 87365264| 1096|FUNC |GLOB |DEFAULT
> |MIPS_TEXT|Tcl_PkgRequireEx
>
>

-- 
Dan Wright
(dtwright_at_uiuc.edu)
(http://www.scs.uiuc.edu/)
(UNIX Systems Administrator, School of Chemical Sciences, UIUC)
(333-1728)