Building for both i386 and ppc on Intel Mac

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

 



On 28.01.2009, at 14:30, Benny Prijono wrote:
> On Tue, Jan 27, 2009 at 11:25 PM, Alexei Kuznetsov  
> <eofster at gmail.com> wrote:
> In order to build for ppc, I had to change one line in build/rules.mak
> from this
> $(RANLIB) $(LIB)
> to this
> $(RANLIB) -o $(LIB) $(OBJS)
>
> Without that after "make" I was getting this
> ranlib: file: ../lib/libpj-powerpc-apple-darwin9.a(pool_dbg.o) has  
> no symbols
> powerpc-apple-darwin9-ranlib ../lib/libpj-powerpc-apple-darwin9.a
> powerpc-apple-darwin9-ranlib: no output file specified (specify with  
> -o output)
> Usage: powerpc-apple-darwin9-ranlib -static [-] file [...] [-filelist
> listfile[,dirname]] [-arch_only arch] [-sacLT]
> Usage: powerpc-apple-darwin9-ranlib -dynamic [-] file [...] [-filelist
> listfile[,dirname]] [-arch_only arch] [-o output] [-install_name name]
> [-compatibility_version #] [-current_version #] [-seg1addr 0x#]
> [-segs_read_only_addr 0x#] [-segs_read_write_addr 0x#]
> [-seg_addr_table <filename>] [-seg_addr_table_filename
> <file_system_path>] [-all_load] [-noall_load]
> make[2]: *** [../lib/libpj-powerpc-apple-darwin9.a] Error 1
> make[1]: *** [pjlib] Error 2
> make: *** [all] Error 1
>
> Is that what you're asking?
>
>
> Yeah. That doesn't look like the usual ranlib to me, maybe it's a  
> symlink to something else. But anyway, it doesn't seem to matter  
> anymore.

You're right, that's a symlink. powerpc-apple-darwin9-ranlib -> ranlib  
was created by me, since the make wanted it. ranlib -> libtool is the  
native link in Mac OS X.

$ ll /usr/bin/ | grep ranlib
lrwxr-xr-x   1 root   wheel            6 20 Jan 16:48 powerpc-apple- 
darwin9-ranlib -> ranlib
lrwxr-xr-x   1 root   wheel            7 22 Nov 03:34 ranlib -> libtool

> Re: the missing separator error when doing "make dep", try to do  
> "make distclean" after configure. The build system has a habit of  
> leaving the .dep file in bad state if error occurs, and "make  
> distclean" should clean up these files.

Are you talking about this?

$ CFLAGS="-arch ppc -arch i386" ./configure
$ make dep
$ make
for dir in pjlib pjlib-util pjnath third_party pjmedia pjsip pjsip- 
apps; do \
		if make  -C $dir/build all; then \
		    true; \
		else \
		    exit 1; \
		fi; \
	done
make -f /Users/alexei/Development/pjproject-test2/build/rules.mak  
APP=PJLIB app=pjlib ../lib/libpj-i386-apple-darwin9.6.0.a
.pjlib-i386-apple-darwin9.6.0.depend:1: *** missing separator.  Stop.
make[1]: *** [pjlib] Error 2
make: *** [all] Error 1


I'm getting this error on the clean, newly fetched, source. But "make  
dep" output had a lot of these lines:
gcc-4.0: -E, -S, -save-temps and -M options are not allowed with  
multiple -arch flags

If I try to run "make distclean" after the steps above, I will get this:
[rm -rf, rm -rf, rm -rf]
make -f /Users/alexei/Development/pjproject-test2/build/rules.mak  
APP=RESAMPLE app=libresample realclean
.libresample-i386-apple-darwin9.6.0.depend:1: *** missing separator.   
Stop.
make[2]: *** [realclean] Error 2
make[1]: *** [distclean] Error 1
make: *** [distclean] Error 1

Alexei

> cheers
>  benny




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux