Solved linux-c6

The complete drop-in replacement linux-c6 port infrastructure is in ports
and will shortly replace the current linux-f10- ports as default.

Code:
 To switch to the linux-c6 infrastructure you should:

  0. Backup all your vital information!
  1. Remove the current linux base port and all linux-f10- ports.
  2. Add the following lines to /etc/make.conf:
       OVERRIDE_LINUX_BASE_PORT=c6
       OVERRIDE_LINUX_NONBASE_PORTS=c6
  3. Make sure no linux application is running.
  4. Set appropriate sysctl (compat.linux.osrelease=2.6.18).
  5. Install emulation/linux-c6.

If I remove all emulators/linux-f10-\* packages:

Code:
Installed packages to be REMOVED:
	linux_base-f10-10_7
	rtc-2004.02.24.1_8 (depends on linux_base-f10-10_7)
	nvidia-driver-304-304.88_2 (depends on linux_base-f10-10_7)

and some other packages depends on textproc/linux-f10-expat and so on.

How should that work ??
 
Re: linux-C6

First problem linux-c6 deinstalls nvidia-driver-304 and installs nvidia-driver-331, with the result:

Code:
egistering installation for linux-c6-dri-9.2 as automatic
[code]pkg-static: linux-c6-dri-9.2 conflicts with nvidia-driver-331.67_1 (installs files into the same place).  Problematic file: /compat/linux/usr/lib/libGL.so.1
*** [fake-pkg] Error code 70
[/code]

Code:
sudo pkg remove nvidia-driver-331
Checking integrity... done (0 conflicting)
Package(s) not found!


Code:
sudo rm /compat/usr/lib/libGL.so.1
rm: /compat/usr/lib/libGL.so.1: No such file or directory
 
Re: linux-C6

Removed nvidia-driver(-331), removed linux-c6-dri-9.2 and reinstalled nvidia-driver-304. That works, xorg starts without problems.
Flashplugin doesn't work.
 
Re: linux-C6

Ok, worked - I had to reinstall nspluginwrapper.

The only question is from where comes linux-c6-dri-9.2 , I fear problems with updates. There are no configure-options in emulators/linux-c6.
 
Re: linux-C6

The remove of linux-c6-dri-9.2 causes the remove of the metaport emulators/linux-c6. Pkg autoremovewants to remove 42 packages.

Is there any way to solve the conflict between linux-c6-dri-9.2 (libGL.so.1) and the nvidia-ports ?

The problematic port seems x11-toolkits/linux-c6-qt47-x11 I set option NVIDIA_GL=off.

But

Code:
Registering installation for linux-c6-dri-9.2 as automatic
pkg-static: linux-c6-dri-9.2 conflicts with nvidia-driver-304-304.88_2 (installs files into the same place).  Problematic file: /compat/linux/usr/lib/libGL.so.1
*** [fake-pkg] Error code 7
 
Re: linux-C6

Ooh, it's a long way - this seems the solution:

Code:
sudo pkg remove linux-c6-dri
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 3 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
	linux-c6-dri-9.2
	linux-c6-qt47-x11-4.7.2 (depends on linux-c6-dri-9.2)
	linux-c6-qt47-webkit-4.7.2 (depends on linux-c6-dri-9.2)

Don't understand really why, I try it three times then pkg autoremove want to deinstall packages - now it works.
(I reinstalled the 42 packages per hand, maybe this prevent autoremove to do something).

I removed all lines with
Code:
linux-c6-qt47
and
Code:
linux-c6-dri
from the Makefile.
 
Re: linux-C6

If you install something manually by directly installing the port or package it won't be flagged as automatic and that's why pkg autoremove won't consider it as to be removed even if nothing depends on it.
 
Re: linux-C6

