Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Gentoo: Embedded

make only builds X86_64 code

 

 

Gentoo embedded RSS feed   Index | Next | Previous | View Threaded


steve at toth

Jun 15, 2009, 11:46 AM

Post #1 of 19 (3199 views)
Permalink
make only builds X86_64 code

Hi.

This is better than make only builds arm code, then my system would be
suffering a guru meditation error of some kind.

./configure runs happily and takes the arguments set to tell the system
to cross compile but all I get is X86_64 binaries.

I've rebuilding crossdev, crossdev-wrappers, the
armv5tel-softfloat-linux-gnueabi environment and cleaning out everything
that I remember touching in relation to this.

Does anyone know what I can do to fix this?


--
Thanks.

Stephen.
Attachments: smime.p7s (3.24 KB)


odinshorse at googlemail

Jun 16, 2009, 12:19 AM

Post #2 of 19 (3133 views)
Permalink
Re: make only builds X86_64 code [In reply to]

2009/6/15 Stephen Feyrer <steve [at] toth>:
> ./configure runs happily and takes the arguments set to tell the system
> to cross compile but all I get is X86_64 binaries.

Either the package you are building has a bug in the build system and
calls gcc instead of $CC or your cross-compiler is screwed up. You can
test the compile doing the following:

cd /tmp && echo "int main(void) { return 0; }" >> test.c &&
armv5tel-softfloat-linux-gnueabi-gcc -o test test.c && file test

Check if the file that is built by the compiler is an arm binary. If
this is the case, check if

emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps <package>

works. If this does not work, try to dig into the autoconf/automake
code of the package and find the point where the wrong compiler is
used (you should probably see this in the build.log).

Best regards and good luck! ;-)

Sven


steve at toth

Jun 16, 2009, 12:18 PM

Post #3 of 19 (3127 views)
Permalink
Re: make only builds X86_64 code [In reply to]

Hi.

Both your tests below worked okay.

./configure --prefix /opt --target=armv5tel-softfloat-linux-gnueabi
--host=armv5tel-softfloat-linux-gnueabi --build=x86_64-pc-linux-gnu

Now runs to the point of:

checking pkg-config is at least version 0.9.0... no
checking for SSL... configure: error: in
`/root/dovecot/dovecot-1-2-6c0fb914e03e':
configure: error: The pkg-config script could not be found or is too
old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

A reboot and rebuild must have cleared out some stored values. I now
have the original error back. I thought I'd broken autoconf/automake :(

It's good to know that you can screw things up and still roll everything
back to how you had it.

http://dev.gentoo.org/~vapier/eh/index.xml?part=1&chap=5

This guide talks about a pkg-config wrapper and setting some
environmental variables. Specifically putting the wrapper in the PATH .
I don't know which path variable is pertinent. It also talks about an
emerge wrapper but doesn't say where to put that either.


This http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=5

talks about putting things in your PATH. env-update didn't like my
attempt to put cross-pkg-config in the PATH.


--
Thanks.

Stephen


Sven Rebhan wrote:
> 2009/6/15 Stephen Feyrer <steve [at] toth>:
>> ./configure runs happily and takes the arguments set to tell the system
>> to cross compile but all I get is X86_64 binaries.
>
> Either the package you are building has a bug in the build system and
> calls gcc instead of $CC or your cross-compiler is screwed up. You can
> test the compile doing the following:
>
> cd /tmp && echo "int main(void) { return 0; }" >> test.c &&
> armv5tel-softfloat-linux-gnueabi-gcc -o test test.c && file test
>
> Check if the file that is built by the compiler is an arm binary. If
> this is the case, check if
>
> emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps <package>
>
> works. If this does not work, try to dig into the autoconf/automake
> code of the package and find the point where the wrong compiler is
> used (you should probably see this in the build.log).
>
> Best regards and good luck! ;-)
>
> Sven
Attachments: smime.p7s (3.24 KB)


odinshorse at googlemail

Jun 16, 2009, 12:33 PM

Post #4 of 19 (3128 views)
Permalink
Re: make only builds X86_64 code [In reply to]

2009/6/16 Stephen Feyrer <steve [at] toth>:
> Hi.
>
> Both your tests below worked okay.
>
> ./configure --prefix /opt --target=armv5tel-softfloat-linux-gnueabi
> --host=armv5tel-softfloat-linux-gnueabi --build=x86_64-pc-linux-gnu
>
> Now runs to the point of:
>
> checking pkg-config is at least version 0.9.0... no
> checking for SSL... configure: error: in
> `/root/dovecot/dovecot-1-2-6c0fb914e03e':
> configure: error: The pkg-config script could not be found or is too
> old.  Make sure it
> is in your PATH or set the PKG_CONFIG environment variable to the full
> path to pkg-config.

