# Running make install in /usr/ports/x11/xorg?



## goodfella (Sep 25, 2013)

I installed FreeBSD 9.1 and have everything working. But trying to build Xorg reminds me of a catch 22. I also tried portupgrade. On my first install attempt I was able to run a `make` before X was installed but there was some problem and it failed and I don't remember the details. So I just used `pkg_add -r xorg` on my last installation. I have been able to configure my own kernel and rebuild other things like Bash. Anybody here play around with build/modifying X for educational purposes?


```
root@goodfella:/usr/ports/x11/xorg # make V=1 install
This is a meta-port, meaning that it just depends on its subparts of the port.
It won't build and install all the parts until you have typed make install
This port does not ensure things are upgraded; use portupgrade if you want to
upgrade X.Org.  If you simply type 'make install' it may use over 2GB to build
all of the subports.  You can install the ports singly if you are low on space.
===>  Extracting for xorg-7.5.2
===>  Patching for xorg-7.5.2
===>  Configuring for xorg-7.5.2
===>  Installing for xorg-7.5.2
===>   xorg-7.5.2 depends on file: /usr/local/libdata/pkgconfig/dri.pc - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/pkgconfig/xbitmaps.pc - found
===>   xorg-7.5.2 depends on file: /usr/local/lib/X11/icons/handhelds/cursors/X_cursor - found
===>   xorg-7.5.2 depends on file: /usr/local/share/doc/xorg-docs/README.xml - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/apps - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/libraries - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/fonts - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/drivers - found
===>   xorg-7.5.2 depends on file: /usr/local/bin/Xorg - found
===>   Generating temporary packing list
===>  Checking if x11/xorg already installed
===>   xorg-7.5.2 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of x11/xorg
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** [check-already-installed] Error code 1

Stop in /usr/ports/x11/xorg.root@goodfella:/usr/ports/x11/xorg # make V=1 deinstall
===>  Deinstalling for x11/xorg
===>   Deinstalling xorg-7.5.2
root@goodfella:/usr/ports/x11/xorg # make V=1 reinstall clean
===>  Installing for xorg-7.5.2
===>   xorg-7.5.2 depends on file: /usr/local/libdata/pkgconfig/dri.pc - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/pkgconfig/xbitmaps.pc - found
===>   xorg-7.5.2 depends on file: /usr/local/lib/X11/icons/handhelds/cursors/X_cursor - found
===>   xorg-7.5.2 depends on file: /usr/local/share/doc/xorg-docs/README.xml - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/apps - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/libraries - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/fonts - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/drivers - found
===>   xorg-7.5.2 depends on file: /usr/local/bin/Xorg - found
===>   Generating temporary packing list
===>   Registering installation for xorg-7.5.2
===>  Cleaning for xorg-7.5.2
root@goodfella:/usr/ports/x11/xorg # 

root@goodfella:/usr/ports/x11/xorg # portupgrade xorg
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 576 packages found (-1 +5) (...)..... done]
```


----------



## wblock@ (Sep 26, 2013)

The ports system will not let you install a port if it is already installed.  So either deinstall then install:
`make deinstall install`

or reinstall, which is one step but does the same thing:
`make reinstall`


----------



## goodfella (Sep 26, 2013)

Still same as the first post.


```
root@goodfella:/usr/ports/x11/xorg # make clean
===>  Cleaning for xorg-7.5.2
root@goodfella:/usr/ports/x11/xorg # make deinstall install
===>  Deinstalling for x11/xorg
===>   Deinstalling xorg-7.5.2
This is a meta-port, meaning that it just depends on its subparts of the port.
It won't build and install all the parts until you have typed make install
This port does not ensure things are upgraded; use portupgrade if you want to
upgrade X.Org.  If you simply type 'make install' it may use over 2GB to build
all of the subports.  You can install the ports singly if you are low on space.
===>  Extracting for xorg-7.5.2
===>  Patching for xorg-7.5.2
===>  Configuring for xorg-7.5.2
===>  Installing for xorg-7.5.2
===>   xorg-7.5.2 depends on file: /usr/local/libdata/pkgconfig/dri.pc - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/pkgconfig/xbitmaps.pc - found
===>   xorg-7.5.2 depends on file: /usr/local/lib/X11/icons/handhelds/cursors/X_cursor - found
===>   xorg-7.5.2 depends on file: /usr/local/share/doc/xorg-docs/README.xml - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/apps - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/libraries - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/fonts - found
===>   xorg-7.5.2 depends on file: /usr/local/libdata/xorg/drivers - found
===>   xorg-7.5.2 depends on file: /usr/local/bin/Xorg - found
===>   Generating temporary packing list
===>  Checking if x11/xorg already installed
===>   Registering installation for xorg-7.5.2
root@goodfella:/usr/ports/x11/xorg #
```


