Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot Find FreeBSD XDev Tools #85

Closed
ThothK opened this issue Aug 23, 2014 · 18 comments
Closed

Cannot Find FreeBSD XDev Tools #85

ThothK opened this issue Aug 23, 2014 · 18 comments

Comments

@ThothK
Copy link

ThothK commented Aug 23, 2014

Hi,

I am working on a prototype for something I want to suggest to the company I am currently working for. Part of this was to show how easy it is to build FreeBSD for the BeagleBone Black. Unfortunately, I have been unable to build FreeBSD for the BBB successfully for the last several months.

I have created a FreeBSD VM several times using /head, FreeBSD version 11.0. I have tried a variety of little tweaks to no avail.

A snippet of what I get when I run crochet.sh is:
Building FreeBSD version: 11.0
Image name is:
/usr/src/crochet-freebsd/work/FreeBSD-armv6-11.0-BEAGLEBONE-r269526.img
...
Can't find appropriate FreeBSD xdev tools.
Tested: armv6-freebsd-cc
...

I have build the cross platform development tools using:
make XDEV=arm XDEV_ARCH=armv6 xdev
and later, when the process started to fail:
make XDEV=arm XDEV_ARCH=armv6 xdev | tee -a /Logs/fbsd_armbuild.log

I have also tried the make command suggested by crochet when it fails:
make XDEV=arm XDEV_ARCH=armv6 WITH_GCC ...

What did I miss? Any suggestions?

The last time I successfully built a FreeBSD image was last year.

-ThothK-

@kientzle
Copy link
Contributor

A few people have found that they need the following (WITHOUT_TESTS works around a recent problem with FreeBSD-CURRENT; that should be fixed soon):

make XDEV=arm XDEV_ARCH=armv6 WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG=1 WITHOUT_CLANG_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1 WITHOUT_TESTS=1 xdev

If you installed the xdev tools previously in this VM, you may need to remove them first:

$ sudo rm -rf /usr/armv6-freebsd/

You can also ask questions like this in the freebsd-arm mailing list.

@ThothK
Copy link
Author

ThothK commented Aug 23, 2014

Hi,

I have tried that, I still receive the error. This is why I thought it may be a Crochet-FreeBSD issue.
Even when I make FreeBSD without the WITHOUT_TESTS flag, I do not get errors.

I tried it again today and I still get the error.
I am doing this as root, could that cause an issue? It does not seem like it would, but one never knows.

Any other thoughts?

p.s. If it helps, I can provide the VirtualBox VM.

@kientzle
Copy link
Contributor

Crochet tries to find the xdev tools by running the following command. What do you see when you run it manually?

$ armv6-freebsd-cc

@kientzle kientzle reopened this Aug 23, 2014
@ThothK
Copy link
Author

ThothK commented Aug 23, 2014

Hi Tim,

I get command not found.
/usr/armv6-freebsd/bin is empty as is */sbin

In the make log, I noticed a series of entries with a double leading slash, e.g.:
//usr/armv6-freebsd/usr/lib/libl.a -> //usr/armv6-freebsd/usr/lib/libln.a
Typically a double slash would not cause a problem. However, since I am having issues, I wonder if this is having an effect.

I am building the tools from /usr/src/FreeBSD/head. I do not believe I did that last year when I had a successful build.

-thoth-

@kientzle
Copy link
Contributor

I get command not found.
/usr/armv6-freebsd/bin is empty as is */sbin

Then the xdev build failed.

In the make log, I noticed a series of entries with a double leading slash, e.g.:
//usr/armv6-freebsd/usr/lib/libl.a -> //usr/armv6-freebsd/usr/lib/libln.a
Typically a double slash would not cause a problem. However, since I am having issues, I wonder if this is having an effect.

I don't think this is a problem.

For some reason, the xdev build is not installing the cross-compiler as it should.

Do the logs mention installing things into /usr/armv6-freebsd/bin anywhere?

What's the last thing in the log when you try the xdev build?

I am building the tools from /usr/src/FreeBSD/head. I do not believe I did that last year when I had a successful build.

It's worth trying to do it from /usr/src to see if that makes a difference.

If it does, please file a bug at FreeBSD.org so someone will take a look and hopefully fix it.