Yes you can do all this by hand. However I would suggest to try

emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps dovecot

A up-to-date guide on how to setup the stuff can be found here:

http://gentoo.mindzoo.de/index.cgi/wiki/cross-compiling (see steps 6, 7 and 9)

> http://dev.gentoo.org/~vapier/eh/index.xml?part=1&chap=5
> This http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=5

This is really old and not up-to-date anymore!

Does the emerge line above work for you?

Sven


steve at toth

Jun 16, 2009, 1:24 PM

Post #5 of 19 (3129 views)
Permalink
Re: make only builds X86_64 code [In reply to]

Sven Rebhan wrote:
> 2009/6/16 Stephen Feyrer <steve [at] toth>:
>> Hi.
>>
>> Both your tests below worked okay.
>>
>> ./configure --prefix /opt --target=armv5tel-softfloat-linux-gnueabi
>> --host=armv5tel-softfloat-linux-gnueabi --build=x86_64-pc-linux-gnu
>>
>> Now runs to the point of:
>>
>> checking pkg-config is at least version 0.9.0... no
>> checking for SSL... configure: error: in
>> `/root/dovecot/dovecot-1-2-6c0fb914e03e':
>> configure: error: The pkg-config script could not be found or is too
>> old. Make sure it
>> is in your PATH or set the PKG_CONFIG environment variable to the full
>> path to pkg-config.
>
> Yes you can do all this by hand. However I would suggest to try
>
> emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps dovecot
>
> A up-to-date guide on how to setup the stuff can be found here:
>
> http://gentoo.mindzoo.de/index.cgi/wiki/cross-compiling (see steps 6, 7 and 9)
>
>> http://dev.gentoo.org/~vapier/eh/index.xml?part=1&chap=5
>> This http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=5
>
> This is really old and not up-to-date anymore!
>
> Does the emerge line above work for you?
>
> Sven
>
>
>

echo ">=net-mail/dovecot-1.1.16" >>
/usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.unmask
echo ">=net-mail/dovecot-1.1.16" >>
/usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords

emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps -p dovecot

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "net-mail/dovecot" have been masked.
!!! One of the following masked packages is required to complete your
request:
- net-mail/dovecot-1.1.16 (masked by: missing keyword)
- net-mail/dovecot-1.1.7-r1 (masked by: missing keyword)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.


Emerge would be easier but I need this version or newer of dovecot and
second the ebuild doesn't list ARM as a platform that it can build for
so unmasking and using keywords doesn't help.

I should point out that scratchbox can build this version of dovecot but
it doesn't architecture that scratchbox supports isn't compatible with
with my target, so I know it can be done. And I don't intend to stop
here either today dovecot tomorrow I build the WORLD! (exim, also not
available in portage for ARM).


I don't want you to think that I am arrogant, stubborn and single
minded, I am but that is not the point.
Attachments: smime.p7s (3.24 KB)


solar at gentoo

Jun 16, 2009, 1:51 PM

Post #6 of 19 (3117 views)
Permalink
Re: make only builds X86_64 code [In reply to]

On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
> Sven Rebhan wrote:
> > 2009/6/16 Stephen Feyrer <steve [at] toth>:
> >> Hi.
> >>
> >> Both your tests below worked okay.
> >>
> >> ./configure --prefix /opt --target=armv5tel-softfloat-linux-gnueabi
> >> --host=armv5tel-softfloat-linux-gnueabi --build=x86_64-pc-linux-gnu
> >>
> >> Now runs to the point of:
> >>
> >> checking pkg-config is at least version 0.9.0... no
> >> checking for SSL... configure: error: in
> >> `/root/dovecot/dovecot-1-2-6c0fb914e03e':
> >> configure: error: The pkg-config script could not be found or is too
> >> old. Make sure it
> >> is in your PATH or set the PKG_CONFIG environment variable to the full
> >> path to pkg-config.
> >
> > Yes you can do all this by hand. However I would suggest to try
> >
> > emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps dovecot
> >
> > A up-to-date guide on how to setup the stuff can be found here:
> >
> > http://gentoo.mindzoo.de/index.cgi/wiki/cross-compiling (see steps 6, 7 and 9)
> >
> >> http://dev.gentoo.org/~vapier/eh/index.xml?part=1&chap=5
> >> This http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=5
> >
> > This is really old and not up-to-date anymore!
> >
> > Does the emerge line above work for you?
> >
> > Sven
> >
> >
> >
>
> echo ">=net-mail/dovecot-1.1.16" >>
> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.unmask
> echo ">=net-mail/dovecot-1.1.16" >>
> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
>
> emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps -p dovecot
>
> These are the packages that would be merged, in order:
>
> Calculating dependencies... done!
>
> !!! All ebuilds that could satisfy "net-mail/dovecot" have been masked.
> !!! One of the following masked packages is required to complete your
> request:
> - net-mail/dovecot-1.1.16 (masked by: missing keyword)
> - net-mail/dovecot-1.1.7-r1 (masked by: missing keyword)


