Re: Clearsilver on Mac OS X
Matthew Hixson <[email protected]>
| Newsgroups | gmane.text.clearsilver.general |
|---|---|
| Message-ID | <[email protected]> |
The patch applies cleanly to 0.10.4 and I ran ./configure with:
./configure --disable-ruby --disable-python --with-java=/usr
configure finishes normally but I get this when running make.
$ make
./autogen.sh
autoheader: WARNING: Using auxiliary files such as `acconfig.h',
`config.h.bot'
autoheader: WARNING: and `config.h.top', to define templates for
`config.h.in'
autoheader: WARNING: is deprecated and discouraged.
autoheader:
autoheader: WARNING: Using the third argument of `AC_DEFINE' and
autoheader: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template
without
autoheader: WARNING: `acconfig.h':
autoheader:
autoheader: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader: [Define if a function `main' is needed.])
autoheader:
autoheader: WARNING: More sophisticated templates can also be
produced, see the
autoheader: WARNING: documentation.
checking for gcc... gcc
checking for C compiler default output file name... a.out
....
It then goes on to run configure again, but without any options which
then fails because it can't find javac.
Is there something else I need to pass to configure or something to
edit manually after configure and before make?
Thanks,
-M@
On Mar 30, 2007, at 12:02 PM, Brandon Long wrote:
> Attached again is the patch for macosx for clearsilver 0.10.4
>
> It'll get the C code to compile (which is what the below error
> is). It
> will also make some changes to the Makefile for java so that java will
> compile, though you may need to edit rules.mk manually for the right
> java paths.
>
> diff -Nru clearsilver-0.10.4/cgi/cgiwrap.c clearsilver-0.10.4-
> macosx/cgi/cgiwrap.c
> --- clearsilver-0.10.4/cgi/cgiwrap.c Tue Mar 28 16:12:37 2006
> +++ clearsilver-0.10.4-macosx/cgi/cgiwrap.c Tue Nov 28 08:41:42 2006
> @@ -11,7 +11,9 @@
>
> #include "cs_config.h"
>
> +#if HAVE_FEATURES_H
> #include <features.h>
> +#endif
> #include <stdarg.h>
> #include <stdio.h>
> #include <stdlib.h>
> diff -Nru clearsilver-0.10.4/configure.in clearsilver-0.10.4-macosx/
> configure.in
> --- clearsilver-0.10.4/configure.in Sun Mar 12 16:05:26 2006
> +++ clearsilver-0.10.4-macosx/configure.in Tue Nov 28 08:39:10 2006
> @@ -26,7 +26,7 @@
> AC_HEADER_DIRENT
> AC_HEADER_STDC
> AC_HEADER_SYS_WAIT
> -AC_CHECK_HEADERS(fcntl.h stdarg.h varargs.h limits.h strings.h sys/
> ioctl.h sys/time.h unistd.h)
> +AC_CHECK_HEADERS(fcntl.h stdarg.h varargs.h limits.h strings.h sys/
> ioctl.h sys/time.h unistd.h features.h)
>
> dnl Checks for typedefs, structures, and compiler characteristics.
> AC_C_CONST
> diff -Nru clearsilver-0.10.4/cs_config.h.in clearsilver-0.10.4-
> macosx/cs_config.h.in
> --- clearsilver-0.10.4/cs_config.h.in Thu Jun 30 18:49:22 2005
> +++ clearsilver-0.10.4-macosx/cs_config.h.in Tue Nov 28 09:41:43 2006
> @@ -74,6 +74,9 @@
> /* Define to 1 if you have the <fcntl.h> header file. */
> #undef HAVE_FCNTL_H
>
> +/* Define to 1 if you have the <features.h> header file. */
> +#undef HAVE_FEATURES_H
> +
> /* Define to 1 if you have the `gettimeofday' function. */
> #undef HAVE_GETTIMEOFDAY
>
> diff -Nru clearsilver-0.10.4/java-jni/Makefile clearsilver-0.10.4-
> macosx/java-jni/Makefile
> --- clearsilver-0.10.4/java-jni/Makefile Mon Aug 7 13:05:13 2006
> +++ clearsilver-0.10.4-macosx/java-jni/Makefile Tue Nov 28 10:03:33
> 2006
> @@ -8,6 +8,9 @@
> include $(NEOTONIC_ROOT)/rules.mk
>
> NEO_UTIL_SO = libclearsilver-jni.so
> +ifeq ($(OSTYPE),Darwin)
> +NEO_UTIL_SO = libclearsilver-jni.jnilib
> +endif
> NEO_UTIL_JAVA_SRC = HDF.java CS.java # CGI.java
> NEO_UTIL_JAVA_CLASS = $(NEO_UTIL_JAVA_SRC:%.java=%)
> NEO_UTIL_JAVA_CLASSFILES = $(NEO_UTIL_JAVA_SRC:%.java=%.class)
> @@ -19,7 +22,12 @@
> CFLAGS += $(JAVA_INCLUDE_PATH)
> DLIBS += -lneo_cgi -lneo_cs -lneo_utl
> LIBS += $(DLIBS)
> +ifneq ($(OSTYPE),Darwin)
> LDFLAGS += -Wl,-soname=$(NEO_UTIL_SO)
> +JAVA_LDSHARED = $(LDSHARED)
> +else
> +JAVA_LDSHARED = MACOSX_DEPLOYMENT_TARGET=10.3 $(LDSHARED)
> +endif
>
> TARGETS = org_clearsilver_HDF.h org_clearsilver_CS.h $(NEO_UTIL_SO)
>
> diff -Nru clearsilver-0.10.4/python/setup.py clearsilver-0.10.4-
> macosx/python/setup.py
> --- clearsilver-0.10.4/python/setup.py Tue Nov 14 22:54:32 2006
> +++ clearsilver-0.10.4-macosx/python/setup.py Tue Nov 28 09:02:25 2006
> @@ -31,7 +31,7 @@
> if not os.path.exists("../rules.mk"):
> raise "You need to run configure first to generate the rules.mk
> file!"
>
> -make_vars = {}
> +make_vars = { 'NEOTONIC_ROOT' : '..' }
> rules = open("../rules.mk").read()
> for line in string.split(rules, "\n"):
> parts = string.split(line, '=', 1)
> @@ -78,7 +78,12 @@
> if var[:2] == "$(" and var[-1] == ")":
> var = variables.get(var[2:-1], "")
> return var
> - return re.sub('(\$\([^\)]*\))', replace_var, var)
> + while 1:
> + new_var = re.sub('(\$\([^\)]*\))', replace_var, var)
> + if new_var == var: break
> + var = new_var
> + return var.strip()
> +
>
> def expand_vars(vlist, vars):
> nlist = []
> diff -Nru clearsilver-0.10.4/rules.mk.in clearsilver-0.10.4-macosx/
> rules.mk.in
> --- clearsilver-0.10.4/rules.mk.in Fri Dec 2 03:25:19 2005
> +++ clearsilver-0.10.4-macosx/rules.mk.in Tue Nov 28 09:51:41 2006
> @@ -105,6 +105,10 @@
> ifeq ($(OSNAME),SunOS)
> LDSHARED = ld -G -fPIC
> endif
> +ifeq ($(OSTYPE),Darwin)
> +LDSHARED = $(CC) -bundle -flat_namespace -undefined suppress $
> (PICFLG)
> +CPPLDSHARED = $(CPP) -bundle -flat_namespace -undefined suppress
> $(PICFLG)
> +endif
>
> ## --------------win32 options
>
>
> Brandon
>
> On 03/30/07 Matthew Hixson uttered the following other thing:
>> I see that some people have gotten Clearsilver installed and running
>> on Mac OS X, but I can't find directions on how to get it to
>> compile. Its available through Darwin Ports, but I'd like to avoid
>> installing that just to get Clearsilver compiled.
>> What I'm needing is the JNI library for use with Java. I'm on OS
>> X 10.4.9. I've configured with this:
>>
>> ./configure --prefix=/usr/local --disable-python --disable-ruby --
>> with-java=/usr
>>
>> Configure runs successfully, but make fails with:
>>
>> Manifying blib/man3/ClearSilver.3pm
>> /usr/bin/javah -classpath clearsilver.jar -jni org.clearsilver.HDF
>> /usr/bin/javah -classpath clearsilver.jar -jni org.clearsilver.CS
>> gcc -g -O2 -Wall -I.. -fPIC -I/System/Library/Frameworks/
>> JavaVM.framework/Versions/CurrentJDK/Headers -o j_neo_util.o -c
>> j_neo_util.c
>> gcc -g -O2 -Wall -I.. -fPIC -I/System/Library/Frameworks/
>> JavaVM.framework/Versions/CurrentJDK/Headers -o j_neo_cs.o -c
>> j_neo_cs.c
>> make[1]: *** No rule to make target `../libs/libneo_cgi.a', needed by
>> `libclearsilver-jni.so'. Stop.
>> make: *** [cs] Error 2
>>
>>
>> Anyone have a patch or directions on how to get this to compile?
>> Thanks for your time,
>> -M@
>>
>>
>>
>>
>> Yahoo! Groups Links
>>
>>
>>
>
> --
> "The family seems to have two predominant functions: to provide
> warmth and love in time of need and to drive each other insane."
> -- Donald G. Smith
> http://www.fiction.net/blong/
> <macosx.patch>