From: Daniel R. <sta...@gm...> - 2008-08-01 05:04:13
|
It's been a while since I've verified that Sooc compiles on OS X. In particular, I can't remember if it's even ever been tested on Leopard. Considering that a number of things changed since 10.4, including full Unix certification, it will be interesting to see what sort of process is involved in getting things working out of the box. In particular, I'm wondering what sort of tools and libraries still need to be obtained through sources like Fink (probably the same ones as always, including but not limited to the autotools). I don't have access to the dev tools at the moment, since it's not worth installing them on my laptop. But I will take a look at this some time soon when I set my desktop up again. When I do get a chance to do this, I think I will try to document, for the sake of having it out there, what exactly needs to be done to compile on OS X. That is to say, exactly what needs to be downloaded, what settings need to be changed (if any), and so on? Because, you know, this is the sort of thing English teachers do in their spare time... Write documents... Yeah, that's the ticket... |
From: Mike R. <mik...@gm...> - 2008-08-08 06:10:01
|
On Fri, Aug 1, 2008 at 1:04 AM, Daniel Reinish <sta...@gm...> wrote: > It's been a while since I've verified that Sooc compiles on OS X. > In particular, I can't remember if it's even ever been tested on > Leopard. Considering that a number of things changed since 10.4, > including full Unix certification, it will be interesting to see > what sort of process is involved in getting things working out of > the box. In particular, I'm wondering what sort of tools and > libraries still need to be obtained through sources like Fink > (probably the same ones as always, including but not limited to the > autotools). I don't have access to the dev tools at the moment, > since it's not worth installing them on my laptop. But I will take > a look at this some time soon when I set my desktop up again. At some point, Sooc should be mature enough to start growing in scope. That is, there should be Sooc interfaces for existing libraries. Most likely these will be built slowly and by demand. In any case, I think it'd be neat to set it up to configure those automatically. That is, the configure script should detect the presence of other libraries and decide whether to build the wrapper interface intelligently. Of course, you should be able to explicitly disable these as well. I've noticed that Pidgin does a good job of such automatic configuration, so we can look at that when the time comes. > When I do get a chance to do this, I think I will try to document, > for the sake of having it out there, what exactly needs to be done > to compile on OS X. That is to say, exactly what needs to be > downloaded, what settings need to be changed (if any), and so on? To build Sooc, I think you just need a POSIX-compliant C library including pthreads. You may also need pkg-config, or you may only need pkg-config if you want to use it later to compile and link more easily against Sooc. However, I think many systems need /usr/local/lib to be added to /etc/ld.so.conf in order to start Sooc programs at runtime. After installing a new version (like a new release) of Sooc, you need to run sudo ldconfig to make sure your linker knows what's happening. Also, in order to use Sooc's pkg-config, I needed to make sure the following was set: PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" In Gentoo, I just dropped that in /etc/env.d/999local-pkgconfig. On other systems, that goes in /etc/profile or somewhere... These system-wide tweaks apply whenever you build your first non-package-managed software installed to /usr/local. |
From: Daniel R. <de...@vi...> - 2008-08-09 03:17:10
|
Sooc appears to compile just fine on vanilla 10.5 Leopard. Fink is no longer required strictly for downloading and compiling the sooc library. With the OS and the Xcode suite installed, all libraries necessary for compilation appear to be available by default. This includes the autotools (in the past, I recall it being somewhat difficult to obtain a recent enough copy of this package). One program that is a little tricky is "libtoolize." OS X does not include this; however, it does have glibtoolize, which by all accounts is the same thing. The user has a few options to get around this: (1) Edit ./bootstrap to change the command, (2) create an alias in .profile, (3) create a symlink somewhere in $PATH. Perhaps this OS X-specific scenario could be addressed in the bootstrap script itself? For instance, could it try "libtoolize" and then, if unsuccessful, try "glibtoolize?" It seems that this would, theoretically, account for other POSIX systems that use this version of the package. What do you think? So aside from determining how to get around the libtoolize thing, compiling is quite straightforward. Next, I have not specifically tested the linking of sooc applications with the sooc library (since I don't have a sooc application to test). However, what I do know is that Leopard appears not to have /etc/ld.so.conf. I think that /usr/local/lib is searched by default anyhow based on something I saw through Google. I have a number of libraries related to LaTeX already installed in /usr/local/lib, and that all seems to work fine. It's * possible* that the LaTeX installation did something to make the local libraries available, but I suspect they simply were from the start. Finally, pkg-config is not part of the vanilla OS install. Sooc's configuration script does not need it, but sooc does provide a .pc file, as I recall. So, if someone *chooses* to use that file when compiling a sooc program, then pkg-config will need to be obtained. *So, in summary, here are the steps to compile, install, and use sooc on Leopard:* 1) User must substitute glibtoolize for libtoolize 2) User may then run ./bootstrap and the compilation sequence 3) User probably does not have to update the library search path (it doesn't exist anyhow) 4) User should still need to run sudo ldconfig after updates. 5) User will need to obtain pkg-config (e.g. through "fink" or "macports") if user wishes to use this in future config scripts for applications that link to the sooc library Meanwhile, if the user is compiling under previous versions of OS X, it may be necessary to download additional dependencies through fink or macports. In the past, I believe I have used fink to obtain up-to-date versions of the autotools, pkg-config, and (I think) libtoolize. Again, however, the only thing that appears to be missing from 10.5 is pkg-config, and this isn't even required for compiling the library. In other words, the status is good ;-) Next thing is to actually run a test program, but I don't have one... |