Do you have a known working fix? Eg installing libiconv.dylib in the lib/staden directory?
This isn't something we can test quickly here as our development host is still running Mountain Lion. I'll ask if our systems support have any Yosemite build hosts for me to test on though.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have successfully built the Staden package on Yosemite. Also, packages built under Macvericks still work when my systems (OS X, Xcode - incl command line tools, and MacPorts) are upgraded to Yosemite. I have the Staden package running on about 12 Macs, three under Yosemite and the remainder still under Mavericks.
Setting up your Yosemite environment after upgrading your OS X. If you have done these steps once already, you do not need to repeat them each time you want to rebuild the Staden package
If you have MacPorts, reinstall MacPorts. Before doing that, remove the old version:
$ sudo port -fp uninstall installed
$ sudo rm -rf /opt/local /Applications/DarwinPorts /Applications/MacPorts /Library/LaunchDaemons/org.macports.* /Library/Receipts/DarwinPorts*.pkg /Library/Receipts/MacPorts*.pkg /Library/StartupItems/DarwinPortsStartup /Library/Tcl/darwinports1.0 /Library/Tcl/macports1.0 ~/.macports
Install Perl first or else texlive install will fail - also sets up libiconv:
$ sudo port install perl5
$ sudo port -f activate perl5
Install Python:
$ sudo port install python27
$ sudo port select --set python python27
Install packages needed to compile things, and used by Staden package:
$ sudo port install wget libpng xz texlive texinfo imagemagick
Make sure bootstrap can use Macport's 'libtoolize' or 'make' will crash on OS X:
$ sudo ln -s /opt/local/bin/glibtool /usr/local/bin/libtool
$ sudo ln -s /opt/local/bin/glibtoolize /usr/local/bin/libtoolize
Make sure ImageMagick’s “convert" can be seen by gcc's document making code:
$ sudo ln -s /opt/local/bin/convert /usr/bin/convert
On a new installation, you need to add the following to /etc/profile:
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
You need to chmod /etc/profile to 644 before editing it, and chmod it back to 444 after.
Install needed libraries:
The MacPorts version of Tcl and Tk is badly broken, so it is better to install it from source, compiled as for Unix:
Go to: http://www.tcl.tk/software/tcltk/download.html and make note of the most recent versions (see the wget below).
$ cd
$ mkdir ~/tcltk_install
Install Tcl - note that stubs from previous installations will break the installation
$ cd ~/tcltk_install/
$ wget http://prdownloads.sourceforge.net/tcl/tcl8.6.2-src.tar.gz
$ tar zxvf tcl8.6.2-src.tar.gz
$ cd tcl8.6.2/unix # not macos
$ ./configure
$ make
$ make test # takes ages, usually can be skipped
$ sudo make install
Install Tk - note that stubs from previous installations will break the installation
$ cd ~/tcltk_install/
$ wget http://prdownloads.sourceforge.net/tcl/tk8.6.2-src.tar.gz
$ tar zxvf tk8.6.2-src.tar.gz
$ cd tk8.6.2/unix # not macos
$ ./configure --with-tcl=/usr/local/lib
$ make
If this step fails with an X11 error, make sure Xcode and Xquartz are installed and then log out and back in. If it's a new Mac, you may have to actually go into Xcode and set it up. The major reason for this failing is that Xquartz needs reinstalling.
$ make test # takes ages, usually can be skipped
$ sudo make install
Install tklib (v 0.5) manually from source, First, fetch the tklib source - curl is a file fetcher, usually installed on Macs and other unix systems:
$ cd ~/tcltk_install/
$ curl -o tklib-0.5.tar.gz -L http://sourceforge.net/projects/tcllib/files/tklib/0.5/tklib-0.5.tar.gz
$ tar zxvf tklib-0.5.tar.gz
$ cd tklib-0.5
$ ./configure
$ sudo make install
IGNORE the installation errors. To check that it's installed, if you are worried, you should see about 22 entries:
$ ls /usr/local/lib/tklib0.5/
You may remove ~/tcltk_install and the files in it. You will need to "sudo rm -rf ~/tcltk_install" as some files have root ownership.
Building the Staden package:
Make an install folder to house all the files and code needed to install Staden. It can all be deleted when Staden is installed.
$ mkdir ~/staden_install
Set staden's install location, as I date-stamp my Staden installations.
$ export STADENROOT=/usr/local/staden_PutDateHere
If you log out of / exit your shell after doing something, you will have to set this again using the identical wording as the first time.
Accept any certificates (permanently)
$ cd io_lib.trunk
$ ./bootstrap
$ ./configure --prefix=$STADENROOT
$ make
$ make check # takes ages, can be skipped unless gap5 is misbehaving or staden won’t compile
$ sudo make install
To check that it is installed, type:
$ ls $STADENROOT
Lots of programs should be there.
Install the Staden package from the latest build - this part takes about 20 minutes:
This is assuming you have set $STADENROOT - see above
$ cd ~/staden_install
$ svn co https://svn.code.sf.net/p/staden/code/staden/trunk/ staden.trunk
Accept any certificates (permanently)
$ cd ~/staden_install/staden.trunk/src
$ ./bootstrap
The 'configure' and 'make' steps must be done in its own folder as files may get overwritten if done directly in the 'src' folder:
$ mkdir install.system
$ cd install.system
$ ../configure --with-png=/opt/local/ --with-lzma=/opt/local/ --with-tklib=/usr/local/lib/tklib0.5/ --prefix=$STADENROOT --with-io_lib=$STADENROOT --with-tcl=/usr/local/lib --with-tk=/usr/local/lib
I use gap5 and not gap4 so I ignore:
Iwidgets: ***NOT FOUND***
Itcl: ***NOT FOUND***
Itk: ***NOT FOUND***
Do the build:
$ make
$ sudo make install
Make the docs, assuming you have set $STADENROOT - see above:
$ cd ~/staden_install/staden.trunk/doc
$ make unix PAPER=us
Lots of messages will fill your screen. If it quits or hangs with a couple of “?” on the screen, hitting "Enter" and re-invoking the previous command seems to fix it.
$ sudo make install prefix=$STADENROOT
To check that it is installed, assuming you have set $STADENROOT - see above, type:
$ ls $STADENROOT/bin/gap5
Because I have several different versions of Staden on the go as different versions being tested in my development environment ready for deployment, so I don't want to edit my config files all of the time. Thus I symlink the version that I want to use/test to /usr/local/staden, assuming you have set $STADENROOT - see above:
$ sudo ln -s $STADENROOT /usr/local/staden
If you use MIRA, it has its own GTAGDB file. Copy it to /usr/local/staden/share/staden/etc/GTAGDB
To make the package run easily, tell the system where it is by doing the following. Make sure there are NO typos.
$ sudo chmod 644 /etc/profile
Then use an editor to put the following PATH in /etc/profile
e.g. sudo open -e /etc/profile
and enter:
export STADENROOT=/usr/local/staden
export PATH=$PATH:$STADENROOT/bin
Check that gap5 is running by typing:
$ gap5
The first time an X program runs after Xcode is installed, it takes a good minute or so for Xcode to get things moving.
Uninstalling:
To uninstall the Staden install folder, which is safe to do once Staden is installed (via sudo make install):
$ rm -rf ~/staden_install
To uninstall the Staden Package, assuming you have set $STADENROOT - see above:
$ sudo rm -r /usr/local/$STADENROOT
Last edit: John Nash 2015-01-06
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello help me out!
Not good at working with unix environment.
Followed Last edit: John Nash 2015-01-06 to build Staden package on MacOS Mozave
tried to run $gap5; got following message
dlopen(/usr/local/lib/libtk8.6.dylib, 6): Library not loaded: /opt/local/lib/libXft.2.dylib
Referenced from: /usr/local/lib/libtk8.6.dylib
Reason: image not found
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Our Mac laptop happens to have /usr/local/lib/libtk8.6.dylib already there, presumably due to one of the Apple package managers such as Homebrew. Sadly we have no admin rights so can't experiment, but we're trying to rectify this.
Maybe using Homebrew yourself and installing Tk will solve this, but in theory our drive image should be self contained so there is something wrong in our package too.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is there a patch? As far as I can tell right now it will not running any of the programs without a fix. Something with libiconv.
Do you have a known working fix? Eg installing libiconv.dylib in the lib/staden directory?
This isn't something we can test quickly here as our development host is still running Mountain Lion. I'll ask if our systems support have any Yosemite build hosts for me to test on though.
I have successfully built the Staden package on Yosemite. Also, packages built under Macvericks still work when my systems (OS X, Xcode - incl command line tools, and MacPorts) are upgraded to Yosemite. I have the Staden package running on about 12 Macs, three under Yosemite and the remainder still under Mavericks.
Setting up your Yosemite environment after upgrading your OS X. If you have done these steps once already, you do not need to repeat them each time you want to rebuild the Staden package
Update Xcode (Appstore)
$ sudo xcodebuild -license
$ sudo xcode-select --install
If you have MacPorts, reinstall MacPorts. Before doing that, remove the old version:
$ sudo port -fp uninstall installed
$ sudo rm -rf /opt/local /Applications/DarwinPorts /Applications/MacPorts /Library/LaunchDaemons/org.macports.* /Library/Receipts/DarwinPorts*.pkg /Library/Receipts/MacPorts*.pkg /Library/StartupItems/DarwinPortsStartup /Library/Tcl/darwinports1.0 /Library/Tcl/macports1.0 ~/.macports
Install MacPorts from the DMG available here: https://www.macports.org/install.php
Then update the upgrade:
$ sudo port selfupdate
$ sudo port upgrade outdated
Install / update Xquartz, from http://xquartz.macosforge.org/landing/
Install Perl first or else texlive install will fail - also sets up libiconv:
$ sudo port install perl5
$ sudo port -f activate perl5
Install Python:
$ sudo port install python27
$ sudo port select --set python python27
Install packages needed to compile things, and used by Staden package:
$ sudo port install wget libpng xz texlive texinfo imagemagick
Make sure bootstrap can use Macport's 'libtoolize' or 'make' will crash on OS X:
$ sudo ln -s /opt/local/bin/glibtool /usr/local/bin/libtool
$ sudo ln -s /opt/local/bin/glibtoolize /usr/local/bin/libtoolize
Make sure ImageMagick’s “convert" can be seen by gcc's document making code:
$ sudo ln -s /opt/local/bin/convert /usr/bin/convert
On a new installation, you need to add the following to /etc/profile:
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
You need to chmod /etc/profile to 644 before editing it, and chmod it back to 444 after.
Install needed libraries:
The MacPorts version of Tcl and Tk is badly broken, so it is better to install it from source, compiled as for Unix:
Go to: http://www.tcl.tk/software/tcltk/download.html and make note of the most recent versions (see the wget below).
$ cd
$ mkdir ~/tcltk_install
Install Tcl - note that stubs from previous installations will break the installation
$ cd ~/tcltk_install/
$ wget http://prdownloads.sourceforge.net/tcl/tcl8.6.2-src.tar.gz
$ tar zxvf tcl8.6.2-src.tar.gz
$ cd tcl8.6.2/unix # not macos
$ ./configure
$ make
$ make test # takes ages, usually can be skipped
$ sudo make install
Install Tk - note that stubs from previous installations will break the installation
$ cd ~/tcltk_install/
$ wget http://prdownloads.sourceforge.net/tcl/tk8.6.2-src.tar.gz
$ tar zxvf tk8.6.2-src.tar.gz
$ cd tk8.6.2/unix # not macos
$ ./configure --with-tcl=/usr/local/lib
$ make
If this step fails with an X11 error, make sure Xcode and Xquartz are installed and then log out and back in. If it's a new Mac, you may have to actually go into Xcode and set it up. The major reason for this failing is that Xquartz needs reinstalling.
$ make test # takes ages, usually can be skipped
$ sudo make install
Install tklib (v 0.5) manually from source, First, fetch the tklib source - curl is a file fetcher, usually installed on Macs and other unix systems:
$ cd ~/tcltk_install/
$ curl -o tklib-0.5.tar.gz -L http://sourceforge.net/projects/tcllib/files/tklib/0.5/tklib-0.5.tar.gz
$ tar zxvf tklib-0.5.tar.gz
$ cd tklib-0.5
$ ./configure
$ sudo make install
IGNORE the installation errors. To check that it's installed, if you are worried, you should see about 22 entries:
$ ls /usr/local/lib/tklib0.5/
You may remove ~/tcltk_install and the files in it. You will need to "sudo rm -rf ~/tcltk_install" as some files have root ownership.
Building the Staden package:
Make an install folder to house all the files and code needed to install Staden. It can all be deleted when Staden is installed.
$ mkdir ~/staden_install
Set staden's install location, as I date-stamp my Staden installations.
$ export STADENROOT=/usr/local/staden_PutDateHere
If you log out of / exit your shell after doing something, you will have to set this again using the identical wording as the first time.
Install io_lib:
This is assuming you have set $STADENROOT - see above
$ cd ~/staden_install
$ svn co https://svn.code.sf.net/p/staden/code/io_lib/trunk io_lib.trunk
Accept any certificates (permanently)
$ cd io_lib.trunk
$ ./bootstrap
$ ./configure --prefix=$STADENROOT
$ make
$ make check # takes ages, can be skipped unless gap5 is misbehaving or staden won’t compile
$ sudo make install
To check that it is installed, type:
$ ls $STADENROOT
Lots of programs should be there.
Install the Staden package from the latest build - this part takes about 20 minutes:
This is assuming you have set $STADENROOT - see above
$ cd ~/staden_install
$ svn co https://svn.code.sf.net/p/staden/code/staden/trunk/ staden.trunk
Accept any certificates (permanently)
$ cd ~/staden_install/staden.trunk/src
$ ./bootstrap
The 'configure' and 'make' steps must be done in its own folder as files may get overwritten if done directly in the 'src' folder:
$ mkdir install.system
$ cd install.system
$ ../configure --with-png=/opt/local/ --with-lzma=/opt/local/ --with-tklib=/usr/local/lib/tklib0.5/ --prefix=$STADENROOT --with-io_lib=$STADENROOT --with-tcl=/usr/local/lib --with-tk=/usr/local/lib
I use gap5 and not gap4 so I ignore:
Iwidgets: ***NOT FOUND***
Itcl: ***NOT FOUND***
Itk: ***NOT FOUND***
Do the build:
$ make
$ sudo make install
Make the docs, assuming you have set $STADENROOT - see above:
$ cd ~/staden_install/staden.trunk/doc
$ make unix PAPER=us
Lots of messages will fill your screen. If it quits or hangs with a couple of “?” on the screen, hitting "Enter" and re-invoking the previous command seems to fix it.
$ sudo make install prefix=$STADENROOT
To check that it is installed, assuming you have set $STADENROOT - see above, type:
$ ls $STADENROOT/bin/gap5
Because I have several different versions of Staden on the go as different versions being tested in my development environment ready for deployment, so I don't want to edit my config files all of the time. Thus I symlink the version that I want to use/test to /usr/local/staden, assuming you have set $STADENROOT - see above:
$ sudo ln -s $STADENROOT /usr/local/staden
If you use MIRA, it has its own GTAGDB file. Copy it to /usr/local/staden/share/staden/etc/GTAGDB
To make the package run easily, tell the system where it is by doing the following. Make sure there are NO typos.
$ sudo chmod 644 /etc/profile
Then use an editor to put the following PATH in /etc/profile
e.g. sudo open -e /etc/profile
and enter:
export STADENROOT=/usr/local/staden
export PATH=$PATH:$STADENROOT/bin
Check that gap5 is running by typing:
$ gap5
The first time an X program runs after Xcode is installed, it takes a good minute or so for Xcode to get things moving.
Uninstalling:
To uninstall the Staden install folder, which is safe to do once Staden is installed (via sudo make install):
$ rm -rf ~/staden_install
To uninstall the Staden Package, assuming you have set $STADENROOT - see above:
$ sudo rm -r /usr/local/$STADENROOT
Last edit: John Nash 2015-01-06
Hello help me out!
Not good at working with unix environment.
Followed Last edit: John Nash 2015-01-06 to build Staden package on MacOS Mozave
tried to run $gap5; got following message
dlopen(/usr/local/lib/libtk8.6.dylib, 6): Library not loaded: /opt/local/lib/libXft.2.dylib
Referenced from: /usr/local/lib/libtk8.6.dylib
Reason: image not found
Our Mac laptop happens to have /usr/local/lib/libtk8.6.dylib already there, presumably due to one of the Apple package managers such as Homebrew. Sadly we have no admin rights so can't experiment, but we're trying to rectify this.
Maybe using Homebrew yourself and installing Tk will solve this, but in theory our drive image should be self contained so there is something wrong in our package too.