# x11/nvidia-driver (340.46) fails to install



## Martillo1 (Nov 9, 2014)

When trying to update x11/nvidia-driver I find the following error:


```
*** Error code 70

Stop.
make[1]: stopped in /usr/ports/x11/nvidia-driver
*** Error code 1

Stop.
make: stopped in /usr/ports/x11/nvidia-driver

===>>> A backup package for nvidia-driver-331.67_1 should
  be located in /usr/ports/packages/portmaster-backup

===>>> Installation of nvidia-driver-340.46 (x11/nvidia-driver) failed
===>>> Aborting update
```

The port does not get installed. Moreover the previous driver gets uninstalled.

I do not know if it has to be something related to the following output of `pkg version -IvL=`

```
dri-9.1.7_6,2  <  needs updating (index has 10.3.2,2)
libEGL-9.1.7_4  <  needs updating (index has 10.3.2)
libGL-9.1.7_3  <  needs updating (index has 10.3.2)
libglapi-9.1.7_2  <  needs updating (index has 10.3.2)
libglesv2-9.1.7_3  <  needs updating (index has 10.3.2)
nvidia-driver-331.67_1  <  needs updating (index has 340.46)
```
 and the fact that the listed ports but x11/nvidia-driver do not get updated when I execute `portmaster -d -a`.

/etc/make.conf

```
WITH_PKGNG=yes
WITH_CCACHE_BUILD=yes
WITH_NEW_XORG=yes
OVERRIDE_LINUX_BASE_PORT=c6
OVERRIDE_LINUX_NONBASE_PORTS=c6
```

`uname -a`

```
FreeBSD asuka.familyworks.local 10.0-RELEASE-p12 FreeBSD 10.0-RELEASE-p12 #0: Tue Nov  4 05:07:17 UTC 2014  [EMAIL]root@amd64-builder.daemonology.net[/EMAIL]:/usr/obj/usr/src/sys/GENERIC  amd64
```

Should I wait to upgrading to 10.1 and magically all my concerns will go away, or will they persist?


----------



## Oko (Nov 9, 2014)

Call NVidia custumer service. That is a closed-source proprietary binary blob driver.


----------



## fonz (Nov 9, 2014)

Martillo1 said:


> I do not know if it has to be something related to the following output of `pkg version -IvL=`
> 
> ```
> dri-9.1.7_6,2  <  needs updating (index has 10.3.2,2)
> ...


It doesn't answer your immediate question, but I explained elsewhere on these forums that the above has to do with there being two different versions of MESA being kept around.

Moreover, you didn't supply the actual error message(s). I tried rebuilding x11/nvidia-driver (I use it myself) and it worked just fine. So without the actual error messages it will be hard to determine what went wrong for you.


----------



## Martillo1 (Nov 10, 2014)

Oko said:


> Call NVidia custumer service. That is a closed-source proprietary binary blob driver.





fonz said:


> It doesn't answer your immediate question, but I explained elsewhere on these forums that the above has to do with there being two different versions of MESA being kept around.
> 
> Moreover, you didn't supply the actual error message(s). I tried rebuilding x11/nvidia-driver (I use it myself) and it worked just fine. So without the actual error messages it will be hard to determine what went wrong for you.


You are right. I do not know how I could forget to include it. Here it is:

```
Script started on Mon Nov 10 09:55:56 2014
root@asuka:/usr/ports/x11/nvidia-driver # make install
===>  Installing for nvidia-driver-340.46
===>  nvidia-driver-340.46 depends on file: /usr/local/libdata/pkgconfig/xorg-server.pc - found
===>  nvidia-driver-340.46 depends on shared library: libGL.so - found (/usr/local/lib/libGL.so)
===>  Checking if nvidia-driver already installed
===>  Registering installation for nvidia-driver-340.46
[HIGHLIGHT]pkg-static: nvidia-driver-340.46 conflicts with libEGL-9.1.7_4 (installs files into the same place).  Problematic file: /usr/local/lib/libEGL.so[/HIGHLIGHT]
To use these drivers, make sure that you have loaded the NVidia kernel
module, by doing
  # kldload nvidia
or adding
  nvidia_load="YES"
