FreeBSDDesktop / DEPRECATED-freebsd-base-graphics

Fork of FreeBSD's base repository to work on graphics-stack-related projects
Other
49 stars 13 forks source link

No compiler when I build world from drm-next-4.7 #91

Closed PhilPotter closed 8 years ago

PhilPotter commented 8 years ago

Doesn't seem to be building clang as part of the base system, even when I explicitly enable it in /etc/src.conf. I am building into an empty dataset if that helps - system boots fine and works quite happily, but no compiler so I can't build ports on it. I am probably doing something obviously wrong, but could anyone offer some pointers?

nomadlogic commented 8 years ago

There is a bug with the base LLVM so you'll need to build and install the LLVM-3.8 package or port. It should have thrown an error though so I'm surprised it built. If you take a look at lines 56-76 in this file it should have thrown an error or warning:

https://github.com/FreeBSDDesktop/freebsd-base-graphics/blob/drm-next-4.7/Makefile.inc1

PhilPotter commented 8 years ago

I have LLVM-3.8 from ports (coincidentally) - that may be why it built. How do I build + include it in the new base system though? Can I safely copy the binaries? The host system is running 11.0-RC3.

nomadlogic commented 8 years ago

Couple things - this branch is tracking 12-CURRENT upstream, so you'll most certainly want to build the world and kernel from this repository and install it on your system. AFAIK the base LLVM compiler in 12-CURRENT base does not work with the changes that are in this branch and as such is not supported.

If you need the version LLVM in base then you should be able to install it from ports/pkgs though. This current situation actually has the nice side effect of buildworld taking much longer since we no longer need to build llvm/clang every time we want to test a new world.

PhilPotter commented 8 years ago

As luck would have it I have a 12-CURRENT build running at the moment :-) So build world and kernel from 12-CURRENT, LLVM-3.8 from ports, and then drm-next-4.7 over the top? Sorry, I'm new to BSD :-) Thanks for the help so far.

mattmacy commented 8 years ago

Not understanding the "how do I install it in the new base system". You install it the same way as you do xorg and any other port.

nomadlogic commented 8 years ago

so the code in the drm-next-4.7 repository is a fork of the upstream FreeBSD-12-CURRENT OS. So if you follow the handbook on installing the freebsd world and kernel you'll be all set. To check you can run "uname -ar" should show that your are running 12-CURRENT.

From this point you should install the appropriate Xorg binaries or install via ports as per the wiki: https://github.com/FreeBSDDesktop/freebsd-base-graphics/wiki

PhilPotter commented 8 years ago

But I thought I needed to build drm-next-4.7 rather than 12-CURRENT to get all the new DRM display stuff? Are you saying this is now upstream again and I should not bother with drm-next-4.7 but just 12-CURRENT?

mattmacy commented 8 years ago

The drm-next branches track 12-CURRENT. So installing then is mostly the same as installing -CURRENT. The compiler is still the same between 11 and 12. You don't need a new compiler for 12.

nomadlogic commented 8 years ago

lol - so I said:

"so the code in the drm-next-4.7 repository is a fork of the upstream FreeBSD-12-CURRENT OS."

I suspect you are more familiar with how linux does things and this is probably causing lots of confusion for you. FreeBSD is a complete OS as opposed to Linux which is just a kernel

The code in this repository is a fork of the upstream 12-CURRENT branch. If you build the kernel and world you will have a complete FreeBSD-12-CURRENT based OS which includes modifications that enable support for newer Intel i915 based GPU's. This code is still under active development but will eventually be merged back upstream.

PhilPotter commented 8 years ago

Thanks - I am aware it is a complete OS, what I am finding puzzling is why, when I build the base system into an empty ZFS dataset, it has no compiler included. If I can copy the one from 11 then this is fine, but I am still puzzled as to why it doesn't build as part of drm-next-4.7.

mattmacy commented 8 years ago

I've disabled it in my branch because it more than triples the buildworld time and lacks openmp whilst being redundant with a package that takes a matter of seconds to install that has openmp.

PhilPotter commented 8 years ago

Right, that was what I needed - thanks :-)