Hi David, there are a couple of issues I've run into over th elast week or so while installing emacspeak on a ubuntu intrepid 8.10 box. There are work arounds. I'm not sure what direction Raman will want to take to address the issue I've identified, but will explain what I have done to fix things. The problem I've run into is that the version of libtool that comes with ubuntu 8.10 is a much later version than that which came with earlier releases. In fact, the version has jumped from 1.4 to 2.2.6. The later version of libtool makes some assumptions and ahs some prerequisites that were not in the earlier versions and this has broken things for emacspeak. Essentially there are two problems. Thenew version of libtool expects that if the target in a libtool command with the mode=link option is an executable unless it is a name that begins with 'lib' and ends in '.a' or '.la'. If it doesn't have both of these, is assumes the command is building an executable rather than a library. The Makefiles used by emacspeak to build the code for the ViaVoice outloud and (I think) espeak attempt to build shared libraries that the driver Tcl scripts load as part of their startup process. Unfortunately, the names used for these libraries do not start with 'lib' or end with a .a' or '.la'. So, when you try to build the shared library, the commands libtool creates for the compiler/linker process are commands that result in an attempt to build a stand alone executable rather than a shared library. For example, libtool does not pass the -shared option to the command that does the final linking. Instaed of trying to build a shared library, the system tries to build an executable and fails because it can't find a 'main' function. The simplist and easiest solution is to just eliminate libtool from the equation when building on ubuntu 8.10. This is quite easy as in fact, the way that the Makefile is defined, libtool is actually not doing a lot. The idea of libtool is mainly to provide platform independence in building programs - its meant to hide the complexities of how to build shared libraries on different systems or how to have a makefuile that will work on systems that have shared libraries and systems that don't. In the case of the makefiles for building the server shared libraries, Raman has left in the flags necessary for building shared libraries anyway e.g. the -fPIC and -DPIC for compiling position independent code and the -shared flag for linking a shared library. So, essentially, all you have to do is remove the part of the command with the work libtool, leaving the rest of the line and things should work. Here is what I do to build on ubuntu 8.10 1. I build emacs from CVS. I have 'integrated' it with the debian/ubuntu way of managing emacs by editing the lisp/startup.el file. In fact, what I did was install the emacs-snapshot package and then did a diff on its startup.el file compared to the CVS version. There are just a couple of minor additions and changes to get the integration. I install the cvs version in the /usr/local tree, so I also need to replace /usr/local/share/emacs/23.0.60/site-lisp with a symbolic link that points to /usr/share/emacs/23.0.60/site-lisp as this is where all the emacs-snapshot compiled versions installed/maintained by debian/ubuntu are put and I want to take advantage of these in my 'hand build' version. My advice for an initial setup is avoid the emacs-snapshot packages and stick with emacs22 to start with. The reason is that emacs-snapshot is a CVS snapshot and it can be 'broken' from time to time. I've also noticed that the emacs-snapshot that appears to be available in the ubuntu repositories is very very old. Also, as we are talking CVS emacs, it is possible and in fact it has occured in the past that changes in emacs have resulted in broken/lost functionality in emacspeak. Therefore, when starting with emacspeak my advice is minimise as many of the possible pain points as possible - use the official release of emacs e.g. emacs 22. Once you are comfortable with that, then start looking at other things like running the latest CVS version. I then get the latest emacspeak from the svn repository. I don't use packaged versions because Raman is too active and always adding improvements/additions which I like to take advantage of. Distro packages just cannot keep up. So, I do an svn co http://emacspeak.googlecode.com/svn/trunk emacspeak I then cd intot he root of the source tree and do make clean make config make emacspeak This will build the basic emacspeak package. I then cd to the servers/linux-outloud directory and do a make atcleci.so(noting that I've made the changes mentioned above). This builds the atcleci.so file. Note that before I do that, I copy the /var/opt/IBM/ibmtts/cfg/eci.ini file into the linux-outloud directory, replacing the one that comes with the distro. This is necessary as the eci.ini that comes with emacspeak is for a much older version of ViaVoice and installation paths have changed (you could just edit the eci.ini file and change the path to the shared lib, but as I'm also using the UK english version of the shared lib, its just easier to copy the whole eci.ini file across). Once I've built the atcleci.so shared library, I cd to the servers directory and run the 'outloud' script. If the shared library has been build correctly and everything is correctly installed (including the right versions of tcl and extended tcl, then a voice should announce that 'this is viavoice using ALSA'. Note that I'm still using tcl/tclx 8.3. I then make sure I've got the necessary environment variables set - my setup is actually a bit more complex as I tend to run multiple emacspeak repositories - this way, I can try an update in one repository and if its broken things or I can't get it to work, I still have the previously working version that I can switch back to. I use an environment variable to control which repository is used. I also have environment variables that determine whether emacspeak is run at all when I start emacs and some other stuff I find useful. I like to ensure emacspeak is loaded early, so I have a file in /etc/emacs/site-lisp.d called 10emacspeak.el. This file is sourced when you start emacs and if you have the env variable RUN_EMACSPEAK defined, loads emacspeak from the repository identified by EMACSPEAK_REPOSITORY and using the server defined in DTK_PROGRAM, which in my case is usually DTK_PROGRAM=outloud Hope this helps a bit. Feel free to ask for more clarification or information either on the list or privately. List is best as others can then get to benefit form the info. regards, Tim David Ring writes: > Thanks for your very clear directions Kalyan. I'm still confused by > the README file that says to "make configure" then "make emacspeak" - > and contradicts the other file - probably more so because I get the > same error! > > install -m 0644 lisp/*.el lisp/*.elc /usr/share/emacs/site-lisp/emacspeak/lisp > install: cannot stat `lisp/*.elc': No such file or directory > make: *** [install] Error 1 > > > Still no joy in Mudville. Mighty Casey is still swinging, but no > hits, only strikes. > > I'm using the latest "Download" file from > http://emacspeak.sourceforge.net/ - could it be that this file is "not > ready for prime time". I'm downloading emacspeak 29.0 - is this where > I'm running into problems? Do I need an older file? > > Best > > David Ring > Green Harbor, MA > -30- > > ----------------------------------------------------------------------------- > To unsubscribe from the emacspeak list or change your address on the > emacspeak list send mail to "email@example.com" with a > subject of "unsubscribe" or "help" > -- regards, Tim -- firstname.lastname@example.org ----------------------------------------------------------------------------- To unsubscribe from the emacspeak list or change your address on the emacspeak list send mail to "email@example.com" with a subject of "unsubscribe" or "help"
If you have questions about this archive or had problems using it, please send mail to:firstname.lastname@example.org No Soliciting!
Emacspeak List Archive | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998
Emacspeak Files | Emacspeak Blog | Search the archive