[reSIProcate] resiprocate-devel Digest, Vol 48, Issue 18
Mandeep Ahuja
ahuja at aksysnetworks.com
Wed Apr 30 16:10:37 CDT 2008
Hi,
I checked out the code again and ran it, and got over the white space.
So the white space issue is gone.
Still can't seem to resolve
[ahuja at canmore resiprocate]$ make
cd contrib/ares-build.Linux.mips && make
make[1]: Entering directory
`/home/ahuja/Desktop/resiprocate/contrib/ares-build.Linux.mips'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/home/ahuja/Desktop/resiprocate/contrib/ares-build.Linux.mips'
cd rutil; make
make[1]: Entering directory `/home/ahuja/Desktop/resiprocate/rutil'
/home/ahuja/aksys/tools/linux/bin/mips_fp_le-g++ -D_REENTRANT -Os
-fno-inline -fno-keep-static-consts -Wall -fPIC -I..
-I../build/../contrib/ares -DOS_MAJOR_VER=2 -DOS_MINOR_VER=4
-DOS_POINT_VER=22-1 -DOS_PATCH_VER=2115 -DUSE_ARES -c -o
obj.small.Linux.mips/DnsUtil.o DnsUtil.cxx
In file included from ../rutil/Socket.hxx:16,
from DnsUtil.cxx:18:
../rutil/TransportType.hxx:4: ostream: No such file or directory <---
This here is at /home/ahuja/aksys/tools/linux/target/usr/include/g++-3.
Can't locate it
make[1]: *** [obj.small.Linux.mips/DnsUtil.o] Error 1
make[1]: Leaving directory `/home/ahuja/Desktop/resiprocate/rutil'
make: *** [rutil] Error 2
Let me know when you have time so you can help me resolve this.
Thanks a ton
Mandeep
Adam Roach wrote:
> Hi. Sorry; I'm not ignoring you -- I've just run out of time for right
> now.
>
> The problems you're seeing are, indeed, because of the whitespaces. I
> don't know why those appear in your build -- I can't reproduce the
> problem here. The "WARNING" messages you're seeing are also due to the
> whitespaces. For historical reasons, autotools configure takes any
> parameters that are neither switches nor assignments and presumes that
> they specify all three of build, host, and target. This syntax is
> deprecated, and present only for compatibility. So, once you figure
> out how to eliminate the whitespaces, those warnings will go away.
>
> It will be several days (if not weeks) before I can take a serious
> look at this problem again. Sorry that we weren't able to get things
> working very easily.
>
> /a
>
> Mandeep Ahuja wrote:
>
>> Hey adam,
>> thanks for all your help. I am close. Except one problem
>> ../ares/configure --prefix=/usr/local --host=mips-linux CC=
>> /home/ahuja/aksys/tools/linux/bin/mips_fp_le-gcc CXX=
>> /home/ahuja/aksys/tools/linux/bin/mips_fp_le-g++
>> AR=/home/ahuja/aksys/tools/linux/bin/mips_fp_le-ar
>> RANLIB=/home/ahuja/aksys/tools/linux/bin/mips_fp_le-ranlib
>>
>> You see the white space in CC= /home and in CXX= /home, that is
>> causing trouble.
>>
>> Also, In this warning
>> configure: WARNING: you should use --build, --host, --target <-----
>> How do I setup the target?
>> configure: WARNING: invalid host type:
>> /home/ahuja/aksys/tools/linux/bin/mips_fp_le-gcc <-- I think this is
>> frm the white space
>>
>> I am using shared Libraries yes and distc yes
>>
>> thanks
>> Mandeep
>>
>>
>> Adam Roach wrote:
>>
>>> The attached patch allows you to set the name of the compiler prefix
>>> separate from the name of the platform. Apply this to your tree and
>>> verify that it works for you. If it appears to work (or, at least,
>>> makes the problem better), I'll go ahead and commit it to the main
>>> tree.
>>>
>>> /a
>>>
>>> On 4/28/08 3:22 PM, Mandeep Ahuja wrote:
>>>
>>>> Ok, I hope this will answer the question
>>>> Output of Ares config options:
>>>> --build=x86 --host=mips-linux
>>>> CC=/home/ahuja/aksys/tools/linux/bin/mips_fp_le-gcc
>>>> AR=/home/ahuja/aksys/tools/linux/bin/mips_fp_le-ar rcs
>>>> CFLAGS=-D__DEBUG__ -Dassert=ASSERT
>>>> -I/home/ahuja/aksys/phoneApp/shared -g -ggdb -O0
>>>> RANLIB=/home/ahuja/aksys/tools/linux/bin/mips_fp_le-ranlib
>>>>
>>>> Resip Config options are:
>>>> -C --build=x86 --host=mips-linux
>>>> CXX=/home/ahuja/aksys/tools/linux/bin/mips_fp_le-g++
>>>> CXXFLAGS=-D__DEBUG__ -Dassert=ASSERT
>>>> -I/home/ahuja/aksys/phoneApp/shared -g -ggdb -O0
>>>> --with-ares=/home/ahuja/aksys/phoneApp/libraries/dum/main/sip/contrib/
>>>> LDFLAGS=-L/home/ahuja/aksys/phoneApp/libraries/dum/main/sip/contrib/ares/mips
>>>>
>>>>
>>>> The above is from resiprocate's first version 0.99 I think. I am
>>>> trying to get the latest one running with the mips tools.
>>>>
>>>> Thanks for bearing with me Adam.
>>>>
>>>> Waiting....
>>>>
>>>> Adam Roach wrote:
>>>>
>>>>> On 4/28/08 2:00 PM, Mandeep Ahuja wrote:
>>>>>
>>>>>> Ok Let me get this right. Lets try where I dont have to use the
>>>>>> autotools
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> I think you misunderstand what I'm asking. Ares uses autotools, so
>>>>> we don't have any option here -- we need to be able to run
>>>>> ./configure for ares so that ares can be built. I've not worked
>>>>> with build environments in which the name of the compiler differed
>>>>> from the name of the platform. It's just not a problem I've ever
>>>>> encountered, so I don't know how to solve it. Apparently, you *do*
>>>>> know how to solve it, because it's the environment you're working in.
>>>>>
>>>>> So.
>>>>>
>>>>> I think I can fix the problem you're encountering if you can
>>>>> clearly, concisely, and accurately answer just one question: With
>>>>> your environment, what would you literally type in to the
>>>>> commandline to configure ares to build? (In your answer, include
>>>>> the output of the configure command so I know what I should expect
>>>>> to see).
>>>>>
>>>>> /a
>>>>>
>>>>>
>>>>>
>>>>>> (might see a problem again future)
>>>>>> --host=mips-linux
>>>>>> corss_compile = ~/tools/linux/bin/mips_fp_le-
>>>>>> the cross compiler is "mips_fp_le"
>>>>>> Also when i was trying to make 'rutil' it complained about not
>>>>>> finding 'ostream' which is in
>>>>>> ~/tools/linux/target/user/include/g++-3/ directory.
>>>>>>
>>>>>> I hope that can be of some help
>>>>>> Mandeep
>>>>>>
>>>>>> Adam Roach wrote:
>>>>>>
>>>>>>> I'll see if I can fix this fairly quickly -- what are the exact
>>>>>>> options that you would expect to pass to an autotools-generated
>>>>>>> ./configure script to set the compiler correctly? Is it simply
>>>>>>> "./configure --host=mips_fp_le"? I'll admit that my knowledge of
>>>>>>> autotools is a bit meager; but, as far as I know, the only way
>>>>>>> to trigger cross compilation with autotools is to pass it the
>>>>>>> name of the architecture with the "--host" flag -- and it does
>>>>>>> the same thing with it as the resip build system does: it
>>>>>>> prepends it to the names of the various gnu toolchain binaries,
>>>>>>> and tries it to see whether it works.
>>>>>>>
>>>>>>> In other words: I can split the target platform option into two
>>>>>>> different options (target platform and cross-compiler prefix) if
>>>>>>> that's what you need to suit your purposes, but I don't know
>>>>>>> enough about the autotools systems that I need to pass options
>>>>>>> into (such as ares) to know what to pass where and how.
>>>>>>>
>>>>>>> /a
>>>>>>>
>>>>>>> On 4/28/08 12:08 PM, Mandeep Ahuja wrote:
>>>>>>>
>>>>>>>> Thanks for the heads up Adam,
>>>>>>>> Here is the first problem
>>>>>>>> 1- The architecture-ostype (in my case mips-linux) does not
>>>>>>>> match with platform string in the name of my cross compiler
>>>>>>>> (mips_fp_le-gcc). I dont plan to change either of the names as
>>>>>>>> I have lot going on already. What can I do to get around?
>>>>>>>> Here is a little sample output
>>>>>>>> mkdir -p contrib/ares-build.Linux.mips
>>>>>>>> cd contrib/ares-build.Linux.mips && \
>>>>>>>> ../ares/configure --host=mips-linux
>>>>>>>> configure: WARNING: If you wanted to set the --build type,
>>>>>>>> don't use --host.
>>>>>>>> If a cross compiler is detected then cross compile mode will
>>>>>>>> be used.
>>>>>>>> Configuring ares 1.1.2
>>>>>>>> checking for a BSD-compatible install... /usr/bin/install -c
>>>>>>>> checking whether build environment is sane... yes
>>>>>>>> checking for gawk... gawk
>>>>>>>> checking whether make sets $(MAKE)... yes
>>>>>>>> checking for mips-linux-strip... no
>>>>>>>> checking for strip... strip
>>>>>>>> checking for mips-linux-gcc... no
>>>>>>>> checking for gcc... gcc
>>>>>>>> checking for C compiler default output file name... a.out
>>>>>>>> checking whether the C compiler works... yes
>>>>>>>> checking whether we are cross compiling... no
>>>>>>>> checking for suffix of executables...
>>>>>>>> checking for suffix of object files... o
>>>>>>>> checking whether we are using the GNU C compiler... yes
>>>>>>>> checking whether gcc accepts -g... yes
>>>>>>>> checking for gcc option to accept ANSI C... none needed
>>>>>>>> checking for style of include used by make... GNU
>>>>>>>> checking dependency style of gcc... gcc3
>>>>>>>> checking for a BSD-compatible install... /usr/bin/install -c
>>>>>>>> checking whether make sets $(MAKE)... (cached) yes
>>>>>>>> checking for mips-linux-ranlib... no
>>>>>>>> checking for ranlib... ranlib
>>>>>>>> checking build system type... i686-pc-linux-gnu
>>>>>>>> checking host system type... mips-unknown-linux-gnu
>>>>>>>>
>>>>>>>> Adam Roach wrote:
>>>>>>>>
>>>>>>>>> Mandeep Ahuja wrote:
>>>>>>>>>
>>>>>>>>>> I need the autotools scripts that you guys had earlier.
>>>>>>>>>> Remember the 'use_autotools.sh' and 'auto_gen.sh'. I can't
>>>>>>>>>> find them in the latest checkout. I think last time i checked
>>>>>>>>>> out was in 2004. If noone has it will the old one work with
>>>>>>>>>> the new revision. I am doing cross-compiling.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The autotools setup never really got completed (at least, not
>>>>>>>>> to everyone's satisfaction), and has been pulled out of the
>>>>>>>>> repository for a long time now. Even if you can find a copy, I
>>>>>>>>> do _not_ suggest you use it. It is highly doubtful that it
>>>>>>>>> will work with the current tree (which has been vigorously
>>>>>>>>> reorganized since the last time anyone tried autotools) -- at
>>>>>>>>> least, not without a lot of effort.
>>>>>>>>>
>>>>>>>>> You're not stuck, though. The current build system has pretty
>>>>>>>>> good support for cross compilation using the gnu toolchain.
>>>>>>>>> Run the configure script (in the root of the project tree);
>>>>>>>>> when it asks which toolchain you plan on using, answer
>>>>>>>>> "gnu-cross." It will then prompt you for the path to the cross
>>>>>>>>> compiler and the name of the platform formatted as
>>>>>>>>> architecture-ostype (e.g., "arm-linux"). This platform name
>>>>>>>>> must match the platform string in the name of your cross
>>>>>>>>> compiler. (i.e., if your cross compiler is called
>>>>>>>>> "arm-linux-gcc", then your platform is called "arm-linux").
>>>>>>>>>
>>>>>>>>> If you have any problems with the cross-compilation support in
>>>>>>>>> the existing build system, post here about it so we can try to
>>>>>>>>> make things work better.
>>>>>>>>>
>>>>>>>>> /a
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> Index: configure
>>> ===================================================================
>>> --- configure (revision 7651)
>>> +++ configure (working copy)
>>> @@ -25,6 +25,7 @@
>>> VOCAL_COMPILE_TYPE := debug
>>> VOCAL_CROSS_ROOT := /skiff/local/bin
>>> CROSS_PLATFORM := arm-linux
>>> +CROSS_TOOL_PREFIX := arm-linux
>>> BUILD_SHARED_LIBS := no
>>> USE_DISTCC := no
>>> USE_CCACHE := no
>>> @@ -85,6 +86,8 @@
>>> #
>>> # default - Value to use by default
>>> #
>>> +# evaldefault - Flag: if set, default is evaluated as perl statement
>>> +#
>>> # validate - Optional array of allowed values
>>> #
>>> # predicate - Optional logical test; if false, the user
>>> @@ -126,6 +129,14 @@
>>> option => 'with-cross-platform',
>>> },
>>> {
>>> + name => "CROSS_TOOL_PREFIX",
>>> + description => "What is the prefix for the cross-compiler
>>> binaries?",
>>> + default => "\$config{CROSS_PLATFORM}",
>>> + evaldefault => 1,
>>> + predicate => "\$config{VOCAL_TOOLCHAIN_TYPE} =~ /cross/",
>>> + option => 'with-cross-tool-prefix',
>>> + },
>>> + {
>>> name => "BUILD_SHARED_LIBS",
>>> description => "Should the resip libraries be built shared?",
>>> default => "no",
>>> @@ -281,7 +292,14 @@
>>> {
>>> if (!exists($config{$parameter->{name}}))
>>> {
>>> - $config{$parameter->{name}} = $parameter->{default};
>>> + if ($parameter->{evaldefault})
>>> + {
>>> + $config{$parameter->{name}} = eval($parameter->{default});
>>> + }
>>> + else
>>> + {
>>> + $config{$parameter->{name}} = $parameter->{default};
>>> + }
>>> }
>>>
>>> if (exists($parameter->{predicate}) &&
>>> !eval($parameter->{predicate}))
>>> Index: build/Makefile.all
>>> ===================================================================
>>> --- build/Makefile.all (revision 7651)
>>> +++ build/Makefile.all (working copy)
>>> @@ -86,7 +86,10 @@
>>> ifeq ($(VOCAL_TOOLCHAIN_TYPE),gnu-cross)
>>> ARCH := $(shell echo '$(CROSS_PLATFORM)' | sed 's/-.*//')
>>> OSTYPE := $(shell echo '$(CROSS_PLATFORM)' | cut -f3- -d-)
>>> +ifndef OSTYPE
>>> +OSTYPE := $(shell echo '$(CROSS_PLATFORM)' | cut -f2- -d-)
>>> endif
>>> +endif
>>>
>>> # Detect and normalize the OSTYPE
>>> ifndef OSTYPE
>>> Index: build/Makefile.tools
>>> ===================================================================
>>> --- build/Makefile.tools (revision 7651)
>>> +++ build/Makefile.tools (working copy)
>>> @@ -96,13 +96,16 @@
>>> ifndef CROSS_PLATFORM
>>> CROSS_PLATFORM = arm-linux
>>> endif
>>> +ifndef CROSS_TOOL_PREFIX
>>> +CROSS_TOOL_PREFIX = arm-linux
>>> +endif
>>>
>>> -CC := $(VOCAL_CROSS_ROOT)/$(CROSS_PLATFORM)-gcc
>>> -CXX := $(VOCAL_CROSS_ROOT)/$(CROSS_PLATFORM)-g++
>>> +CC := $(VOCAL_CROSS_ROOT)/$(CROSS_TOOL_PREFIX)-gcc
>>> +CXX := $(VOCAL_CROSS_ROOT)/$(CROSS_TOOL_PREFIX)-g++
>>> MKSHLIB := $(CC) -fPIC -shared DEP := $(CXX)
>>> LINKER := $(CXX) -AR :=
>>> $(VOCAL_CROSS_ROOT)/$(CROSS_PLATFORM)-ar
>>> +AR := $(VOCAL_CROSS_ROOT)/$(CROSS_TOOL_PREFIX)-ar
>>> ARFLAGS = rv
>>> DFLAGS = -MM
>>> DMANGLE =
>>> @@ -115,10 +118,16 @@
>>> LD_STATIC = -Wl,-Bstatic
>>> LD_DYNAMIC = -Wl,-Bdynamic
>>> ARCH = arm
>>> -CONFIGURE_ARGS += --host=$(CROSS_PLATFORM)
>>> DFLAG_INTEGRATED = -MMD
>>> -RANLIB = $(VOCAL_CROSS_ROOT)/$(CROSS_PLATFORM)-ranlib
>>> +RANLIB = $(VOCAL_CROSS_ROOT)/$(CROSS_TOOL_PREFIX)-ranlib
>>>
>>> +# Pass the relevant parameters down to autotools configure scripts
>>> +CONFIGURE_ARGS += --host=$(CROSS_PLATFORM)
>>> +CONFIGURE_ARGS += CC=$(CC)
>>> +CONFIGURE_ARGS += CXX=$(CXX)
>>> +CONFIGURE_ARGS += AR=$(AR)
>>> +CONFIGURE_ARGS += RANLIB=$(RANLIB)
>>> +
>>> Z = $(shell $(CC) -v 2>&1 | perl -ne 'if(/version ([0-9\.]+)/ &&
>>> ($$1 eq "2.96" || int($$1) > 2) ) {print "1\n";}')
>>> ifneq ($(Z),1)
>>> MAKE_SEPARATE_DEPENDENCY = 1
>>> @@ -134,13 +143,16 @@
>>> ifndef CROSS_PLATFORM
>>> CROSS_PLATFORM = arm-unknown-linux-gnu
>>> endif
>>> +ifndef CROSS_TOOL_PREFIX
>>> +CROSS_TOOL_PREFIX = arm-unknown-linux-gnu
>>> +endif
>>>
>>> -CC := $(VOCAL_CROSS_ROOT)/$(CROSS_PLATFORM)-gcc
>>> -CXX := $(VOCAL_CROSS_ROOT)/$(CROSS_PLATFORM)-g++
>>> +CC := $(VOCAL_CROSS_ROOT)/$(CROSS_TOOL_PREFIX)-gcc
>>> +CXX := $(VOCAL_CROSS_ROOT)/$(CROSS_TOOL_PREFIX)-g++
>>> MKSHLIB := $(CC) -fPIC -shared DEP := $(CXX)
>>> LINKER := $(CXX) -AR :=
>>> $(VOCAL_CROSS_ROOT)/$(CROSS_PLATFORM)-ar
>>> +AR := $(VOCAL_CROSS_ROOT)/$(CROSS_TOOL_PREFIX)-ar
>>> ARFLAGS = rv
>>> DFLAGS = -MM
>>> DMANGLE =
>>> @@ -152,10 +164,18 @@
>>> COMPILE_SMALL_FLAG = -Os -fno-inline -fno-keep-static-consts
>>> LD_STATIC = -Wl,-Bstatic
>>> LD_DYNAMIC = -Wl,-Bdynamic
>>> -CONFIGURE_ARGS += --host=$(CROSS_PLATFORM)
>>> DFLAG_INTEGRATED = -MMD
>>> -RANLIB = $(VOCAL_CROSS_ROOT)/$(CROSS_PLATFORM)-ranlib
>>> +RANLIB = $(VOCAL_CROSS_ROOT)/$(CROSS_TOOL_PREFIX)-ranlib
>>>
>>> +# Pass the relevant parameters down to autotools configure scripts
>>> +CONFIGURE_ARGS += --host=$(CROSS_PLATFORM)
>>> +CONFIGURE_ARGS += CC=$(CC)
>>> +CONFIGURE_ARGS += CXX=$(CXX)
>>> +CONFIGURE_ARGS += AR=$(AR)
>>> +CONFIGURE_ARGS += RANLIB=$(RANLIB)
>>> +
>>> +export CROSS_COMPILE=$(VOCAL_CROSS_ROOT)/$(CROSS_TOOL_PREFIX)-
>>> +
>>> Z = $(shell $(CC) -v 2>&1 | perl -ne 'if(/version ([0-9\.]+)/ &&
>>> ($$1 eq "2.96" || int($$1) > 2) ) {print "1\n";}')
>>> ifneq ($(Z),1)
>>> MAKE_SEPARATE_DEPENDENCY = 1
>>>
>>>
>>
>
>
More information about the resiprocate-devel
mailing list