swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Swarm-Support] Building swarm with gcc 4.7


From: Jason L Tibbitts III
Subject: [Swarm-Support] Building swarm with gcc 4.7
Date: Mon, 16 Apr 2012 16:25:07 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

I'm a systems administrator who happens to also be a Fedora developer.
A user here requested that I install Swarm so I had a look.  Around here
deployment for our Fedora systems is generally done by preparing a
package which if at all possible follows Fedora's packaging practices,
deploying that and then if there's interest, submitting the package to
Fedora so that everyone can benefit.

I started from the srpm I found at
http://pj.freefaculty.org/Swarm/Swarm-Packages/Fedora/14/x86_64/ and
tried to do cleanup and removing of bundled libraries (avcall, libobjc
at least).  I also tried to enable Java using Fedora's openjdk.

I'm having some success in that I can get through the package build on
rawhide and Fedora 17 with Java disabled and with the bundled libobjc
enabled.  This requires some patching of the autoconf m4 code
(acffi.m4) to look in the proper place on 64-bit platforms and with the
current libffi.  I can get mostly through with Java using some other
patching to acjdk.m4.  However, I'm running into a big problem: the
traditional Objective C API is simply gone in GCC 4.7.  You can't do
#include <objc/objc-api.h> at all; the file simply isn't there.  I guess
#using the bundled and very old (1997) libobjc gets around most of that,
#though the with-java build still fails because this bit fails:

(echo "#include <objc/objc.h>"; echo "#include <objc/objc-api.h>"; sort 
*-head.c | uniq;  echo "void swarm_java_predispatch () {"; sort *-body.c | uniq 
; echo "}") > predispatch.c
/bin/sh ../../libtool --mode=compile gcc -c -g predispatch.c

predispatch.c:2:27: fatal error: objc/objc-api.h: No such file or directory

I looked into this and it does seem to be a pretty big effort to move
over to using objc/runtime.h and fixing up all of the method calls to
use the new names.  A sufficiently fancy sed call could probably do most
of it, but I'm pretty far out of my depth here having not ever touched
Objective C before.

So, does anyone have any hints?  Has anyone done any of the work needed
to get things building with the "modern" Objective C API?  Would anyone
like to work with me to get a package that's acceptable for Fedora?
-- 
 Jason L Tibbitts III - address@hidden - 713/743-3486 - 660PGH
 System Manager:  University of Houston Department of Mathematics 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]