So... I'm a reasonably clever person but not when it comes to coding. Coding for me was a nightmare in Turbo Pascal where I was just going for a clean compile towards the end. Then I had to run a bunch of shit on the server in Fortran for a class back in college (when Fortran had been a dead language for a decade) which did not improve the situation. Suffice it to say that I'm like a person who nearly died when leeches were used to drain his humours who now has a distrust of penicillin and aspirin because doctors are bad.
I'm trying to complete the simple task of getting a Unix program to run in an OS X runtime environment. Terminal stares back at me saying the wrong things and XCode has become this thing that looks suspiciously like iTunes. Anyone wanna hold my hand and talk to me in baby talk about how to get this program installed using these instructions? I've got XCode, I've got Tcl, I click on tcl.xcode in the "macosx" folder and I end up no closer to making things happen.
Any takers?
Which version of Xcode do you have, -the latest? This might be part of the problem? http://stackoverflow.com/questions/11654702/osx-10-8-xcode-4... Seems like the latest version isn't going to give you gcc (where previous versions did) Edit 1: Go to Xcode>preferences>downloads and there should be an option to download 'Command Line Tools' I have no idea if this is the answer, but if you're running the latest version of Xcode I think you may have to do this. Edit 2:
So I was not getting /usr/bin/gcc returned in the command line with the latest version of Xcode on Mountain Lion. I performed the step above and it worked. That string is now returned.Is the gcc C compiler installed? Run Terminal from your Applications/Utilities folder and type which gcc to find out.
If /usr/bin/gcc isn't returned, you will need to...
Which OS X version are you running? From the instructions, it looks like it's just a matter of making sure gcc is installed (Should come with XCode) and running make. Should just be a matter of running the following: Make will then handle all the steps of locating Tcl/Tk (They should come with the apple dev tools) and compiling / linking SaVi's code with them. I'm also on IRC if you want help with more specific errors.$ which gcc && cd ~/Downloads && tar xvfz savi1.4.5-release.tar.gz && cd savi1.4.5 && make ARCH=macosx
Once I followed ecib's lead and got the proper command line tool, it found GCC fine. Then I followed the directions and nothing happened. Then I fed in your little string (once I determined that the $ isn't for me to type - as I said, not good at computer) and magic compiling and things happened. After much putzing around and determining that double-clicking the SaVi executable, I get: SaVi: For 3D visualization, run from within Geomview.
SaVi: defaulting to J2 orbital model.
SaVi: $SAVI was not set to location of savi directory containing launch script.
SaVi: $TCL_LIBRARY was not set to location of directory containing Tcl.
SaVi: $TK_LIBRARY was not set to location of directory containing Tk.
SaVi: edit and run the savi wrapper script in savi's directory to set locations.
SaVi: tcl_error: invalid command name "app_init"
SaVi: tk_init: Error in app_init: invalid command name "app_init"
SaVi: could not initialise Tk (main: error in tk_init).
SaVi: Error! Exiting.logout [Process completed] ...and now it looks like I need to run geomview. Which looks to be more of the same. At this point I begin to ask if this would be easier if I threw Ubuntu on the spare macbook I have gathering dust...?
Yeah, sorry, should've mentioned the dollar sign, that is usually used to indicate the start of a command run as a user: versus commands run as root (The most privileged user on the system), indicated with a hash: At this point, it looks like your errors are related to your environment not being set up properly. $TCL_LIBRARY should be set to the directory containing the Tcl runtime libraries with: You might want to check /lib/tcl, /usr/lib/tcl, and /usr/local/lib/tcl* for .dynlib files. The same goes for $TK_LIBRARY. Unsure where $SAVI should be pointing to, likely the directory of the .app file (Or somewhere inside that). A little investigating found /usr/local/savi as a potential location. /System/Library/Frameworks/tcl.framework is another potential candidate. If it's not there, you might want to take a look at the output of the make command you ran to build and install the program (Re-running it shouldn't cause any errors, it'll just overwrite the old executable). Alternatively, yeah, you could install Ubuntu on an old computer or run it within a virtual machine. Whenever you feel frustrated enough to give up setting it up on OS X! Hop on IRC if you have more questions, debugging programs like this tends to be easier in real time.$ command
# command
$ export TCL_LIBRARY=/path/to/directory
I'm smart enough to know what the dollar sign means; my problem is I'm too stupid to know what everything else means so I always start by copy-pasting everything I see and working my way backwards. the Ubuntu issue is another thing. I may mess about with it when I get some time. In the meantime, I've capitulated and devoted my debug time to finding a better solution. Four pages buried on Google, I succeeded. Thanks sincerely for your help. I shall not abuse it when I don't need it.
Well, for future learning's sake: "which" finds the location of the its argument, turning "gcc" (The compiler) into "/usr/bin/gcc", "cd" changes the directory, "tar" extracts the archive, and "make" instructs the system to follow the commands laid out in the Makefile, describing how to build and install the package. The "&&"s between each command just serve to conditionally execute them only in the case that the previous command succeeded.
I got the same thing...compiling with errors. Now it's bugging me and I've been trying to get this damn thing running even though I don't even use the program. I was going to suggest dual booting Ubuntu as a last resort. Looking at the compiler error it seems to hint at a ton of missing variables? It feels like the files would actually have to be modified in some way and there is a 'read me' file that hints at this in the .tar bundle. I don't even know...I was chasing down tcl/tk version errors as a theory before I gave up for the night :/
When I start messing with Ubuntu I'll revisit. As it is I don't want to hack it up too much if I don't have to (and after a half hour of searching, I don't. Thank you for your efforts. I sincerely appreciate them, and shall avail myself of them when I have no alternatives that are less work for everyone.