I pointed this out to you in the last thread you started about dovecot.
Everything still applies.


--
Ned Ludd <solar [at] gentoo>
Gentoo Linux


steve at toth

Jun 16, 2009, 3:00 PM

Post #7 of 19 (3128 views)
Permalink
Re: make only builds X86_64 code [In reply to]

Ned Ludd wrote:
> On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
>> Sven Rebhan wrote:
>>> 2009/6/16 Stephen Feyrer <steve [at] toth>:
>>>> Hi.
>>>>
>>>> Both your tests below worked okay.
>>>>
>>>> ./configure --prefix /opt --target=armv5tel-softfloat-linux-gnueabi
>>>> --host=armv5tel-softfloat-linux-gnueabi --build=x86_64-pc-linux-gnu
>>>>
>>>> Now runs to the point of:
>>>>
>>>> checking pkg-config is at least version 0.9.0... no
>>>> checking for SSL... configure: error: in
>>>> `/root/dovecot/dovecot-1-2-6c0fb914e03e':
>>>> configure: error: The pkg-config script could not be found or is too
>>>> old. Make sure it
>>>> is in your PATH or set the PKG_CONFIG environment variable to the full
>>>> path to pkg-config.
>>> Yes you can do all this by hand. However I would suggest to try
>>>
>>> emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps dovecot
>>>
>>> A up-to-date guide on how to setup the stuff can be found here:
>>>
>>> http://gentoo.mindzoo.de/index.cgi/wiki/cross-compiling (see steps 6, 7 and 9)
>>>
>>>> http://dev.gentoo.org/~vapier/eh/index.xml?part=1&chap=5
>>>> This http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=5
>>> This is really old and not up-to-date anymore!
>>>
>>> Does the emerge line above work for you?
>>>
>>> Sven
>>>
>>>
>>>
>> echo ">=net-mail/dovecot-1.1.16" >>
>> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.unmask
>> echo ">=net-mail/dovecot-1.1.16" >>
>> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
>>
>> emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps -p dovecot
>>
>> These are the packages that would be merged, in order:
>>
>> Calculating dependencies... done!
>>
>> !!! All ebuilds that could satisfy "net-mail/dovecot" have been masked.
>> !!! One of the following masked packages is required to complete your
>> request:
>> - net-mail/dovecot-1.1.16 (masked by: missing keyword)
>> - net-mail/dovecot-1.1.7-r1 (masked by: missing keyword)
>
>
> I pointed this out to you in the last thread you started about dovecot.
> Everything still applies.

Hi Ned.

I am still using the values that you provided.

I did something yesterday to screw up autoconf which is why I started a
new thread.

At the time I thought I had a new problem which was not related to
./configure (since as it then appeared ./configure was playing nicely)
this it turns out was because of what ever it was that I'd screwed up.


As per your instructions I get:

armv5tel-softfloat-linux-gnueabi-emerge --root-deps=rdeps -v1 "$@dovecot"

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "net-mail/dovecot" have been masked.
!!! One of the following masked packages is required to complete your
request:
- net-mail/dovecot-1.1.16 (masked by: missing keyword)
- net-mail/dovecot-1.1.7-r1 (masked by: missing keyword)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

Tomorrow I will change overlay to Openmoko, I'll see what happens then.
Attachments: smime.p7s (3.24 KB)


solar at gentoo

Jun 16, 2009, 3:22 PM

Post #8 of 19 (3125 views)
Permalink
Re: make only builds X86_64 code [In reply to]

On Tue, 2009-06-16 at 23:00 +0100, Stephen Feyrer wrote:
> Ned Ludd wrote:
> > On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
> >> Sven Rebhan wrote:
> >>> 2009/6/16 Stephen Feyrer <steve [at] toth>:
> >>>> Hi.
> >>>>
> >>>> Both your tests below worked okay.
> >>>>
> >>>> ./configure --prefix /opt --target=armv5tel-softfloat-linux-gnueabi
> >>>> --host=armv5tel-softfloat-linux-gnueabi --build=x86_64-pc-linux-gnu
> >>>>
> >>>> Now runs to the point of:
> >>>>
> >>>> checking pkg-config is at least version 0.9.0... no
> >>>> checking for SSL... configure: error: in
> >>>> `/root/dovecot/dovecot-1-2-6c0fb914e03e':
> >>>> configure: error: The pkg-config script could not be found or is too
> >>>> old. Make sure it
> >>>> is in your PATH or set the PKG_CONFIG environment variable to the full
> >>>> path to pkg-config.
> >>> Yes you can do all this by hand. However I would suggest to try
> >>>
> >>> emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps dovecot
> >>>
> >>> A up-to-date guide on how to setup the stuff can be found here:
> >>>
> >>> http://gentoo.mindzoo.de/index.cgi/wiki/cross-compiling (see steps 6, 7 and 9)
> >>>
> >>>> http://dev.gentoo.org/~vapier/eh/index.xml?part=1&chap=5
> >>>> This http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=5
> >>> This is really old and not up-to-date anymore!
> >>>
> >>> Does the emerge line above work for you?
> >>>
> >>> Sven
> >>>
> >>>
> >>>
> >> echo ">=net-mail/dovecot-1.1.16" >>
> >> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.unmask
> >> echo ">=net-mail/dovecot-1.1.16" >>
> >> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
> >>
> >> emerge-armv5tel-softfloat-linux-gnueabi --root-deps=rdeps -p dovecot
> >>
> >> These are the packages that would be merged, in order:
> >>
> >> Calculating dependencies... done!
> >>
> >> !!! All ebuilds that could satisfy "net-mail/dovecot" have been masked.
> >> !!! One of the following masked packages is required to complete your
> >> request:
> >> - net-mail/dovecot-1.1.16 (masked by: missing keyword)
> >> - net-mail/dovecot-1.1.7-r1 (masked by: missing keyword)
> >
> >
> > I pointed this out to you in the last thread you started about dovecot.
> > Everything still applies.
>
> Hi Ned.
>
> I am still using the values that you provided.
>
> I did something yesterday to screw up autoconf which is why I started a
> new thread.
>
> At the time I thought I had a new problem which was not related to
> ./configure (since as it then appeared ./configure was playing nicely)
> this it turns out was because of what ever it was that I'd screwed up.
>
>
> As per your instructions I get:
>
> armv5tel-softfloat-linux-gnueabi-emerge --root-deps=rdeps -v1 "$@dovecot"
>
> These are the packages that would be merged, in order:
>
> Calculating dependencies... done!
>
> !!! All ebuilds that could satisfy "net-mail/dovecot" have been masked.
> !!! One of the following masked packages is required to complete your
> request:
> - net-mail/dovecot-1.1.16 (masked by: missing keyword)
> - net-mail/dovecot-1.1.7-r1 (masked by: missing keyword)