Tim

@ThothK
Copy link
Author

ThothK commented Aug 23, 2014

Hi Tim,

grepping the log for /usr/armv6-freebsd/bin returns no results. It looks like I have several items being installed into
//usr/armv6-freebsd/usr/bin:
sh /usr/src/FreeBSD/head/tools/install.sh -s -o root -g wheel -m 555 addr2line //usr/armv6-freebsd/usr/bin/addr2line ===> gnu/usr.bin/binutils/as (install)
I have a series of entries like that.

I have tried with the FreeBSD source in /usr/src with similar results. I will say that having the FreeBSD source in /usr/src rather than /usr/src/FreeBSD/* really bugs me. However, that is not the current problem I need to fix.
I will try again with this version of the VM to see if anything is put in /usr/armv6-freebsd/bin

The last item in the log is:
//usr/armv6-freebsd/usr/lib/libfl.a -> //usr/armv6-freebsd/usr/lib/libln.a.

I think you are right and that this is an issue with FreeBSD.
I will post an update here after I try with the source in /usr/src.

Thank you again for taking the time.

-thoth-

@ThothK
Copy link
Author

ThothK commented Aug 24, 2014

Hi Tim,

Regardless of where I have the FreeBSD source and regardless of which switches I use, nothing is copied to /usr/armv6-freebsd/bin.
This would be a FreeBSD issue.

-thoth-

@kientzle
Copy link
Contributor

On Aug 23, 2014, at 6:43 PM, ThothK notifications@github.com wrote:

Hi Tim,

Regardless of where I have the FreeBSD source and regardless of which switches I use, nothing is copied to /usr/armv6-freebsd/bin.
This would be a FreeBSD issue.

I checked a recent FreeBSD VM I have here. You should compare this to your system:

$ ls /usr/armv6-freebsd/usr/bin/
addr2line cc gcpp objdump strings
ar cpp ld ranlib strip
as gcc nm readelf
c++filt gcov objcopy size

$ ls -l /usr/bin/armv6-freebsd-cc
lrwxr-xr-x 1 root wheel 35 Jul 5 17:01 /usr/bin/armv6-freebsd-cc -> ../..//usr/armv6-freebsd/usr/bin/cc

$ armv6-freebsd-cc --version
armv6-freebsd-cc (GCC) 4.2.1 20070831 patched [FreeBSD]

@ThothK
Copy link
Author

ThothK commented Aug 28, 2014

Hi Tim,

I apologize for the late response. First I was trying different tests, then work related tasks consumed more time than expected.

When I used Crochet-FreeBSD with FreeBSD S10 Stable, it worked fine.
It is only with FreeBSD head (11?) that the problem occurs.

I will clone the VM and try it again with /head to check the directories you mention.

-thoth-

@ThothK
Copy link
Author

ThothK commented Sep 1, 2014

Hi Tim,

Checking the VM in which I used FreeBSD/head to build the ARM tools, I see the following:
CC, addr2line, ar, as, C++, cc, clang, clang++, clang-cpp, clang-tblgen, cpp, ld, nm, objcopy, objdump, ranlib, readelf, size, strings, strip, tblgen.
There is no /usr/bin/armv6-freebsd-cc.

When I use FreeBSD10 Stable, there are more files in /usr/armv6-freebsd/usr/bin as well as /usr/bin/armv6-freebsd-cc.

Normally I stay away from /head for any project. I do not know what I was thinking.

I thought that everything worked fine with crochet.sh using FreeBSD 10 Stable. However, I have an error regarding U-Boot.

I am going to close this issue and create a new one addressing that.

-thoth-

@ThothK ThothK closed this as completed Sep 1, 2014
@mmitchel
Copy link

10.1 stable does not appear to build gcc as part of xdev tools with the documented make command. is this still required for building uboot?

@kientzle
Copy link
Contributor

On Dec 17, 2014, at 9:50 AM, Michael Mitchell notifications@github.com wrote:

10.1 stable does not appear to build gcc as part of xdev tools with the documented make command. is this still required for building uboot?

Unfortunately, yes, some form of GCC is still required for that. Although
newer versions of U-Boot claim to be build able with clang, we’ve not yet
managed to update the Crochet patches for that.

  1. Could you be more specific about the make command you’re using?
    Crochet’s recommended command has changed a few times as we
    try to figure out ourselves what actually works. It is possible that the
    recommended command only works correctly on 11-CURRENT, as the
    xdev build infrastructure has mutated a lot over the last couple of years.
  2. You might ask this question on the freebsd-arm mailing list, where a
    bunch of FreeBSD developers hang out and can help you.

Best,

Tim

@mmitchel
Copy link

as documented on a different thread

make XDEV=arm XDEV_ARCH=armv6 WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG=1 WITHOUT_CLANG_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1 WITHOUT_TESTS=1 xdev

the end result does not contain gcc with 10.1-RELEASE or 10-STABLE (as of today's date)

@kientzle
Copy link
Contributor

On Dec 18, 2014, at 12:03 PM, Michael Mitchell notifications@github.com wrote:

as documented on a different thread

make XDEV=arm XDEV_ARCH=armv6 WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG=1 WITHOUT_CLANG_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1 WITHOUT_TESTS=1 xdev

the end result does not contain gcc with 10.1-RELEASE or 10-STABLE (as of today's date)

In 11-CURRENT, there are actually two xdev targets now: xdev-links adds symlinks to /usr/bin. Crochet should no longer require the links from /usr/bin, though.

Do you have a /usr/armv6-freebsd directory? That’s where the ‘xdev’ target is supposed to install it’s results.

@mmitchel
Copy link

yes, the expected directory structure is created -- however, it remains only populated with clang, clang++ and the associated utilities from binutils... cc, cpp, are all the same size as the clang executable, and when used with the '-v' version option, they identify as the LLVM clang 3.4.1.

i have tried initial triage by wading through the makefile hell, to see what the expected configuration flags might be, but im not finding any of the combinations i use traverse into gnu/usr.bin and pickup the GNU compiler...

@kientzle
Copy link
Contributor

On Dec 18, 2014, at 9:04 PM, Michael Mitchell notifications@github.com wrote:

yes, the expected directory structure is created -- however, it remains only populated with clang, clang++ and the associated utilities from binutils... cc, cpp, are all the same size as the clang executable, and when used with the '-v' version option, they identify as the LLVM clang 3.4.1.

You should definitely ask this question on freebsd-arm or freebsd-hackers mailing lists.

People there will be more familiar with the details of xdev especially on 10.0 and 10.1. (I only use 11-CURRENT on my boxes here.)

Tim

@ThothK
Copy link
Author

ThothK commented Dec 22, 2014

Hi MMitchel,
If I recall correctly, FreeBSD is moving or has moved to LLVM. I do not recall the specifics but a quick search produced:
http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037610.html
http://unix.stackexchange.com/questions/49906/why-is-freebsd-deprecating-gcc-in-favor-of-clang-llvm and
http://www.phoronix.com/scan.php?page=news_item&px=MTQ1ODc

As a side note to your question, I used UBoot 2014.04
- Get UBoot into Crochet
- ftp ftp://ftp.denx.de/pub/u-boot/u-boot-2014.04.tar.bz2

-thoth-

@mmitchel
Copy link

and the issue of building GCC with the xdev tools still remains.

thank you

mdm

On Dec 22, 2014, at 11:55 AM, ThothK notifications@github.com wrote:

Hi MMitchel,
If I recall correctly, FreeBSD is moving or has moved to LLVM. I do not recall the specifics but a quick search produced:
http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037610.html http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037610.html
http://unix.stackexchange.com/questions/49906/why-is-freebsd-deprecating-gcc-in-favor-of-clang-llvm http://unix.stackexchange.com/questions/49906/why-is-freebsd-deprecating-gcc-in-favor-of-clang-llvm and
http://www.phoronix.com/scan.php?page=news_item&px=MTQ1ODc http://www.phoronix.com/scan.php?page=news_item&px=MTQ1ODc
As a side note to your question, I used UBoot 2014.04

  • Get UBoot into Crochet
  • ftp ftp://ftp.denx.de/pub/u-boot/u-boot-2014.04.tar.bz2

-thoth-


Reply to this email directly or view it on GitHub #85 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants