# XFCE build fails, help needed!



## CrisXed (Apr 7, 2012)

Hi everyone,

I'm still new to FreeBSD, however I'm enjoying it quite a lot.
I installed it on a virtual machine (VMware Fusion) and decided to take a go at a Window Manager. So I opted for XFCE as it's said to be a lightweight distribution.

I installed X and XDM, using the instructions on the handbook (using ports), and then followed through with the instructions for XFCE. However, the build fails. After checking the output I notice the following error:


```
py27-1.6.1,1 atlas needs to be built with WITH_STATIC for numpy to function properly.
```

I'm not sure what to do now, I tried a *make clean* followed by a second *make install clean* to see if I chose something wrong in the several configuration popup screens that showed up previously in the build, but they did not come up again. I also don't remember building atlas, so it was either built specifically for XFCE or as a dependency for one of the few other ports I built (I only built nano, bash, some fonts and portupgrade beyond X, XDM and XFCE).

So my question is, should I enable the WITH_STATIC flag for atlas? And if I should, how can I do it?

Any help would be extremely appreciated and if you need some feedback such as configuration files or anything else to help me, I'll be more than happy to supply them.


----------



## wblock@ (Apr 7, 2012)

`# cd /usr/ports/math/atlas`
`# make config`

Turn on STATIC.  Then clean to get rid of the failed build directory, then build and install.

No idea where that dependency comes from, it's not on my machine.


----------



## CrisXed (Apr 8, 2012)

Hello, thanks for the reply.

I gave it a try (building atlas), however it gives me another error. Also, some interesting things happened.

What got me slightly perplexed, was that after issuing the *make install clean* it started pulling all these distfiles (binutils, gcc, atlas, etc) and then started building them. This leads me to the impression that I hadn't built them before (in particular atlas), is this right? If so, i guess this means that atlas is shipped with the base install? Because if it's not present, the XFCE make command should have built it, right?

So the error I get now is when building gcc. The first error message says:


```
gcj: internal compiler error: Killed: 9 (program jc1)
```

I suspect the problem might be something to do with the paging space, it complains about the kernel being out of swap space somewhere during the build. The virtual machine has 256MB of RAM but I'll try increasing it to 512MB to see if this is the problem. Any other suggestions in case this doesn't work?

I'm not sure where the swap space message shows up, if it's before or after the first error, because since FreeBSD is running in a virtual machine on a mac, I don't have a scroll lock or page up and page down, to scroll the console output. So to see the output I redirect it to a file with the command [cmd=]make install clean >> outputfile 2>&1[/cmd] which should redirect both stdout and stderr to the file. However the paging messages still show up on the console. On the other side, it seems these messages are coming from the kernel, which doesn't have its output redirected to the file, so I guess it's acting as expected.


----------



## wblock@ (Apr 8, 2012)

atlas is being pulled in as a dependency, possibly because of some option you enabled elsewhere.  It's not present on my xfce system.
In turn, the others are being pulled in as dependencies needed to build atlas.

Trying to build some of these, particularly gcc, on a machine with only 256M of memory and limited swap space is not going to work well.  It's going to start swapping.  If it runs out of memory and swap space, the build will die.

If you really want to build these from ports, give the VM more memory, at least temporarily.  Otherwise, consider using packages.


----------



## CrisXed (Apr 8, 2012)

So, increasing the memory of the VM to 512MB did not help. I then tried to build only gcc:

`# cd /usr/ports/lang/gcc46`
`# make clean`
`# make install clean`

And still no go. So I changed the configuration of gcc and removed the java frontend support and it compiled perfectly. How important is the java fronted support for gcc?

Right now it's compiling atlas and it seems to be working ok. I'll be back with more news when it finishes and hope all goes well from now on.

About the dependencies, I understand what a dependency is, what I don't understand is that Xfce depends on atlas and gave an error saying atlas didn't have STATIC support. However when I tried to build atlas it pulled atlas's distfile and all of atlas's dependencies's distfiles and built (tried to) them. From what I understand, that meant atlas and its dependencies weren't on my system, so when I built Xfce it should have tried to build atlas (consequently building its dependencies), right?


----------



## wblock@ (Apr 8, 2012)

512M is still a ridiculously small amount of memory to build anything these days.  Especially something porcine like gcc.

xfce does not depend on atlas, or at least a minimal version of it does not.  Enabling options that are not on by default is probably what added atlas and other dependencies.


----------



## CrisXed (Apr 8, 2012)

So atlas compiled (it did take quite some time however). And now XFCE is compiling.

Thanks for the help! And explanations.

I'd like to mark this thread as solved, but I can't edit my posts yet (or am so totally incompetent that I can't find the right button), so if someone with the right permissions to edit threads could mark my thread as solved I would be thankful.


----------



## fonz (Apr 9, 2012)

CrisXed said:
			
		

> How important is the java fronted support for gcc?


As far as I can tell: not at all.

I've experienced similar problems: the Java frontend (chosen out of curiosity) breaks lang/gcc46, which in turn breaks anything it can. Ditching it should solve existing problems and not cause any new ones.



			
				CrisXed said:
			
		

> I'd like to mark this thread as solved, but I can't edit my posts yet


Marking your thread as solved requires editing privileges, which in turn require 10 days of membership and 10 posts. You're probably almost there, but if you really can't wait you could PM a moderator. Other mortal users cannot mark threads as solved for you.

Fonz


----------