> Tomorrow I will change overlay to Openmoko, I'll see what happens then.


You seem to be ignoring the line which had the accepted keywords in it.
Please look at the mail more carefully.

Good luck.

--
Ned Ludd <solar [at] gentoo>
Gentoo Linux


b33fc0d3 at gentoo

Jun 17, 2009, 12:16 AM

Post #9 of 19 (3127 views)
Permalink
Re: make only builds X86_64 code [In reply to]

On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
[snip]
> echo ">=net-mail/dovecot-1.1.16" >>
> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
[snip]

The above entry in package.keywords is invalid/in-complete. Please have
a look at 'man portage'.

--
Ahmed Ammar <b33fc0d3 [at] gentoo>
Gentoo Linux


steve at toth

Jun 17, 2009, 6:41 AM

Post #10 of 19 (3133 views)
Permalink
Re: make only builds X86_64 code [In reply to]

Ahmed Ammar wrote:
> On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
> [snip]
>> echo ">=net-mail/dovecot-1.1.16" >>
>> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
> [snip]
>
> The above entry in package.keywords is invalid/in-complete. Please have
> a look at 'man portage'.
>

package.keywords

net-mail/dovecot-1.1.16.ebuild:KEYWORDS="** ~ARM"

ACCEPT_KEYWORDS="arm ~arm ~amd"

