# New Ticket Created by Nicholas Clark # Please include the string: [perl #30188] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=30188 >
--- osname= darwin osvers= 7.0 arch= darwin-thread-multi-2level cc= cc --- Flags: category=core severity=high ack=no --- Parrot has been broken on OS X for over a month now. The problem is that the libnci test requires the libnci dynamic library to be built, and the top level Makefile only has rules to generate libnci.so and libnci.dll. On OS X this library is named libnci.dylib, so the build fails because there is no rule to make this file. The attached patch solves this. I can't test it on Win32. Nicholas Clark --- Summary of my parrot 0.1.0 configuration: configdate='Thu Jun 10 09:31:26 2004' Platform: osname=darwin, archname=darwin-2level jitcapable=1, jitarchname=ppc-darwin, jitosname=DARWIN, jitcpuarch=ppc execcapable=1 perl=/Users/nick/Reference/5.8.4/bin/perl5.8.4-32 Compiler: cc='ccache gcc', ccflags='-pipe -fno-common -no-cpp-precomp -pipe -fno-common -Wno-long-double ', Linker and Libraries: ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags=' -flat_namespace ', cc_ldflags='', libs='-lm' Dynamic Linking: so='.dylib', ld_shared=' -bundle -undefined dynamic_lookup', ld_shared_flags='' Types: iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4, ptrsize=4, ptr_alignment=4 byteorder=4321, nv=double, numvalsize=8, doublesize=8 --- Environment: DYLD_LIBRARY_PATH HOME LANG LANGUAGE LD_LIBRARY_PATH LOGDIR PATH PERL5LIB SHELL
diff -pru parrot-clean/config/gen/makefiles/root.in parrot12/config/gen/makefiles/root.in --- parrot-clean/config/gen/makefiles/root.in Tue Jun 8 15:35:21 2004 +++ parrot12/config/gen/makefiles/root.in Thu Jun 10 09:11:14 2004 @@ -1167,12 +1167,8 @@ exec_so : $(SRC)/exec_start$(O) blib/lib ###### OS depend targets ########## # libnci.so used by t/pmc/nci.t -$(DYNEXT_DIR)/libnci.so: $(SRC)/nci_test.c - $(LD) $(LD_SHARED) $(LDFLAGS) \ - $(LD_OUT)$@ $(SRC)/nci_test.c - -$(DYNEXT_DIR)/libnci.dll: $(SRC)/nci_test.c - $(LD) $(LD_SHARED) -def:libnci.def $(LDFLAGS) \ +$(LIBNCI_SO): $(SRC)/nci_test.c + $(LD) $(LD_SHARED) ${ncilib_link_extra} $(LDFLAGS) \ $(LD_OUT)$@ $(SRC)/nci_test.c # vim ctags diff -pru parrot-clean/config/init/data.pl parrot12/config/init/data.pl --- parrot-clean/config/init/data.pl Mon Apr 26 08:28:05 2004 +++ parrot12/config/init/data.pl Thu Jun 10 09:30:59 2004 @@ -121,6 +121,8 @@ sub runstep { icu_make => '# Building of ICU disabled', buildicu => 0, + ncilib_link_extra => '', # Extra flags needed for libnci.so + ); # add profiling if needed # FIXME gcc syntax diff -pru parrot-clean/config/init/hints/mswin32.pl parrot12/config/init/hints/mswin32.pl --- parrot-clean/config/init/hints/mswin32.pl Mon May 3 09:21:38 2004 +++ parrot12/config/init/hints/mswin32.pl Thu Jun 10 09:07:52 2004 @@ -18,7 +18,8 @@ rm_f => '$(PERL) -MExtUtils::Command -e rm_f', rm_rf => '$(PERL) -MExtUtils::Command -e rm_rf', PQ => '"', - make_c=> '$(PERL) -e "chdir shift @ARGV; system \'$(MAKE)\', @ARGV; exit $$? >> 8;"' + make_c=> '$(PERL) -e "chdir shift @ARGV; system \'$(MAKE)\', @ARGV; exit $$? >> 8;"', + ncilib_link_extra => '-def:libnci.def', ); if( $is_msvc ) {