to your /boot/loader.conf.
If you build this port with FreeBSD AGP GART driver, make sure you have
agp.ko kernel module installed and loaded, since nvidia.ko will depend
on it, or have your kernel compiled with "device agp".  Otherwise, the
NVidia kernel module will not load.  Also, please set correct value for
``Option "NvAGP"'' in ``Device'' section of your X11 configuration file.
When building with Linux compatibility support, make sure that linux.ko
module is available as well (or have it compiled in kernel).  It can be
loaded via /boot/loader.conf, or later in the boot process if you add
  linux_enable="YES"
to your /etc/rc.conf.
If X.org cannot start and reports
  (EE) NVIDIA(0): Failed to obtain a shared memory identifier.
in /var/log/Xorg.0.log while actually you have ``options SYSVSHM''
enabled in kernel, the sysctl ``kern.ipc.shmall'' should be increased.
See /usr/local/share/doc/NVIDIA_GLX-1.0/README for more information.
*** Error code 70
Stop.
make[1]: stopped in /usr/ports/x11/nvidia-driver
*** Error code 1
Stop.
make: stopped in /usr/ports/x11/nvidia-driver
root@asuka:/usr/ports/x11/nvidia-driver # ^Dexit

Script done on Mon Nov 10 09:56:09 2014
```

I am going to use the WITH_NEW_MESA flag as you explained in that thread.

Thanks a lot, fonz.


----------



## Martillo1 (Nov 10, 2014)

```
pkg-static: nvidia-driver-340.46 conflicts with libEGL-10.3.2 (installs files into the same place).  Problematic file: /usr/local/lib/libEGL.so
```

Different libEGL version, same problem.

Edit: I see I am not the only one: http://marc.info/?l=freebsd-ports&m=141521061514042&w=2

Edit2: Indeed it is a known problem: http://marc.info/?l=freebsd-ports&m=139419995306784&w=2

There is no other option than wait for them to be solved.


----------



## talsamon (Nov 10, 2014)

As a temporary solution:

Only `make` this port - without install. Look in the stage-directory of the directory work/.
If libEGL.so has the same size as the existing libEGL.so, try to comment it out in  pkg_plist,  and then try to install.
Or look which program has installed libEGL.so first. It's a port itself  (graphics/libEGL), you can use `pkg info` to look what depends on it. And decide if you need this program.


----------



## fonz (Nov 10, 2014)

It's being discussed on the ports mailing list. One suggestion is to remove graphics/libglesv2 and graphics/libEGL with pkg delete -f and then reinstall x11/nvidia-driver: https://lists.freebsd.org/pipermail/freebsd-ports/2014-November/096468.html.


----------



## talsamon (Nov 10, 2014)

Now I have a little closer look at this. On my system libEGL.so.1 has no depencies. LibEGL.so.1 from the Nvidia port is a link to libEGL.so.340.46. There are two different things. In /usr/local/lib libEGL.so is a link to libEGL.so.1.0.0. But if it has really no dependencies, you can deinstall it.


----------



## Martillo1 (Nov 10, 2014)

fonz said:


> It's being discussed on the ports mailing list. One suggestion is to remove graphics/libglesv2 and graphics/libEGL with pkg delete -f and then reinstall x11/nvidia-driver: https://lists.freebsd.org/pipermail/freebsd-ports/2014-November/096468.html.





talsamon said:


> Now I have a little closer look at this. On my system libEGL.so.1 has no depencies. LibEGL.so.1 from the Nvidia port is a link to libEGL.so.340.46. There are two different things. In /usr/local/lib libEGL.so is a link to libEGL.so.1.0.0. But if it has really no dependencies, you can deinstall it.



I have deinstalled both packages and now x11/nvidia-driver gets installed.

I suppose I have lost OpenGL 3D acceleration, but I do not use it much in this machine for now.

Thanks to both.


----------



## aht0 (Nov 10, 2014)

I had issues too installing the Nvidia driver from ports. Eventually I ended up downloading several from Nvidia's website and got one of the downloaded drivers to work okay. It was slightly older than v340 but not too much.


----------



## talsamon (Nov 10, 2014)

I am not sure whether this is possible or solves this problem, but I think, the libEGL.so of the Nvidia-port should be in the /compat/linux/lib/ directory.


----------