----------



## SirDice (Sep 26, 2013)

Both your posts show that xorg was successfully installed in the end. What exactly makes you think it didn't work?


----------



## wblock@ (Sep 26, 2013)

Also, what's with the V=1?


----------



## goodfella (Sep 26, 2013)

SirDice said:
			
		

> Both your posts show that xorg was successfully installed in the end. What exactly makes you think it didn't work?



Just for fun I went to /usr/ports/shells/bash and did a `make clean install`. I see all the build output and notice that ./work/bash-4.2 has source and object files.

I do not notice that there is any type of build going on for Xorg. Since I have built it in the past from their website instructions I know that it takes more than a few seconds to build. All I see see is what I previously posted above and cannot locate any source code.


```
oot@goodfella:/usr/ports/x11/xorg/work # ls -la
total 16
drwxr-xr-x  2 root  wheel  512 Sep 26 08:27 .
drwxr-xr-x  3 root  wheel  512 Sep 26 08:27 ..
-rw-r--r--  1 root  wheel    0 Sep 26 08:27 .PLIST.flattened
-rw-r--r--  1 root  wheel   70 Sep 26 08:27 .PLIST.mktmp
-rw-r--r--  1 root  wheel   70 Sep 26 08:27 .PLIST.mktmp.sorted
-rw-r--r--  1 root  wheel    0 Sep 26 08:27 .PLIST.objdump
-rw-r--r--  1 root  wheel    0 Sep 26 08:27 .PLIST.setuid
-rw-r--r--  1 root  wheel    0 Sep 26 08:27 .PLIST.writable
-rw-r--r--  1 root  wheel    0 Sep 26 08:37 .build_done.xorg._usr_local
-rw-r--r--  1 root  wheel    0 Sep 26 08:27 .configure_done.xorg._usr_local
-rw-r--r--  1 root  wheel    0 Sep 26 08:27 .extract_done.xorg._usr_local
-rw-r--r--  1 root  wheel    0 Sep 26 08:27 .install_done.xorg._usr_local
-rw-r--r--  1 root  wheel    0 Sep 26 08:27 .patch_done.xorg._usr_local
root@goodfella:/usr/ports/x11/xorg/work #
```

So it appears that nothing really gets re-built. Though I notice the message warning

```
If you simply type 'make install' it may use over 2GB to build
all of the subports.
```


----------



## SirDice (Sep 26, 2013)

The x11/xorg port is a so-called meta-port. It doesn't install anything itself. It simply depends on various other ports.


----------



## goodfella (Sep 26, 2013)

wblock@ said:
			
		

> Also, what's with the V=1?



It means verbose output in GNU make. Another NOP in FreeBSD.


----------



## SirDice (Sep 26, 2013)

There's a huge difference between make(1) and gmake(1).


----------



## goodfella (Sep 26, 2013)

SirDice said:
			
		

> There's a huge difference between make(1) and gmake(1).



Ahh, but I do see that gmake(1) is used:

```
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
gmake[3]: Leaving directory `/usr/ports/x11-drivers/input-wacom/work/xf86-input-wacom-0.15.0'
gmake[3]: Entering directory `/usr/ports/x11-drivers/input-wacom/work/xf86-input-wacom-0.15.0'
gmake[3]: Leaving directory `/usr/ports/x11-drivers/input-wacom/work/xf86-input-wacom-0.15.0'
cd .. && gmake  am--refresh
```


----------



## SirDice (Sep 27, 2013)

The ports system uses FreeBSD's make(1) but the software that's being built usually uses gmake(1). If you look in x11-drivers/input-wacom it's Makefile you'll see:

```
USE_GMAKE= yes
```

Porter's Handbook: 6.3. Building Mechanisms


----------

