Hi, (This is part of a collection of patches and workarounds I have for consideration for problems in the build process in current cvs. I'll just briefly describe each patch(-set) below, and if needed will put them into bugzilla separately with more details.) 4. Link problems with xedit, may be Darwin-only(?) Build Log snip: >>>> [...] -L../../../exports/lib lsp.o -L. -llisp -Lmp -lmp -Lre -lre -lm -L/usr/X11R6/lib /usr/bin/ld: Undefined symbols: _mpi_clear _mpr_clear _mpi_getsize _mpi_getstr _mpi_init _mpi_seti _mpi_sgn _mpr_getstr _mp_set_calloc _mp_set_free _mp_set_malloc _mp_set_realloc _mpi_add _mpi_addi _mpi_and _mpi_cmp _mpi_cmpi _mpi_com _mpi_divi _mpi_divqr _mpi_fiti _mpi_getd _mpi_geti _mpi_ior _mpi_mod _mpi_modi _mpi_mul _mpi_muli _mpi_neg _mpi_rem _mpi_remi _mpi_set _mpi_setd _mpi_sqrt _mpi_sub _mpi_subi _mpi_xor _mpr_add _mpr_addi _mpr_canonicalize _mpr_cmp _mpr_cmpi _mpr_div _mpr_divi _mpr_fiti _mpr_getd _mpr_init _mpr_inv _mpr_mul _mpr_muli _mpr_set _mpr_setd _mpr_seti _mpr_sub _mpr_subi _mpi_setstr collect2: ld returned 1 exit status [...] <<<< This occurs in at least two xedit-related modules during the build. To recreate: Build xf86 with latest XCode (Apple-provided gcc, ld, etc.). Possibly related env-vars: export MACOSX_DEPLOYMENT_TARGET="10.4" export SDKROOT="/Developer/SDKs/MacOSX10.4u.sdk" export SDK="${SDKROOT}" ...and maybe others... $ gcc --version powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367) [...] $ uname -a Darwin <hostname> 8.9.0 Darwin Kernel Version 8.9.0: Thu Feb 22 20:54:07 PST 2007; root:xnu-792.17.14~1/RELEASE_PPC Power Macintosh powerpc PowerMac7,3 Darwin (OSX 10.4.9 running on a Dual G5 2.7GHz with 3.5GB of matched-pair SDRAM and more...) Discussion: The included libs were previously built, they really are there, plus the correct -L/-l options are in the [I]makefiles as can be seen in the snip above. But sometimes the "visibility" attributes of symbols get lost for unknown reasons. Other projects also have this problem, albeit rarely, but always recreatable when it does happen. To prove the symbols were compiled but possibly not placed in the dylibs properly, we can instead include the related .a files as with this patch: >>>>-cut->>>> --- xc/programs/xedit/lisp/Imakefile_orig 2005-10-14 10:17:32 -0500 +++ xc/programs/xedit/lisp/Imakefile 2007-04-11 01:12:28 -0500 @@ -115,7 +115,7 @@ $(SNPRINTF_DEFS) $(SYS_DEFINES) $(SIGNAL_DEFINES) DEPLIBS = mp re INCLUDES = -I.. -Imp -Ire -I../.. $(MISC_INCLUDES) -LOCAL_LIBRARIES = -L. -llisp -Lmp -lmp -Lre -lre -lm $(DLLIB) +LOCAL_LIBRARIES = ./liblisp.a -L. -llisp ./mp/libmp.a -Lmp -lmp ./re/libre.a -Lre -lre -lm $(DLLIB) #ifdef IHaveSubdirs ForceSubdirs($(SUBDIRS)) --- xc/programs/xedit/Imakefile_orig 2005-10-14 10:17:32 -0500 +++ xc/programs/xedit/Imakefile 2007-04-11 01:17:27 -0500 @@ -12,7 +12,7 @@ #define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)" SUBDIRS = lisp - LISPLIBS = -Llisp -llisp -Llisp/mp -lmp -Llisp/re -lre + LISPLIBS = ./lisp/liblisp.a -Llisp -llisp ./lisp/mp/libmp.a -Llisp/mp -lmp ./lisp/re/libre.a -Llisp/re -lre LISP_SRC = lisp.c LISP_OBJ = lisp.o <<<<-cut-<<<< See what I mean? Now the linker is happy. As a quick local fix so not to need to regenerate them, the Makefiles related to the two Imakefiles shown in the patch can be edited by hand in a similar manner, too. I can't provide a patch because your generated Makefiles will quite likely be completely different than mine. ;) Thanks for any help. :) _______________________________________________ Devel mailing list Devel@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/devel