Still produce the masked result.

Thanks.
Attachments: smime.p7s (3.24 KB)


steve at toth

Jun 17, 2009, 2:05 PM

Post #11 of 19 (3127 views)
Permalink
Re: make only builds X86_64 code [In reply to]

Stephen Feyrer wrote:
> Ahmed Ammar wrote:
>> On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
>> [snip]
>>> echo ">=net-mail/dovecot-1.1.16" >>
>>> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
>> [snip]
>>
>> The above entry in package.keywords is invalid/in-complete. Please have
>> a look at 'man portage'.
>>
>
> package.keywords
>
> net-mail/dovecot-1.1.16.ebuild:KEYWORDS="** ~ARM"
>
> ACCEPT_KEYWORDS="arm ~arm ~amd"
>
> Still produce the masked result.
>
> Thanks.

I have followed the instructions to install the Openmoko overlay. This
now means ./configure runs all the way through without interuption or
the need for cached values. I believe this is what is causing the
X86_64 make operation.

What I really want to do is look at each of the cached values which I
previously passed to ./configure and learn why they were a problem and
fix that problem rather using a clever way of ignoring it. I just don't
know where to start.

Plus, now I need to know what setting up the Openmoko overlay has done
to cause this X86_64 build issue.

This all for tomorrow at the earliest... :(


--
Regards

Stephen.
Attachments: smime.p7s (3.24 KB)


solar at gentoo

Jun 17, 2009, 3:08 PM

Post #12 of 19 (3117 views)
Permalink
Re: make only builds X86_64 code [In reply to]

On Wed, 2009-06-17 at 22:05 +0100, Stephen Feyrer wrote:
> Stephen Feyrer wrote:
> > Ahmed Ammar wrote:
> >> On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
> >> [snip]
> >>> echo ">=net-mail/dovecot-1.1.16" >>
> >>> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
> >> [snip]
> >>
> >> The above entry in package.keywords is invalid/in-complete. Please have
> >> a look at 'man portage'.
> >>
> >
> > package.keywords
> >
> > net-mail/dovecot-1.1.16.ebuild:KEYWORDS="** ~ARM"
> >
> > ACCEPT_KEYWORDS="arm ~arm ~amd"
> >
> > Still produce the masked result.
> >
> > Thanks.
>
> I have followed the instructions to install the Openmoko overlay. This
> now means ./configure runs all the way through without interuption or
> the need for cached values. I believe this is what is causing the
> X86_64 make operation.
>
> What I really want to do is look at each of the cached values which I
> previously passed to ./configure and learn why they were a problem and
> fix that problem rather using a clever way of ignoring it. I just don't
> know where to start.
>
> Plus, now I need to know what setting up the Openmoko overlay has done
> to cause this X86_64 build issue.
>
> This all for tomorrow at the earliest... :(


Just want to point out to you that you are still not using the correct
keywords. ~amd alone is not a valid keyword value while ~amd64 is..





--
Ned Ludd <solar [at] gentoo>
Gentoo Linux


steve at toth

Jun 18, 2009, 8:05 AM

Post #13 of 19 (3122 views)
Permalink
Re: make only builds X86_64 code [In reply to]

Ned Ludd wrote:
> On Wed, 2009-06-17 at 22:05 +0100, Stephen Feyrer wrote:
>> Stephen Feyrer wrote:
>>> Ahmed Ammar wrote:
>>>> On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
>>>> [snip]
>>>>> echo ">=net-mail/dovecot-1.1.16" >>
>>>>> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
>>>> [snip]
>>>>
>>>> The above entry in package.keywords is invalid/in-complete. Please have
>>>> a look at 'man portage'.
>>>>
>>> package.keywords
>>>
>>> net-mail/dovecot-1.1.16.ebuild:KEYWORDS="** ~ARM"
>>>
>>> ACCEPT_KEYWORDS="arm ~arm ~amd"
>>>
>>> Still produce the masked result.
>>>
>>> Thanks.
>> I have followed the instructions to install the Openmoko overlay. This
>> now means ./configure runs all the way through without interuption or
>> the need for cached values. I believe this is what is causing the
>> X86_64 make operation.
>>
>> What I really want to do is look at each of the cached values which I
>> previously passed to ./configure and learn why they were a problem and
>> fix that problem rather using a clever way of ignoring it. I just don't
>> know where to start.
>>
>> Plus, now I need to know what setting up the Openmoko overlay has done
>> to cause this X86_64 build issue.
>>
>> This all for tomorrow at the earliest... :(
>
>
> Just want to point out to you that you are still not using the correct
> keywords. ~amd alone is not a valid keyword value while ~amd64 is..
>
>
>
>
>
Sorry, that didn't change anything either.
Attachments: smime.p7s (3.24 KB)


odinshorse at googlemail

Jun 18, 2009, 9:34 AM

Post #14 of 19 (3116 views)
Permalink
Re: make only builds X86_64 code [In reply to]

2009/6/17 Stephen Feyrer <steve [at] toth>:
> I have followed the instructions to install the Openmoko overlay.  This
> now means ./configure runs all the way through without interuption or
> the need for cached values.  I believe this is what is causing the
> X86_64 make operation.

So you say you still get a x86_64 (i.e. HOST) binary? If this is true
and you can compile other packages like openrc correctly with your
cross-compile toolchain (including crossdev-wrappers) there seems to
be a bug in dovecote's build system. The easierst thing is to scan the
build.log to find where the host compile i.e. x86_64-pc-linux-gnu-gcc
or gcc is used. Then try to identify how this lines are generated by
the autoconf tools.

> What I really want to do is look at each of the cached values which I
> previously passed to ./configure and learn why they were a problem and
> fix that problem rather using a clever way of ignoring it.  I just don't
> know where to start.

It is unlikely that the cache values cause the problem.

Sven


steve at toth

Jun 18, 2009, 2:18 PM

Post #15 of 19 (3118 views)
Permalink
Re: make only builds X86_64 code [In reply to]

Sven Rebhan wrote:
> 2009/6/17 Stephen Feyrer <steve [at] toth>:
>> I have followed the instructions to install the Openmoko overlay. This
>> now means ./configure runs all the way through without interuption or
>> the need for cached values. I believe this is what is causing the
>> X86_64 make operation.
>
> So you say you still get a x86_64 (i.e. HOST) binary? If this is true
> and you can compile other packages like openrc correctly with your
> cross-compile toolchain (including crossdev-wrappers) there seems to
> be a bug in dovecote's build system. The easierst thing is to scan the
> build.log to find where the host compile i.e. x86_64-pc-linux-gnu-gcc
> or gcc is used. Then try to identify how this lines are generated by
> the autoconf tools.
>
>> What I really want to do is look at each of the cached values which I
>> previously passed to ./configure and learn why they were a problem and
>> fix that problem rather using a clever way of ignoring it. I just don't
>> know where to start.
>
> It is unlikely that the cache values cause the problem.
>
> Sven



Thanks I'll look into that.


Compiling Exim may turn out to be easier but not straight forward.
Attachments: smime.p7s (3.24 KB)


b33fc0d3 at gentoo

Jun 22, 2009, 8:19 AM

Post #16 of 19 (3115 views)
Permalink
Re: make only builds X86_64 code [In reply to]

On Wed, 2009-06-17 at 14:41 +0100, Stephen Feyrer wrote:
> Ahmed Ammar wrote:
> > On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
> > [snip]
> >> echo ">=net-mail/dovecot-1.1.16" >>
> >> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
> > [snip]
> >
> > The above entry in package.keywords is invalid/in-complete. Please have
> > a look at 'man portage'.
> >
>
> package.keywords
>
> net-mail/dovecot-1.1.16.ebuild:KEYWORDS="** ~ARM"
>
> ACCEPT_KEYWORDS="arm ~arm ~amd"

I guess I have to spell it out. I am assuming that you are using
crossdev-wrappers and have run emerge-wrapper --init.

/usr/${CHOST}/etc/portage/package.keywords should read:

net-mail/dovecot **

OR

=net-mail/dovecot-1.1.16 **

and then you should be issuing the command:

# emerge-${CHOST} dovecot

If you are still getting invalid final binaries then as stated
previously by others the cross build system for this package is broken
and needs a fix; it's usually something as simple as a hard-coded call
to gcc or g++ instead of using the env. variables ${CC} ${CXX}.

--
Ahmed Ammar <b33fc0d3 [at] gentoo>
Gentoo Linux


steve at toth

Jun 22, 2009, 2:10 PM

Post #17 of 19 (3223 views)
Permalink
Re: make only builds X86_64 code [In reply to]

Ahmed Ammar wrote:
> On Wed, 2009-06-17 at 14:41 +0100, Stephen Feyrer wrote:
>> Ahmed Ammar wrote:
>>> On Tue, 2009-06-16 at 21:24 +0100, Stephen Feyrer wrote:
>>> [snip]
>>>> echo ">=net-mail/dovecot-1.1.16" >>
>>>> /usr/armv5tel-softfloat-linux-gnueabi/etc/portage/package.keywords
>>> [snip]
>>>
>>> The above entry in package.keywords is invalid/in-complete. Please have
>>> a look at 'man portage'.
>>>
>> package.keywords
>>
>> net-mail/dovecot-1.1.16.ebuild:KEYWORDS="** ~ARM"
>>
>> ACCEPT_KEYWORDS="arm ~arm ~amd"
>
> I guess I have to spell it out. I am assuming that you are using
> crossdev-wrappers and have run emerge-wrapper --init.
>
> /usr/${CHOST}/etc/portage/package.keywords should read:
>
> net-mail/dovecot **
>
> OR
>
> =net-mail/dovecot-1.1.16 **
>
> and then you should be issuing the command:
>
> # emerge-${CHOST} dovecot
>
> If you are still getting invalid final binaries then as stated
> previously by others the cross build system for this package is broken
> and needs a fix; it's usually something as simple as a hard-coded call
> to gcc or g++ instead of using the env. variables ${CC} ${CXX}.
>

Thanks. That makes sense now and spelling it out I have found never hurts.

[ebuild N ] sys-libs/ncurses-5.7-r1 to
/usr/armv5tel-softfloat-linux-gnueabi/ USE="cxx minimal -ada -debug -doc
-gpm -profile -trace -unicode" 0 kB

[snip]

[ebuild N ] net-mail/dovecot-1.1.16 to
/usr/armv5tel-softfloat-linux-gnueabi/ USE="ssl -berkdb -debug -doc
-ipv6 -kerberos -ldap -managesieve -mbox -mysql -pam -pop3d -postgres
-sieve -sqlite3 -suid -vpopmail" 2,329 kB
[ebuild N ] app-emacs/emacs-common-gentoo-1.0 USE="X" 14 kB
[ebuild N ] app-editors/emacs-22.3-r2 USE="X alsa gif gtk jpeg
kerberos png source tiff xpm -Xaw3d -gzip-el -hesiod -motif -sound
-toolkit-scroll-bars" 0 kB
[ebuild N ] virtual/emacs-22 0 kB
[ebuild N ] app-emacs/po-mode-0.17 to
/usr/armv5tel-softfloat-linux-gnueabi/ 0 kB

I now find that ncurses fails during the build process.

tic.c:(.text+0x105c): warning: the use of `tmpnam' is dangerous, better
use `mkstemp'
../obj_s/tic.o: In function `write_it':
tic.c:(.text+0x300): undefined reference to `_nc_write_entry'
../obj_s/tic.o: In function `check_sgr':
tic.c:(.text+0xa0c): undefined reference to `_nc_capcmp'
../obj_s/tic.o: In function `main':
tic.c:(.text+0x11dc): undefined reference to `_nc_set_writedir'
tic.c:(.text+0x1234): undefined reference to `_nc_read_entry_source'
tic.c:(.text+0x1274): undefined reference to `_nc_resolve_uses2'
tic.c:(.text+0x1390): undefined reference to `_nc_set_writedir'
tic.c:(.text+0x17ac): undefined reference to `_nc_tic_written'
tic.c:(.text+0x1828): undefined reference to `_nc_disable_period'
tic.c:(.text+0x1830): undefined reference to `_nc_check_termtype2'
../obj_s/tic.o: In function `check_termtype':
tic.c:(.text+0x19b8): undefined reference to `_nc_capcmp'
tic.c:(.text+0x1fb4): undefined reference to `_nc_capcmp'
tic.c:(.text+0x1ff0): undefined reference to `_nc_capcmp'
tic.c:(.text+0x2490): undefined reference to `_nc_capcmp'
tic.c:(.text+0x2804): undefined reference to `_nc_syntax'
../obj_s/dump_entry.o: In function `nametrans':
dump_entry.c:(.text+0xd9c): undefined reference to `_nc_get_hash_table'
dump_entry.c:(.text+0xda8): undefined reference to `_nc_find_entry'
../obj_s/dump_entry.o: In function `fmt_entry':
dump_entry.c:(.text+0x1a2c): undefined reference to `_nc_tic_expand'
dump_entry.c:(.text+0x1a40): undefined reference to `_nc_infotocap'
dump_entry.c:(.text+0x1b50): undefined reference to `_nc_tic_expand'
dump_entry.c:(.text+0x1d50): undefined reference to `_nc_tic_expand'
collect2: ld returned 1 exit status
make[1]: *** [tic] Error 1
make[1]: Leaving directory
`/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-libs/ncurses-5.7-r1/work/narrowc/progs'
make: *** [all] Error 2
*
* ERROR: sys-libs/ncurses-5.7-r1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 2542: Called do_compile 'narrowc'
* environment, line 710: Called die
* The specific snippet of code:
* emake || die "make failed"
* The die message:
* make failed
*
* If you need support, post the topmost build error, and the call stack
if relevant.
* A complete build log is located at
'/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-libs/ncurses-5.7-r1/temp/build.log'.
* The ebuild environment file is located at
'/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-libs/ncurses-5.7-r1/temp/environment'.
*


Its all fun isn't it. I've turn off as many use flags as I dare.
Attachments: smime.p7s (3.24 KB)


odinshorse at googlemail

Jun 23, 2009, 1:15 AM

Post #18 of 19 (3126 views)
Permalink
Re: make only builds X86_64 code [In reply to]

2009/6/22 Stephen Feyrer <steve [at] toth>:
> I now find that ncurses fails during the build process.

Yeah ncurses is a bit tricky (ok like all other packages too *g*). You
need to install the exact same version of ncurses on your host to
build it on the target!

> Its all fun isn't it. I've turn off as many use flags as I dare.

Hehe noone said it would be easy... ;-)

Sven


vapier at gentoo

Jul 6, 2009, 8:47 PM

Post #19 of 19 (3048 views)
Permalink
Re: make only builds X86_64 code [In reply to]

On Tuesday 16 June 2009 15:33:35 Sven Rebhan wrote:
> 2009/6/16 Stephen Feyrer <steve [at] toth>:
> > This http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=5
>
> This is really old and not up-to-date anymore!

then you need to be submitting patches to update things. the whole point of
the handbook was to get away from random ass sites different people were
maintaining and to make it easier for people to update things. the handbook
content is dead simple to update. i havent seen a single bug report in
bugs.gentoo.org about outdated information.
-mike
Attachments: signature.asc (0.82 KB)

Gentoo embedded RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.