Additions:
try this: http://bloggezmoy.com/2011/05/17/how-to-add-an-application-to-the-gnome-3-application-launcher/
Additions:
- the PTB installer fails at getting the MAC address and calling fileattrib...
Deletions:
Additions:
but the plan doesn't work? i can't figure out why, ldd looks good: (same exact results when i add /lib64:/usr/lib64 to LDPATH_PREFIX in $MATLABROOT/R2011b/bin/.matlab7rc.sh)
Deletions:
Additions:
an alternative might be (set maybe in $MATLABROOT/toolbox/local/matlabrc.m -- anyone know a way to not hardcode /lib64 and /usr/lib64?):
Deletions:
Additions:
libmex.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmex.so (0x00007ffc6e192000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffc6dc48000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffc6dc48000)
Deletions:
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffc6dc48000)
Additions:
libmx.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmx.so (0x00007ffc6e3a3000)
libmex.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmex.so (0x00007ffc6e192000)
libmat.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmat.so (0x00007ffc6df50000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffc6dc48000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffc6d414000)
libmex.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmex.so (0x00007ffc6e192000)
libmat.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmat.so (0x00007ffc6df50000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffc6dc48000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffc6d414000)
Deletions:
libmex.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmex.so (0x00007ffc6e192000)
libmat.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmat.so (0x00007ffc6df50000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffc6dc48000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffc6d414000)
Additions:
but the plan doesn't work? i can't figure out why, ldd looks good:
>> setenv('LD_LIBRARY_PATH',['/lib64:/usr/lib64:' getenv('LD_LIBRARY_PATH')])
>> getenv('LD_LIBRARY_PATH')
/lib64:
/usr/lib64:
>> Screen
Invalid MEX-file '/home/asl/psychtoolbox/Psychtoolbox/PsychBasic/Screen.mexa64': libraw1394.so.8: cannot open shared object file: No such file or directory
libdc1394.so.22 => /usr/lib64/libdc1394.so.22 (0x00007ffc6f080000)
libraw1394.so.11 => /usr/lib64/libraw1394.so.11 (0x00007ffc6ee72000)
...
libmx.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmx.so (0x00007ffc6e3a3000)
libmex.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmex.so (0x00007ffc6e192000)
libmat.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmat.so (0x00007ffc6df50000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffc6dc48000)
...
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffc6d414000)
>> setenv('LD_LIBRARY_PATH',['/lib64:/usr/lib64:' getenv('LD_LIBRARY_PATH')])
>> getenv('LD_LIBRARY_PATH')
/lib64:
/usr/lib64:
>> Screen
Invalid MEX-file '/home/asl/psychtoolbox/Psychtoolbox/PsychBasic/Screen.mexa64': libraw1394.so.8: cannot open shared object file: No such file or directory
libdc1394.so.22 => /usr/lib64/libdc1394.so.22 (0x00007ffc6f080000)
libraw1394.so.11 => /usr/lib64/libraw1394.so.11 (0x00007ffc6ee72000)
...
libmx.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmx.so (0x00007ffc6e3a3000)
libmex.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmex.so (0x00007ffc6e192000)
libmat.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmat.so (0x00007ffc6df50000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffc6dc48000)
...
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffc6d414000)
Deletions:
Additions:
an alternative might be (set somehow at the beginning of any PTB session -- anyone know a way to not hardcode /lib64 and /usr/lib64?):
Deletions:
Additions:
an alternative might be (set somehow at the beginning of any PTB session):
setenv('LD_LIBRARY_PATH',['/lib64:/usr/lib64:' getenv('LD_LIBRARY_PATH')])
setenv('LD_LIBRARY_PATH') is enough to get svn working, but not Screen, et al. why? cuz now we're hiding the mex libraries.
who usually supplies these? using the original LD_LIBRARY_PATH:
% which is the same directory as:
% so we can preempt $MATLABROOT/sys/os/glnxa64 to solve the c runtime library problem...
setenv('LD_LIBRARY_PATH',['/lib64:/usr/lib64:' getenv('LD_LIBRARY_PATH')])
setenv('LD_LIBRARY_PATH') is enough to get svn working, but not Screen, et al. why? cuz now we're hiding the mex libraries.
who usually supplies these? using the original LD_LIBRARY_PATH:
% which is the same directory as:
% so we can preempt $MATLABROOT/sys/os/glnxa64 to solve the c runtime library problem...
Deletions:
setenv('LD_LIBRARY_PATH')
turns out this is enough to get svn working, but not Screen, et al. why? cuz now we're hiding the mex libraries.
so who usually supplies these? using the original LD_LIBRARY_PATH:
% which is unforunately the same directory as:
% so we could remove $MATLABROOT/sys/os/glnxa64 to solve the c runtime library problem...
does anyone know a way to selectively direct just one library (ie libdc1394) out of LD_LIBRARY_PATH without just brute-force hiding it in the file system?
Additions:
libdc1394.so.22 => /usr/local/MATLAB/R2011b/bin/glnxa64/libdc1394.so.22 (0x00007f1e5fe54000)
Deletions:
Additions:
% so we can't just preserve $MATLABROOT/bin/glnxa64 in LD_LIBRARY_PATH
Deletions:
Additions:
so who usually supplies these? using the original LD_LIBRARY_PATH:
>> getenv('LD_LIBRARY_PATH')
/usr/local/MATLAB/R2011b/sys/os/glnxa64:
/usr/local/MATLAB/R2011b/bin/glnxa64:
/usr/local/MATLAB/R2011b/extern/lib/glnxa64:
/usr/local/MATLAB/R2011b/runtime/glnxa64:
/usr/local/MATLAB/R2011b/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:
/usr/local/MATLAB/R2011b/sys/java/jre/glnxa64/jre/lib/amd64/server:
/usr/local/MATLAB/R2011b/sys/java/jre/glnxa64/jre/lib/amd64
>> [a b]=system(['ldd ' which('Screen')])
libmx.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmx.so (0x00007f1e5f177000)
libmex.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmex.so (0x00007f1e5ef66000)
libmat.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmat.so (0x00007f1e5ed24000)
% which is unforunately the same directory as:
libdc1394.so.22 => /usr/local/MATLAB/R2011b/bin/glnxa64/libdc1394.so.22 (0x00007f1e5fe54000)
% so we can't just remove $MATLABROOT/bin/glnxa64 from LD_LIBRARY_PATH
% note that only:
libstdc++.so.6 => /usr/local/MATLAB/R2011b/sys/os/glnxa64/libstdc++.so.6 (0x00007f1e5ea1d000)
libgcc_s.so.1 => /usr/local/MATLAB/R2011b/sys/os/glnxa64/libgcc_s.so.1 (0x00007f1e5e1e8000)
% so we could remove $MATLABROOT/sys/os/glnxa64 to solve the c runtime library problem...
does anyone know a way to selectively direct just one library (ie libdc1394) out of LD_LIBRARY_PATH without just brute-force hiding it in the file system?
>> getenv('LD_LIBRARY_PATH')
/usr/local/MATLAB/R2011b/sys/os/glnxa64:
/usr/local/MATLAB/R2011b/bin/glnxa64:
/usr/local/MATLAB/R2011b/extern/lib/glnxa64:
/usr/local/MATLAB/R2011b/runtime/glnxa64:
/usr/local/MATLAB/R2011b/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:
/usr/local/MATLAB/R2011b/sys/java/jre/glnxa64/jre/lib/amd64/server:
/usr/local/MATLAB/R2011b/sys/java/jre/glnxa64/jre/lib/amd64
>> [a b]=system(['ldd ' which('Screen')])
libmx.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmx.so (0x00007f1e5f177000)
libmex.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmex.so (0x00007f1e5ef66000)
libmat.so => /usr/local/MATLAB/R2011b/bin/glnxa64/libmat.so (0x00007f1e5ed24000)
% which is unforunately the same directory as:
libdc1394.so.22 => /usr/local/MATLAB/R2011b/bin/glnxa64/libdc1394.so.22 (0x00007f1e5fe54000)
% so we can't just remove $MATLABROOT/bin/glnxa64 from LD_LIBRARY_PATH
% note that only:
libstdc++.so.6 => /usr/local/MATLAB/R2011b/sys/os/glnxa64/libstdc++.so.6 (0x00007f1e5ea1d000)
libgcc_s.so.1 => /usr/local/MATLAB/R2011b/sys/os/glnxa64/libgcc_s.so.1 (0x00007f1e5e1e8000)
% so we could remove $MATLABROOT/sys/os/glnxa64 to solve the c runtime library problem...
does anyone know a way to selectively direct just one library (ie libdc1394) out of LD_LIBRARY_PATH without just brute-force hiding it in the file system?
Additions:
...
libmx.so => not found
libmex.so => not found
libmat.so => not found
...
libmx.so => not found
libmex.so => not found
libmat.so => not found
...
Additions:
- matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538)
turns out this is enough to get svn working, but not Screen, et al. why? cuz now we're hiding the mex libraries.
adapted from http://tech.groups.yahoo.com/group/psychtoolbox/message/12405:
[a b]=system(['ldd ' which('Screen')])
turns out this is enough to get svn working, but not Screen, et al. why? cuz now we're hiding the mex libraries.
adapted from http://tech.groups.yahoo.com/group/psychtoolbox/message/12405:
[a b]=system(['ldd ' which('Screen')])
Deletions:
turns out this is enough to get svn working, but not Screen, et al. why?
Additions:
- matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538) good diagnostics in http://tech.groups.yahoo.com/group/psychtoolbox/message/12405
Deletions:
Additions:
turns out this is enough to get svn working, but not Screen, et al. why?
Additions:
- i used latest octave (3.4.3) which PTB warns is "likely not yet compatible", but i haven't found problems
- the installer fails at getting the MAC address and calling fileattrib...
- the installer fails at getting the MAC address and calling fileattrib...
Additions:
==install matlab 64 bit==
- i used 2011b
- alternatively, use octave (everything just works)
- sudo yum install octave
- sudo yum install octave-devel.x86_64 (if you want to make mex files)
- i used 2011b
- alternatively, use octave (everything just works)
- sudo yum install octave
- sudo yum install octave-devel.x86_64 (if you want to make mex files)
Deletions:
Additions:
$ sudo chmod a+w /usr/local/MATLAB/R2011b/
$ sudo emacs /etc/udev/rules.d/70-persistent-net.rules
$ sudo emacs /etc/udev/rules.d/70-persistent-net.rules
Deletions:
$ sudo chmod a+w .
$ cd /etc/udev/rules.d
$ sudo emacs 70-persistent-net.rules
Additions:
- TODO: how get a clickable icon to launch matlab? (note: PTB often wants you to run matlab as root (sudo matlab) to do fancy driver hacking stuff.
Additions:
==install matlab 64 bit (i used 2011b).==
- after downloading matlab, it needs permissions to install in the default location:
- then, when trying to activate matlab:
- matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538)
an alternative might be (set at the top of DownloadPsychtoolbox):
==install PTB==
- svn is probably already installed (you could get it with yum).
- contrary to what's claimed at PsychtoolboxDownload, DownloadPsychtoolbox needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
- so, psychtoolbox should either resolve ~ or check for it and issue an error.
- the PTB installer calls svn from within matlab, which will fail without the libstdc fix above.
- alternatively, build from scratch http://tech.groups.yahoo.com/group/psychtoolbox/message/6170
- the installer lets you know that you need several libraries to use PTB. i seemed to already have all of them, here are the packages that satisfy the dependencies:
- after downloading matlab, it needs permissions to install in the default location:
- then, when trying to activate matlab:
- matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538)
an alternative might be (set at the top of DownloadPsychtoolbox):
==install PTB==
- svn is probably already installed (you could get it with yum).
- contrary to what's claimed at PsychtoolboxDownload, DownloadPsychtoolbox needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
- so, psychtoolbox should either resolve ~ or check for it and issue an error.
- the PTB installer calls svn from within matlab, which will fail without the libstdc fix above.
- alternatively, build from scratch http://tech.groups.yahoo.com/group/psychtoolbox/message/6170
- the installer lets you know that you need several libraries to use PTB. i seemed to already have all of them, here are the packages that satisfy the dependencies:
Deletions:
after downloading matlab, it needs permissions to install in the default location:
then, when trying to activate matlab:
matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538)
an alternative might be (set at the top of DownloadPsychtoolbox()):
====install PTB====
svn is probably already installed (you could get it with yum).
====h3====
===h2===
==h1==
unlike claimed on the wiki, DownloadPsychtoolbox() needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
so, psychtoolbox should either resolve ~ or check for it and issue an error.
the PTB installer calls svn from within matlab, which will fail without the libstdc fix above.
alternatively, build from scratch http://tech.groups.yahoo.com/group/psychtoolbox/message/6170
the installer lets you know that you need several libraries to use PTB. i seemed to already have all of them, here are the packages that satisfy the dependencies:
Additions:
====install matlab 64 bit (i used 2011b).====
matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538)
setenv('LD_LIBRARY_PATH')
====install PTB====
svn is probably already installed (you could get it with yum).
====h3====
===h2===
==h1==
the installer lets you know that you need several libraries to use PTB. i seemed to already have all of them, here are the packages that satisfy the dependencies:
$ yum list installed | grep libusb
libusb.x86_64 1:0.1.3-9.fc15 @updates
libusb1.x86_64 1.0.8-7.fc15 @anaconda-InstallationRepo-201105131943.x86_64
$ yum list installed | grep 1394
libavc1394.x86_64 0.5.3-10.fc15 @anaconda-InstallationRepo-201105131943.x86_64
libdc1394.x86_64 2.1.2-3.fc12 @anaconda-InstallationRepo-201105131943.x86_64
libraw1394.x86_64 2.0.7-1.fc15 @updates
$ yum list installed | grep glut
freeglut.x86_64 2.6.0-6.fc15 @fedora
$ yum list installed | grep gstreamer
gstreamer.x86_64 0.10.34-1.fc15 @updates
gstreamer-plugins-bad-free.x86_64 0.10.22-1.fc15 @updates
gstreamer-plugins-base.x86_64 0.10.33-1.fc15 @updates
gstreamer-plugins-good.x86_64 0.10.29-1.fc15 @updates
gstreamer-python.x86_64 0.10.19-2.fc15 @anaconda-InstallationRepo-201105131943.x86_64
gstreamer-rtsp.x86_64 0.10.8-1.fc15 @updates
gstreamer-tools.x86_64 0.10.34-1.fc15 @updates
matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538)
setenv('LD_LIBRARY_PATH')
====install PTB====
svn is probably already installed (you could get it with yum).
====h3====
===h2===
==h1==
the installer lets you know that you need several libraries to use PTB. i seemed to already have all of them, here are the packages that satisfy the dependencies:
$ yum list installed | grep libusb
libusb.x86_64 1:0.1.3-9.fc15 @updates
libusb1.x86_64 1.0.8-7.fc15 @anaconda-InstallationRepo-201105131943.x86_64
$ yum list installed | grep 1394
libavc1394.x86_64 0.5.3-10.fc15 @anaconda-InstallationRepo-201105131943.x86_64
libdc1394.x86_64 2.1.2-3.fc12 @anaconda-InstallationRepo-201105131943.x86_64
libraw1394.x86_64 2.0.7-1.fc15 @updates
$ yum list installed | grep glut
freeglut.x86_64 2.6.0-6.fc15 @fedora
$ yum list installed | grep gstreamer
gstreamer.x86_64 0.10.34-1.fc15 @updates
gstreamer-plugins-bad-free.x86_64 0.10.22-1.fc15 @updates
gstreamer-plugins-base.x86_64 0.10.33-1.fc15 @updates
gstreamer-plugins-good.x86_64 0.10.29-1.fc15 @updates
gstreamer-python.x86_64 0.10.19-2.fc15 @anaconda-InstallationRepo-201105131943.x86_64
gstreamer-rtsp.x86_64 0.10.8-1.fc15 @updates
gstreamer-tools.x86_64 0.10.34-1.fc15 @updates
Deletions:
~- svn was already installed (you could get it with yum).
~- Matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538)
setenv('LD_LIBRARY_PATH','')
~- install PTB
Additions:
~ install matlab 64 bit (i used 2011b).
an alternative might be (set at the top of DownloadPsychtoolbox()):
unlike claimed on the wiki, DownloadPsychtoolbox() needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
an alternative might be (set at the top of DownloadPsychtoolbox()):
unlike claimed on the wiki, DownloadPsychtoolbox() needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
Deletions:
an alternative might be (set at the top of DownloadPsychtoolbox.m):
unlike claimed on the wiki, DownloadPsychtoolbox.m needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
Additions:
- install matlab 64 bit (i used 2011b).
an alternative might be (set at the top of DownloadPsychtoolbox.m):
unlike claimed on the wiki, DownloadPsychtoolbox.m needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
an alternative might be (set at the top of DownloadPsychtoolbox.m):
unlike claimed on the wiki, DownloadPsychtoolbox.m needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
Deletions:
an alternative might be:
unlike claimed on the wiki, DownloadPsychtoolbox needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
Additions:
~- install matlab 64 bit (i used 2011b).
after downloading matlab, it needs permissions to install in the default location:
$ sudo mkdir -p /usr/local/MATLAB/R2011b/
$ cd /usr/local/MATLAB/R2011b/
$ sudo chmod a+w .
then, when trying to activate matlab:
Error 1,714: Unable to activate your machine. The activation process cannot detect a valid Host ID which utilizes the 'eth' naming convention. Please refer to the following solution ID, to help resolve this issue: 1-661QJD
http://www.mathworks.com/support/solutions/en/data/1-661QJD/index.html?solution=1-661QJD
following mathwork's instructions works:
$ cd /etc/udev/rules.d
$ sudo emacs 70-persistent-net.rules
change the NAME field to eth0
~- svn was already installed (you could get it with yum).
~- Matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538)
an alternative might be:
%%(matlab)
setenv('LD_LIBRARY_PATH','')
~- install PTB
unlike claimed on the wiki, DownloadPsychtoolbox needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
so, psychtoolbox should either resolve ~ or check for it and issue an error.
the PTB installer calls svn from within matlab, which will fail without the libstdc fix above.
alternatively, build from scratch http://tech.groups.yahoo.com/group/psychtoolbox/message/6170
after downloading matlab, it needs permissions to install in the default location:
$ sudo mkdir -p /usr/local/MATLAB/R2011b/
$ cd /usr/local/MATLAB/R2011b/
$ sudo chmod a+w .
then, when trying to activate matlab:
Error 1,714: Unable to activate your machine. The activation process cannot detect a valid Host ID which utilizes the 'eth' naming convention. Please refer to the following solution ID, to help resolve this issue: 1-661QJD
http://www.mathworks.com/support/solutions/en/data/1-661QJD/index.html?solution=1-661QJD
following mathwork's instructions works:
$ cd /etc/udev/rules.d
$ sudo emacs 70-persistent-net.rules
change the NAME field to eth0
~- svn was already installed (you could get it with yum).
~- Matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392, http://tech.groups.yahoo.com/group/psychtoolbox/message/12538)
an alternative might be:
%%(matlab)
setenv('LD_LIBRARY_PATH','')
~- install PTB
unlike claimed on the wiki, DownloadPsychtoolbox needs a target directory. however, many things go wrong if the target directory uses '~' -- it creates and installs to a directory called '~' at the current working directory, and adding stuff to the path silently fails. then, fileattrib correctly handles '~' and thinks there is 'No such file or directory'.
so, psychtoolbox should either resolve ~ or check for it and issue an error.
the PTB installer calls svn from within matlab, which will fail without the libstdc fix above.
alternatively, build from scratch http://tech.groups.yahoo.com/group/psychtoolbox/message/6170
Deletions:
svn was already installed (you could get it with yum).
~- Matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392)
Additions:
~- Matlab installs out-of-date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392)
cd $MATLABROOT/sys/os/glnxa64/
sudo mv libstdc++.so.6.0.10 old_libstdc++.so.6.0.10
sudo mv libstdc++.so.6 old_libstdc++.so.6
cd $MATLABROOT/bin/glnxa64/
sudo mv libdc1394.so.22 old_libdc1394.so.22
sudo mv libdc1394.so.22.1.0 old_libdc1394.so.22.1.0
cd $MATLABROOT/sys/os/glnxa64/
sudo mv libstdc++.so.6.0.10 old_libstdc++.so.6.0.10
sudo mv libstdc++.so.6 old_libstdc++.so.6
cd $MATLABROOT/bin/glnxa64/
sudo mv libdc1394.so.22 old_libdc1394.so.22
sudo mv libdc1394.so.22.1.0 old_libdc1394.so.22.1.0
Deletions:
cd $MATLABROOT/sys/os/glnxa64/
sudo mv libstdc++.so.6.0.10 old_libstdc++.so.6.0.10
sudo mv libstdc++.so.6 old_libstdc++.so.6
cd $MATLABROOT/bin/glnxa64/
sudo mv libdc1394.so.22 old_libdc1394.so.22
sudo mv libdc1394.so.22.1.0 old_libdc1394.so.22.1.0
Additions:
##modified from UsingPsychtoolboxOnUbuntu##
linux kernel version:
$ uname -r
2.6.41.1-1.fc15.x86_64
fedora version:
$ less /etc/fedora-release
Fedora release 15 (Lovelock)
install matlab (i used 2011b).
svn was already installed (you could get it with yum).
~- Matlab installs out of date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392)
linux kernel version:
$ uname -r
2.6.41.1-1.fc15.x86_64
fedora version:
$ less /etc/fedora-release
Fedora release 15 (Lovelock)
install matlab (i used 2011b).
svn was already installed (you could get it with yum).
~- Matlab installs out of date libraries that will hide your distro's more up-to-date libraries, which PTB needs. (for details, see http://tech.groups.yahoo.com/group/psychtoolbox/message/12392)
Deletions:
##cum grano salis##
General setup for PTB and Matlab on Ubuntu 11.04 64-bit:
~- install low-latency kernel (some info found here - https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel)
sudo add-apt-repository ppa:abogani/ppa
sudo apt-get update
sudo apt-get install linux-lowlatency
~- Install subversion:
sudo apt-get install subversion
~- Install Matlab 64-bit (2010b was used for these instructions)
~- Install PTB using [DownloadPSychtoolbox these instructions]
~- Need to fix a few things in matlab for PTB to work
sudo apt-get install libdc1394-22
~- Finally, solve a Matlab issue specific to Ubuntu 11.04:
sudo ln -s /lib64/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6
~- Alternatively, you could use NeuroDebian install of octave-psychtoolbox-3 (http://neuro.debian.net), but you may still need some of the above steps
==Refresh rate setup==
This is an example based on setting this up on my rig2display machine.
~- Use gtf to generate a modeline:
gtf 1024 768 100
This is the output of that command on an example machine:
##
# 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz
Modeline "1024x768_100.00" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync
##
cvt is another program that works basically the same way
~- Be sure the modeline is valid for the monitor. Look up the horizontal and vertical sync in the specs
~- Use %%xrandr -q%% to see the modes available and what your graphics system is called (mine is CRT1)
~- Copy that modeline to make 3 commands:
xrandr --newmode "1024x768_100.00" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync
xrandr --addmode CRT1 "1024x768_100.00"
xrandr --output CRT1 --mode "1024x768_100.00"
~- Paste these into the file /etc/gmd/Init/Defaults just above the /sbin/initctl command. So mine looks like:
xrandr --newmode "1024x768_100.00" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync
xrandr --addmode CRT1 "1024x768_100.00"
xrandr --output CRT1 --mode "1024x768_100.00"
/sbin/initctl -q emit login-session-start DISPLAY_MANAGER=gdm
~- Could also do this by modifying xorg.conf but that looks like a headache, and this works
~- lspci will tell you the name of the graphics card and other system info if you need it
Additions:
======Using Psychophysics Toolbox on Fedora======
Deletions:
The most recent beta release (V3.0.9 revision 2191) contains support for 64bit Matlab / Octave, but one cannot mix running 64bit Matlab on a 32bit Ubuntu and visa versa. Please see below for some potenetial problems with correctly installing dependencies.
=====Choice of Kernel=====
See this page for more info: https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel
Comment by Mario
The lowlatency kernel is simple to install, as you explained, and probably good
enough for all but the most challenging applications. For example some tables
benchmark results with respect to the minimal audio latency that can be reliably
achieved:
<https://wiki.ubuntu.com/RealTime>
To put this into perspective, a typical os/x system won't be able to achieve
less than about 6-8 msecs, at least i haven't seen anything better in my testing
from macbookpro to 8 core mac-pro. The values they achieve (3-4 msecs) are close
to the theoretical optimum.
Even the default kernel is already at least as good as what the other operating
systems have to offer. Compiling a hard realtime kernel yourself is not that
simple for beginners, but if you'd really need it you can also download and
install a realtime kernel from an older distribution, e.g., 10.04. It would be a
tradeoff between gaining hard realtime caps and losing some functionality which
was added in later kernels.
=====Choice of Desktop Mode=====
The recommendation is to use Classic mode; comment from Mario:
Yep. "Ubuntu Classic (no effects)" may be even better. If you use the new Unity
UI, that's the most shiny and untested one -- i don't quite hate it as much as
many other people, but so far i don't see it adding much to the user experience.
It's the usual "let's add a smartphone or tablet GUI to a desktop/laptop
computer, because it looks fancy."
Both "Ubuntu Classic" and "Unity" use a desktop compositor to create the shiny
3d'ish desktop. This is nice for ergonomy and eye-candy but it can reduce
performance and really impair exact presentation timing and timestamping. Same
problem as on Windows Vista/7 and OS/X with their desktop compositors.
The Linux guys are working on a solution to make the timing and timestamping as
precise with a compositor as without it -- i'm involved in that effort. It is a
pretty difficult technical problem and progress is slow, but we'll get there at
some point. No similar efforts exist at all on OS/X or Windows afaik - At least
none that aren't known to be extremely broken to the point of being not only
useless but harmful.
Psychtoolbox disables the desktop compositor when a fullscreen onscreen window
is presented on OS/X, Windows and Linux to achieve correct stimulus onset timing
and timestamping and to reduce the performance impact of a compositor.
However, if you are running a machine for real data collection you may want to
manually shut down the compositor completely, because a) it is the most reliable
way to know it really doesn't interfere, and b) it frees up additional graphics
and system resources, which are usually used even if the compositor is in
standby mode.
On Linux 10.10 and earlier this was achieved via Menubar -> System settings ->
Appearance -> Desktop effects -> "Off" or something like that.
On 11.04 i think you select the "Ubuntu classic (no effects)" environment.
This will run in a old unsexy, non 3d'ish, "flicker during Windows movements and
redraws like WindowsXP" environment, however with drastically reduced GPU
resource consumption and no interference at all.
I usually do complex timing tests with the compositor shut down, but normal
testing with the compositor on and just switching to standby when fullscreen
windows are used.
One catch: On Linux, PTB doesn't actively switch the compositor to standby.
Instead it uses the PsychGPUControl() command as part of the Psychtoolbox
installer/updater to configure the compositor to switch itself to standby if it
detects a fullscreen window on a display.
If you do something like install PTB while Unity is running, then switch to the
"Classic" environment, this configuration setting may not transfer. It doesn't
hurt to add the PsychGPUControl command to the top of your script for extra
paranoia. Or manually disable it via the GUI.
I'll probably add some call to PsychGPUControl() to Screen's Openwindow function
in the future, so this is more fool-proof.
=====Choice of Graphics Driver=====
Use the proprietary driver for NVidia. For Intel and probably ATI, the open-source drivers should be sufficient, except for 30 bit support.
Mario again:
But nouveau in its current incarnation isn't yet suitable for
research grade stimulus presentation timing. It's pretty good performance- and
functionality-wise, but the display onset timing has bugs. I'm working with the
nouveau-devs to get it properly implemented for a future nouveau release, but it
probably won't be part of the 2011 Linux distros, at least not as a standard
install. PTB outputs warnings if you try to run on a too old nouveau- ie. on any
nouveau at the moment.
The free software Intel (for half-way recent GPU's) and ATI (for almost all
GPU's) drivers are in a very good shape in the recent distros. Both should have
the most precise and robust timestamping you could find anywhere. Also the only
timestamping that works in all display configurations with all display types and
settings. Functionality and performance are catching up to the binary drivers in
all areas that are relevant to us. I'd expect them to be perfectly useable for
the majority of vision science experiments, and for some of them even more than
the binary drivers.
=====Installing Issues=====
The newer PTB has several dependencies that need to be installed first before PTB will work correctly. Please *read* the information given by the PTB installer which gives the following instructions:
The Psychtoolbox on GNU/Linux needs the following 3rd party libraries
in order to function correctly. If you get "Invalid MEX file errors",
or similar fatal error messages, check if these are installed on your
system and if they are missing, install them via your system specific
software management tools:
===For Screen() and OpenGL support===
~- The OpenGL utility toolkit GLUT: glut, glut-3 or freeglut are typical provider packages in most Linux distributions.
~- GStreamer multimedia framework: At least version 0.10.24 of the core runtime and the gstreamer-base plugins.
For optimal performance use the latest available versions.
A simple way to get GStreamer at least on Ubuntu Linux is to install the "rhythmbox" or
"totem" multimedia-players. You may need to install additional packages to play back all
common audio- and video file formats. See "help GStreamer".
~- libusb-1.0 USB low-level access library.
~- libdc1394 Firewire video capture library.
~- libraw1394 Firewire low-level access library.
===For PsychKinect() (See "help InstallKinect")===
~- libusb-1.0 USB low-level access library.
~- libfreenect: Kinect driver library.
===For Eyelink()===
~- The Eyelink core libraries from the SR-Research download website.
If you receive an installation failure soon, then please read the output of
"help GStreamer" first and follow the installation instructions for GStreamer
on Linux. Psychtoolbox's Screen() command will not work without GStreamer!