BuildRequire for gcc46 in SLES11 packages causes "unresolvable" conflict for provider of libgcc43

Hi there,

I need to compile a package with gcc/c++ 4.6 for SLES11 SP2.

I tried to insert the following rules in the relate spec file:


...
BuildRequires: gcc46 gcc46-c++
...
%build
...
export CC=gcc-4.6
export CXX=g++-4.6
...

But this will result in an “unresolvable” status with the hint:
“conflict for provider of libgcc43, (provider libgcc43 is conflicted by installed libgcc46), conflict for provider of libgomp1 >= 4.6.20110701-0.13.9 needed by gcc46, (provider libgomp46 is conflicted by installed libgomp43)”

In a stand-alone installation of SLES11 SP2 all is working fine after the installation of the complete stack of gcc46 and removing the libgcc43.

Is it related to the Preinstalled packages of OBS?
Is there a way to force the use of gcc 4.6 on SLE_11_SP2 builds?

Best regards,
Ettore Simone

Hi
Set the Prefer: statement in your project configuration file…


Prefer: gcc46
Prefer: gcc46-c++

I see you already got an advice, but be warned that this is the openSUSE forums and not the SLES/SLED forums. They are at https://forums.suse.com/forum.php (same username/password as here).

I do trust malcolmlewis answer, but it could be that others give you advice even not noticing that you are not asking for openSUSE.

Thank you for the advise.

I’m sorry for posting in the wrong thread. I already opened it in the correct SLES forum.

Anyway, even editing the project conf (obs meta prjconf -e) with the Prefer statements do not solves:


Prefer: cpp46
Prefer: gcc46
Prefer: gcc46-c++
Prefer: libgcc46
Prefer: libgcc46-32bit
Prefer: libgomp46
Prefer: libstdc++46
Prefer: libstdc++46-32bit
Prefer: libstdc++46-devel

Best regards,
Ettore Simone

Hi there,

In the case it could help, I made it working by adding in the spec file the following rules:


...
BuildRequires: gcc46
#!BuildIgnore: libgomp43
#!BuildIgnore: libgcc43
...

The relative “Ignore:” in the project config does not work.

Best regards,
Ettore Simone