On Fri, Dec 21, 2007 at 04:45:36PM +0000, Tuomo Valkonen wrote:
> On 2007-12-21, Joerg van den Hoff <[EMAIL PROTECTED]> wrote:
> > -shared
> > -whole-archive
> > -export-dynamic
>
> system.mk:
>
> # Set PRELOAD_MODULES=1 if your system does not support dynamically loaded
> # modules through 'libdl' or has non-standard naming conventions.
> #PRELOAD_MODULES=1
>
> That one option takes care of all that.
>
> > and librt: is that supposedly a standard lib? it's not
> > there.
>
> # clock_gettime for monotonic time
> EXTRA_LIBS += -lrt
>
> (I suppose this could be better explained..)
>
> Disable that, and if the MacOS X isn't totally brain-damaged,
> things should work (aside from setting the system clock confusing
> Ion's timers, if the POSIX monotonic clock isn't available through
> libc directly or so. But that's just an annoyance that was only
> recently fixed with support for the monotonic clock, where
> available).
>
> ...
>
> See, it's not so difficult, once you get rid of the autocrap
> mindset. Of course, I'd also prefer not having to edit a file
> to compile a program, but this is still better than the autocrap
> solution.
>
> Also, if people reported more complex settings required for
> particular systems back upstream, instead of just working on
> their silent forks, things would be easier. But in the Distro
> Code Of Conduct, it's forbidden to have any contact with
> authors.
>
> > but I suspect your attitude is uncorrectable.)
>
> It seems to be me, that the distros' and the FOSS herd's attitude
> is uncorrectable. And their present attitude is incompatible with
> me.
>
> --
> Tuomo
>
thanks to everybody giving hints. I actually can report
success: first time ever "manual" compile of `ion3' under
MacOSX.
here is the diff:
===============================CUT=========================================
--- system.mk 2007-12-20 19:46:46.000000000 +0100
+++ system.mk.mod 2008-01-02 12:46:09.000000000 +0100
@@ -6,7 +6,7 @@
## Installation paths
##
-PREFIX=/usr/local
+PREFIX=/home/vdh/Desktop/ion3
# For relocatable build, use the following, and start with absolute path.
# RELOCATABLE=1
@@ -47,7 +47,7 @@
# Set PRELOAD_MODULES=1 if your system does not support dynamically loaded
# modules through 'libdl' or has non-standard naming conventions.
-#PRELOAD_MODULES=1
+PRELOAD_MODULES=1
# Flags to link with libdl.
DL_LIBS=-ldl
@@ -59,7 +59,7 @@
# If you have installed Lua 5.1 from the official tarball without changing
# paths, this should do it.
-LUA_DIR=/usr/local
+LUA_DIR=/opt/local
LUA_LIBS = -L$(LUA_DIR)/lib -llua
LUA_INCLUDES = -I$(LUA_DIR)/include
LUA=$(LUA_DIR)/bin/lua
@@ -115,11 +115,11 @@
#DEFINES += -DCF_NO_LOCALE -DCF_NO_GETTEXT
# On some other systems you may something like this:
-#EXTRA_LIBS += -lintl
-#EXTRA_INCLUDES +=
+EXTRA_LIBS += -lintl
+EXTRA_INCLUDES += -I/opt/local/include
# clock_gettime for monotonic time
-EXTRA_LIBS += -lrt
+#EXTRA_LIBS += -lrt
##
@@ -135,7 +135,7 @@
-Wparentheses -pedantic -Wuninitialized
CFLAGS=-Os $(WARN) $(DEFINES) $(EXTRA_INCLUDES) $(INCLUDES)
-LDFLAGS=-Os $(EXTRA_LIBS) $(LIBS)
+LDFLAGS=-Os -L/opt/local/lib $(EXTRA_LIBS) $(LIBS)
EXPORT_DYNAMIC=-Xlinker --export-dynamic
# The following options are mainly for development use and can be used
===============================CUT=========================================
for those interested: put this in a file "macpatch.diff"
in the ion tarball directory and then in this directory do
patch -b < macpatch.diff
which should keep a copy `system.mk.orig' and modify
system.mk so that it works with macos 10.4.11 (but
definitely not with 10.5 because of the move from xfree86 to
xorg).
my modficiations assume that you are otherwise using
`macports' for installing additional software (especially
lua), thus all references to `/opt/local'.
note, that finally you still need to adjust PREFIX in the
resulting `system.mk' to something sensible (the above patch
leads to a test installation in a directory on my "Desktop"
-- you won't have this one, I presume :-)).
tuomo: you know that I don't like this scenario of
"everybody compiles from scratch on his own" (it simply
burns time again and again) and I know you probably won't
alter your attitude. so, maybe you could start to provide
alternate `system.mk' versions or at least the patch files?
this one could be called, e.g.
system.mk-macos10.4.11_patch.diff
the crucial hint here was yours: activate PRELOAD_MODULES.
you might point out that the modifications are minor (true
in retrospect), but the necessity to do this is not obvious
for the average user (including me) from the outset. patch
files introduce additional assumptions but probably remove
the crucial problems, at least (the search path issues
should be managable more easily).
hth
joerg