[liblouis-liblouisxml] Re: Autotools: Successes and Questionss

  • From: "John J. Boyer" <john.boyer@xxxxxxxxxxxxxxxx>
  • To: liblouis-liblouisxml@xxxxxxxxxxxxx
  • Date: Mon, 9 Jun 2008 17:57:49 -0500

Eitan,

Thanks. I'll work on your suggestions and get back to you.

John

On Mon, Jun 09, 2008 at 02:58:10PM -0700, Eitan Isaacson wrote:
> Hey John.
> 
> Glad to see you are peeking at the autotooled stuff. I answered your
> questions in-line below. But first, a note about prefixes:
> 
> When running "configure". you could give a --prefix argument that will
> install the package somewhere else besides /usr/local. I like to keep
> packages I am developing off of my main system, for sanity sake, so
> often I define the prefix as /opt, and then, for example, the library
> gets installed in /opt/lib. When I install dependent packages, it is
> important to set the PKG_CONFIG_PATH environment variable to where the
> depended *.pc file is. So for example, this is how I would install
> liblouis and liblouisxml:
> 
> cd liblouis
> ./configure --prefix=/opt
> make; make install
> cd ../
> cd liblouisxml
> export PKG_CONFIG_PATH=/opt/lib/pkgconfig
> ./configure --prefix=/opt
> make; make install
> 
> I answered the rest of your questions below..
> 
> On Mon, 2008-06-09 at 02:01 -0500, John J. Boyer wrote:
> > 1. Why can't liblouisxml find liblouis?
> > 
> 
> I am assuming you ran "make install" for liblouis, right?
> Normally pkg-config should look in /usr/local/lib/pkgconfig, if this is
> where liblouis.pc is installed. To be sure set PKG_CONFIG_PATH
> to /usr/local/lib/pkgconfig (or wherever the liblouis.pc file is). I am
> not running a 64 bit distro right now, so I can't experiment, but
> perhaps your version of pkgconfig does not look
> in /usr/local/lib/pkgconfig by default but
> in /usr/local/lib64/pkgconfig.
> 
> > 2. My Linux machine is 64-bit. By default, gcc produces 64-bit code. 
> > However, both autotooled packages appear to produce 32-bit code, or 
> > maybe liblouis.pc should be in lib64/pkgconfig. The Windows machine is 
> > 32-bit. So the autotool scripts should take account of this.
> > 
> 
> How have you determined it is 32 bit in Linux? because it wasn't
> installed in lib64? This is simply a namespace fetish that Linux distros
> have to keep a certain degree of sanity and interop with different
> binary formats. Try working with a completely alternative prefix, like I
> suggested above. The whole lib/lib64 business is confusing enough.
> 
> If you are certain that the binaries being produced are 32 bits, then
> yeah, that is a problem that I don't know how to solve off the top of my
> head, need to install a 64 bit version myself.
> 
> > 3. The code is being compiled with the flags -g and -O2. The debugging 
> > inforcation generated by -g is not much use if O2 is specified. I want 
> > the flags O2 and -Wall.
> 
> You could explicitly set the flags by setting the CFLAGS environment
> variable before running configure. For example:
> 
> CFLAGS="-O2 -Wall" ./configure 
> 
> > 
> > 4. However, when I am testing new features or fixing old bugs I want the 
> > flags -g and -Wall.
> > 
> 
> See above.
> 
> > 5. also when developing, I want to install the software without getting 
> > root privileges or disturbing my working versions. How do I do this?
> > 
> 
> This is why I suggest using an alternative prefix, like above. It could
> be a user-writable directory. And stuff that you run off your normal
> execution path, etc. won't be affected by this development version.
> 
> > 6. The program make_sem_names needs to be run (and compiled if 
> > necessary) to generate sem_names.h from sem_enum.h before any of the 
> > modules in liblouisxml are compiled. How can this be done?
> > 
> 
> I remember asking you about this a couple of moths back ,and you said
> that sem_names.h is rarely going to change, so we don't need to generate
> it automatically. I'll be happy to look into that, and see how we could
> do it. I never have done it before, but it would be fun to try.
> 
> > 7. How can the autotooled versions help people who are using windows 
> > compilers such as VC++ 6 or Visual Studio?
> 
> I have no idea. I never used any of the visual products. I'm sure there
> is something though.
> 
> > 
> > Once these problems are ironed out I will replace the versions of the 
> > software on www.jjb-software.com with the autotooled versions, start a 
> > project on code.google for liblouisxml and join Eitan in the liblouis 
> > project.
> > 
> > Both liblouis and liblouisxml have tests subdirectories. At present
> > these are merely stubs. They could be fleshed out with shell scripts to
> > run various commands with selected data. For example, the liblouis tests
> > directory might have a script to run lou_checktable against
> > en-us-g2.ctb. lou_allround can be run non-interactively by redirecting
> > its input and output. liblouisxml can be tested by scripts which run
> > xml2brl and mathml2brl against short files containing text and math.
> > 
> > A big thank you to Eitan for his help on autotools and for the coffee.
> > 
> > John
> > 
> > 
> 
> For a description of the software and to download it go to
> http://www.jjb-software.com

-- 
John J. boyer; President, Chief Software Developer
JJB Software, Inc.
http://www.jjb-software.com
Madison, WI USA
Developing software for people with disabilities

For a description of the software and to download it go to
http://www.jjb-software.com

Other related posts: