I have very much the same problems on Cygwin, with revision 13875. At 06:43 07/11/11, Lyle Johnson wrote: >Apologies in advance if this is a FAQ, but I'm trying to build the >trunk (for Ruby 1.9) on Mac OS X and it's failing to link miniruby: > > /usr/bin/ld: multiple definitions of symbol _dln_find_exe > dmydln.o definition of _dln_find_exe in section (__TEXT,__text) > dln.o definition of _dln_find_exe in section (__TEXT,__text) > .... > >I can see that both "dmydln.o" and "dln.o" are in the list of object >files passed to to the linker. Looking at the code, I think I see what >the author was going for and can probably work up a patch, but wanted >to confirm first that I wasn't just doing something wrong while trying >to build it. If you can provide a patch, I think that would be great. The last change to dln.c was at revision 13261. The last change to dmydln.c was at revision 11708. So the problem must come from somewhere else than these files. Below is the output that I get: >>>>>>>> duerst@Tanzawa /cygdrive/d/ruby/trunk $ make gcc -g -O2 -L. -Wl,--stack,0x00200000 main.o dmydln.o array.o bignum.o class.o compar.o convert.o dir.o dln.o encoding.o enum.o enumerator.o error.o eval.o eval_load.o proc.o file.o gc.o hash.o inits.o io.o marshal.o math.o numeric.o object.o pack.o parse.o process.o prec.o random.o range.o re.o regcomp.o regenc.o regerror.o regexec.o regparse.o regsyntax.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util.o variable.o version.o blockinlining.o compile.o debug.o iseq.o vm.o vm_dump.o thread.o cont.o id.o ascii.o euc_jp.o sjis.o unicode.o utf8.o strftime.o prelude.o dmyext.o -lpthread -ldl -lcrypt -o miniruby.exe dln.o: In function `dln_load': /cygdrive/d/ruby/trunk/dln.c:1230: multiple definition of `_dln_load' dmydln.o:/cygdrive/d/ruby/trunk/dln.c:1230: first defined here dln.o: In function `dln_find_file': /cygdrive/d/ruby/trunk/dln.c:1593: multiple definition of `_dln_find_file' dmydln.o:/cygdrive/d/ruby/trunk/dln.c:1593: first defined here dln.o: In function `dln_find_exe': /cygdrive/d/ruby/trunk/dln.c:1576: multiple definition of `_dln_find_exe' dmydln.o:/cygdrive/d/ruby/trunk/dln.c:1576: first defined here collect2: ld returned 1 exit status make: *** [miniruby.exe] Error 1 duerst@Tanzawa /cygdrive/d/ruby/trunk $ >>>>>>>> #-#-# Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University #-#-# http://www.sw.it.aoyama.ac.jp mailto:duerst / it.aoyama.ac.jp