Code:
NVIDIA_GL=off
was wrong I had set it to ON. This prevent the qt4-ports to install libGL.so.1, but the metaport does it anyway. (It's the line in the Makefile). I think the Makefile needs an option to prevent this.
 
Re: linux-C6

I needed for some programs.
I don't know if it's the right way. But I copied in NVIDIA_GL option from x11-toolkits/linux-c6-qt4-X11-Makefile to the the linux-c6-Makefile. Only to see if it works. This seems to work. The problem is the next update will overwrite the changed Makefile.

Don't if this questions are the right one:

on the one side in /usr/ports/Mk/bsd.linux-apps.mk it's defined
Code:
dri_f10_FILE=           ${LINUXBASE}/usr/lib/libGL.so.1.2
dri_c6_FILE=            ${LINUXBASE}/usr/lib/libGL.so.1.2.0

on the other hand, there are:
Code:
locate libGL.so
/compat/linux/usr/lib/libGL.so.1
/compat/linux/usr/lib/libGL.so.304.88
/usr/local/lib/.libGL/libGL.so
/usr/local/lib/.libGL/libGL.so.1
/usr/local/lib/.libGL/libGL.so.1.2.0
/usr/local/lib/.nvidia/libGL.so
/usr/local/lib/.nvidia/libGL.so.1
/usr/local/lib/libGL.so
/usr/local/lib/libGL.so.1

--> libGL.so.304.88

so I don't understand the problem with libGL.so.1.
 
Re: linux-C6

Code:
ls -al /usr/local/lib/.libGL/libGL*
-rwxr-xr-x  1 root  wheel     922 20 Sep 21:04 /usr/local/lib/.libGL/libGL.la
lrwxr-xr-x  1 root  wheel      14 20 Sep 21:04 /usr/local/lib/.libGL/libGL.so -> libGL.so.1.2.0
lrwxr-xr-x  1 root  wheel      14 20 Sep 21:04 /usr/local/lib/.libGL/libGL.so.1 -> libGL.so.1.2.0
-rwxr-xr-x  1 root  wheel  521344 20 Sep 21:04 /usr/local/lib/.libGL/libGL.so.1.2.0
ngorx@newgorx:~ % ls -al /usr/local/lib/.nvidia/libGL.so
lrwxr-xr-x  1 root  wheel  10 22 Sep 16:53 /usr/local/lib/.nvidia/libGL.so -> libGL.so.1
ngorx@newgorx:~ % ls -al /usr/local/lib/.nvidia/libGL.so*
lrwxr-xr-x  1 root  wheel       10 22 Sep 16:53 /usr/local/lib/.nvidia/libGL.so -> libGL.so.1
-r--r--r--  3 root  wheel  1026704 22 Sep 16:53 /usr/local/lib/.nvidia/libGL.so.1
ngorx@newgorx:~ % ls -al /compat/linux/usr/lib/libGL.so.1
lrwxr-xr-x  1 root  wheel  15 22 Sep 16:53 /compat/linux/usr/lib/libGL.so.1 -> libGL.so.304.88

They are linked under the same name to two libraries to libGL.so.1.2.0 and libGL.so.30.4.88.
 
This thread did help but it was a bit confusing for me.

From http://www.freshports.org/emulators/linux-c6/

Basically, reinstall emulators/linux-c6 with 'force-config' option.

portmaster --force-config

and select "libGL support via nvidia-driver" option.

You might be tempted to just make config under emulators/linux-c6 but don't or at least still do the 'force-config' because you have to select that option in several dependencies as well. I don't remember all of them but 'force config' will make sure you find them.
 
Last edited by a moderator:
Dear talsamon, thank you for your research of this problem.

Could you now summarize the steps needed to handle the problem of keeping legacy nvidia-driver along with linux-c6 ports depending on nvidia? Just how have you solved it? Because much is mentioned in these numerous posts and it's difficult to figure out which of them is the final solution. But sure you are the one who knows best ;)

Because on one of my machines I do need nvidia-driver-304 with linux support, but upgrades make me face the same problems each time.
 
The "304-driver" has big update-intervals. In the meantime I always forget how it works, it is still a "play" for me.
 
The "304-driver" has big update-intervals. In the meantime I always forget how it works, it is still a "play" for me.
OK, the fix was pretty simple for me: just manually correct the line:
Code:
NVIDIA_GL_RUN_DEPENDS=   ${LINUXBASE}/usr/lib/libGL.so.1:${PORTSDIR}/x11/nvidia-driver
to
Code:
NVIDIA_GL_RUN_DEPENDS=   ${LINUXBASE}/usr/lib/libGL.so.1:${PORTSDIR}/x11/nvidia-driver-304
on the machine in question BEFORE upgrading x11-toolkits/linux-c6-qt47-x11 and other stuff. Per my observation, this is the only one of them directly dependent on the nvidia-driver. Even so, the change of the version of nvidia-driver seems to be only marked in the port's depends. The port itself doesn't seem to make any difference between them.
 
Back
Top