YaST Soft

I installed PCRE 8.12 on my server using YaST but found that PCRE 7.9 was still installed and active (as seen via pcretest -C). In order to delete or deactive PCRE 7.9 I tried deleting it using YaST. But I think that process deleted many other files which were needed for YaST to properly run. Now, YaST is broken. When I start YaST in my terminal and select+enter ‘Software Management’ or any other option, error like following appears:

yast

Can’t locate Config.pm in @INC (@INC contains: /y2update/modules /root/.yast2/modules /usr/share/YaST2/modules /usr/lib/perl5/site_perl/5.12.1/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.12.1 /usr/lib/perl5/vendor_perl/5.12.1/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.12.1 /usr/lib/perl5/5.12.1/i586-linux-thread-multi /usr/lib/perl5/5.12.1 .) at /usr/lib/perl5/5.12.1/diagnostics.pm line 195.
BEGIN failed–compilation aborted at /usr/lib/perl5/5.12.1/diagnostics.pm line 195.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.12.1/i586-linux-thread-multi/YaST/YCP.pm line 119.
BEGIN failed–compilation aborted at /usr/lib/perl5/vendor_perl/5.12.1/i586-linux-thread-multi/YaST/YCP.pm line 119.
Compilation failed in require at /usr/share/YaST2/modules/URLRecode.pm line 16.
BEGIN failed–compilation aborted at /usr/share/YaST2/modules/URLRecode.pm line 16.
Compilation failed in require.
BEGIN failed–compilation aborted.
y2base: perl.c:542: perl_destruct: Assertion `(my_perl->Iscopestack_ix) == 1’ failed.
YaST got signal 6 at YCP file /usr/share/YaST2/clients/sw_single.ycp:25
/sbin/yast: line 399: 30043 Aborted $ybindir/y2base $module “$@” “$SELECTED_GUI” $Y2_GEOMETRY $Y2UI_ARGS

Following info might be useful:

I am using opensuse 11.3 (x86_64)

zypper lr

| Alias | Name | Enabled | Refresh

–±------------------------------------±---------------------------------------------±--------±-------
1 | Updates for openSUSE 11.3 11.3-1.82 | Updates for openSUSE 11.3 11.3-1.82 | Yes | Yes
2 | download.opensuse.org-oss | Main Repository (Sources) | Yes | Yes
3 | download.opensuse.org-perl | openSUSE BuildService - devel:languages:perl | Yes | Yes
4 | download.opensuse.org-php | openSUSE BuildService - PHP | Yes | Yes
5 | openSUSE_11.3 | openSUSE_11.3 | Yes | Yes
6 | repo-non-oss | openSUSE-11.3-Non-Oss | Yes | Yes
7 | repo-oss | openSUSE-11.3-Oss | Yes | Yes

I have already done zypper up

Any kind of help will be highly appreciated. Thanks…

Following this forum I reinstalled perl and now yast is showing following error:

yast

Can’t locate Config.pm in @INC (@INC contains: /y2update/modules /root/.yast2/modules /usr/share/YaST2/modules /usr/lib/perl5/site_perl/5.12.1/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.12.1 /usr/lib/perl5/vendor_perl/5.12.1/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.12.1 /usr/lib/perl5/5.12.1/i586-linux-thread-multi /usr/lib/perl5/5.12.1 .) at /usr/lib/perl5/5.12.1/diagnostics.pm line 195.
BEGIN failed–compilation aborted at /usr/lib/perl5/5.12.1/diagnostics.pm line 195.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.12.1/i586-linux-thread-multi/YaST/YCP.pm line 119.
BEGIN failed–compilation aborted at /usr/lib/perl5/vendor_perl/5.12.1/i586-linux-thread-multi/YaST/YCP.pm line 119.
Compilation failed in require at /usr/share/YaST2/modules/URLRecode.pm line 16.
BEGIN failed–compilation aborted at /usr/share/YaST2/modules/URLRecode.pm line 16.
Compilation failed in require.
BEGIN failed–compilation aborted.
y2base: perl.c:542: perl_destruct: Assertion `(my_perl->Iscopestack_ix) == 1’ failed.
YaST got signal 6 at YCP file /usr/share/YaST2/clients/sw_single.ycp:25
/sbin/yast: line 399: 30680 Aborted $ybindir/y2base $module “$@” “$SELECTED_GUI” $Y2_GEOMETRY $Y2UI_ARGS

this doesn’t seem like a YaST problem to me…this may get you back to
something that works, again [WARNING: read my caveat prior to beginning]:

  1. disable all repos except oss, non-oss, update and packman for the
    installed version of openSUSE (i guess that is 11.3, but you didn’t
    say!)

  2. use zypper to install pcre, yast and yast2

hopefully, that might put you back to a working YaST and and pcre 7.9

  1. investigate the correct/proper way to move to pcre 8.12 (i have no
    idea how to do that! but, apparently just installing 8.12 with YaST as
    you did is not the way…ask a Perl guru how (maybe you must take all
    Perl to the same level, i do not know.)…


DD
-Caveat-Hardware-Software-

  1. I have mentioned that I am using 11.3 in my first post.
  2. Installing yast and/or yast2 return “Nothing to do” error.

DenverD wrote:
> 3. investigate the correct/proper way to move to pcre 8.12 (i have no
> idea how to do that! but, apparently just installing 8.12 with YaST as
> you did is not the way…ask a Perl guru how (maybe you must take all
> Perl to the same level, i do not know.)…

PCRE has nothing to do with Perl, AFAIK. Specifically it is a
perl-compatible regular expression library for other, pattern-challenged
languages that don’t have the native capability.

@usmanajml, PCRE is used by quite a few packages, so if you removed it,
you will have to reinstall all of them. The simplest route is probably
to go back to your last backup from before you upgraded pcre.

If you can’t do that… the -force option to zypper may be needed but
may be dangerous.

I don’t understand why removing PCRE would break a YaST perl module.
And I don’t understand where PCRE 8.12 came from. So be very careful.

On 2011-07-04 15:25, Dave Howorth wrote:
> I don’t understand why removing PCRE would break a YaST perl module.

By removing perl, as a dependency.

It is important to check the summary screen in Yast before actually
removing things - it is easy to shoot yourself on the foot.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Carlos E. R. wrote:
> On 2011-07-04 15:25, Dave Howorth wrote:
>> I don’t understand why removing PCRE would break a YaST perl module.
>
> By removing perl, as a dependency.

Eh? What dependency? PCRE has nothing to do with perl.

On 2011-07-05 11:32, Dave Howorth wrote:
> Carlos E. R. wrote:
>> By removing perl, as a dependency.
>
> Eh? What dependency? PCRE has nothing to do with perl.

Try to remove PCRE. I just tried, and it said it was going to remove
leafnode and 2314 things more…


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Carlos E. R. wrote:
> On 2011-07-05 11:32, Dave Howorth wrote:
>> Carlos E. R. wrote:
>>> By removing perl, as a dependency.
>> Eh? What dependency? PCRE has nothing to do with perl.
>
> Try to remove PCRE. I just tried, and it said it was going to remove
> leafnode and 2314 things more…

Yes, but perl isn’t one of them!

On my x86_64 machine, what it seems to want to do is remove the 64-bit
pcre and everything that depends on it and replace them with 32-bit
versions. I don’t know what would happen if I let it try, or what it
would do on a 32-bit machine. Some of the packages it wants to replace
are yast ones, so perhaps something breaks when it is changed.

On 07/05/2011 04:15 PM, Dave Howorth wrote:
> Carlos E. R. wrote:
>> Try to remove PCRE. I just tried, and it said it was going to remove
>> leafnode and 2314 things more…
>
> On my x86_64 machine, what it seems to want to do is remove the 64-bit
> pcre and everything that depends on it

yikes! no matter how i look at that, it sounds like death to the system
if one wants to go from 7.9 to 8.12–wow, that is what the OP found out,
huh?

must be a bug there somewhere…


DD
-Caveat-Hardware-Software-

DenverD wrote:
> On 07/05/2011 04:15 PM, Dave Howorth wrote:
>> Carlos E. R. wrote:
>>> Try to remove PCRE. I just tried, and it said it was going to remove
>>> leafnode and 2314 things more…
>>
>> On my x86_64 machine, what it seems to want to do is remove the 64-bit
>> pcre and everything that depends on it
>
> yikes! no matter how i look at that, it sounds like death to the system
> if one wants to go from 7.9 to 8.12–wow, that is what the OP found out,
> huh?
>
> must be a bug there somewhere…

Well, PCRE is used by the system, and 7.9 to 8.12 sounds like a big
step. Traditionally a major version increment would indicate an API
change, so I certainly wouldn’t try to replace it.

If a particular application needed a new version, it may be possible to
add the new version as well, if it uses a similar mechanism to library
versioning. Otherwise I would place the new version in a private place
associated only with the rogue application. (rogue since it obviously
wasn’t built in the ‘standard’ environment for that version of opensuse).

So I don’t think there needs to be a bug in any standard software.

On 07/05/2011 06:05 PM, Dave Howorth wrote:
> (rogue since it obviously
> wasn’t built in the ‘standard’ environment for that version of opensuse).

i guess it is time to ask the OP why the upgrade was attempted…seems
maybe it was ill advised…


DD
-Caveat-Hardware-Software-

Hi,

I’m running openSUSE 11.4 64-bit, and I had the same error message as listed in the original post, and I noticed it after a somewhat major change I made just yesterday: I had followed the instructions on this image: http://www.su2root.ukfsn.org/files/Switcher%20Pics/packman%20in%20gnome.png and then several dialog boxes came up that asked me what to do, the options being switching the architecture of several pieces of software, breaking dependencies or uninstalling them (plus a few variances to that here and there). Naturally, I chose to do my best to keep the software I had by switching the architecture and I have a feeling that this broke something somewhere.

Can we therefore conclude that the problem is possibly related to the 64-bit architecture?

Found some info here: Access Denied

So installing perl-base-32bit fixed things for me. My conclusion above must have been somewhat accurate.

PS, how do you edit posts? I know I did it once but I cannot for the life of my figure it out again. Ctrl-F and search for “edit” and I find one result which is where it says “You may edit your posts” at the bottom of the page.

EDIT: Right after posting this, an edit button appears only for this post >.< This forum’s functionality is unique.

EDIT: Well, now when I try to use a one-click-install .ymp file, I get the following:

Can’t locate XML/Parser.pm in @INC (@INC contains: /y2update/modules /home/marcus/.yast2/modules /usr/share/YaST2/modules /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.12.3 /usr/lib/perl5/vendor_perl/5.12.3/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.12.3 /usr/lib/perl5/5.12.3/i586-linux-thread-multi /usr/lib/perl5/5.12.3 .) at /usr/lib/perl5/vendor_perl/5.12.3/XML/XPath/XMLParser.pm line 7.
BEGIN failed–compilation aborted at /usr/lib/perl5/vendor_perl/5.12.3/XML/XPath/XMLParser.pm line 7.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.12.3/XML/XPath.pm line 13.
BEGIN failed–compilation aborted at /usr/lib/perl5/vendor_perl/5.12.3/XML/XPath.pm line 13.
Compilation failed in require at /usr/share/YaST2/modules/YPX.pm line 6.
BEGIN failed–compilation aborted at /usr/share/YaST2/modules/YPX.pm line 6.
Compilation failed in require.
BEGIN failed–compilation aborted (#1)
(F) You said to do (or require, or use) a file that couldn’t be
found. Perl looks for the file in all the locations mentioned in @INC,
unless the file name included the full path to the file. Perhaps you
need to set the PERL5LIB or PERL5OPT environment variable to say where
the extra library is, or maybe the script needs to add the library name
to @INC. Or maybe you just misspelled the name of the file. See
perlfunc/require and lib.

Uncaught exception from user code:
Can’t locate XML/Parser.pm in @INC (@INC contains: /y2update/modules /home/marcus/.yast2/modules /usr/share/YaST2/modules /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.12.3 /usr/lib/perl5/vendor_perl/5.12.3/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.12.3 /usr/lib/perl5/5.12.3/i586-linux-thread-multi /usr/lib/perl5/5.12.3 .) at /usr/lib/perl5/vendor_perl/5.12.3/XML/XPath/XMLParser.pm line 7.
BEGIN failed–compilation aborted at /usr/lib/perl5/vendor_perl/5.12.3/XML/XPath/XMLParser.pm line 7.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.12.3/XML/XPath.pm line 13.
BEGIN failed–compilation aborted at /usr/lib/perl5/vendor_perl/5.12.3/XML/XPath.pm line 13.
Compilation failed in require at /usr/share/YaST2/modules/YPX.pm line 6.
BEGIN failed–compilation aborted at /usr/share/YaST2/modules/YPX.pm line 6.
Compilation failed in require.
BEGIN failed–compilation aborted.
at -e line 0
y2base: perl.c:542: perl_destruct: Assertion `(my_perl->Iscopestack_ix) == 1’ failed.
YaST got signal 6 at YCP file /usr/share/YaST2/clients/OneClickInstallUI.ycp:7
/sbin/yast2: line 423: 9393 Aborted $ybindir/y2base $module “$@” “$SELECTED_GUI” $Y2_GEOMETRY $Y2UI_ARGS
Xlib: extension “RANDR” missing on display “:0.0”.

On 07/05/2011 08:36 PM, Vi3GameHkr wrote:
>
> Can we therefore conclude that the problem is possibly related to the
> 64-bit architecture?

were you also trying to move from PCRE 7.9 to 8.12?
why?


DD
-Caveat-Hardware-Software-

On 2011-07-05 21:06, Vi3GameHkr wrote:
> EDIT: Right after posting this, an edit button appears only for this
> post >.< This forum’s functionality is unique.

Read the FAQ somewhere :wink:


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 2011-07-05 16:53, DenverD wrote:

> yikes! no matter how i look at that, it sounds like death to the system if
> one wants to go from 7.9 to 8.12–wow, that is what the OP found out, huh?

Right.

>
> must be a bug there somewhere…

No bug. :slight_smile:

No attention to detail, or wrong tool.

You don’t remove a package to install it again, but different version: you
upgrade a package instead.

If YaST hiccups, then use CLI, rpm directly. Or, disable automatic
dependency check in yast, do it manually when all the changes have been
entered.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

I was instructed in this thread to switch several packages to a pacman repository as part of fixing a problem with LibreOffice. I did two things at once: switching the repository, and installing drivers for my 9800 GT card. Between the two, I’m not sure which fixed LibreOffice and which screwed up YaST, and I don’t specifically know how to undo either action.

Right now, since installing the 32-bit perl base package, I can open YaST Software Management, but I cannot perform one-click installs so I’m unsure as to whether I should start a new thread concerning the new problem or if its okay to talk about it here (in this thread which I did not start)

Ah…finally a puzzled penguin solved my problem. Installing perl-base-32bit solved the problem with YaST. Now, I can browse the Software Mgmt option.

Okay…Now here is the thing I wanted to update PCRE 7.9 to 8.0 or above for it’s a requirement of The Bug Genie - a bug tracker.
Can I atleast upgrade to PCRE 8.0?
How?

YaST is now showing me that PCRE 7.9 and 8.12 both are installed but 7.9 is being used as shown by pcretest.
How can I instruct my system to use 8.12?

@Vi3GameHkr
Thanks for the solution. :slight_smile:

On 07/06/2011 06:36 AM, usmanajml wrote:
> The Bug Genie

why in the world would you take the chance of murdering your system so
you could use The Bug Genie?

let me say it a different way: if you have found a bug while running
openSUSE the only place you need to report or track it is here:
http://tinyurl.com/nzhq7j

i highly recommend you not ‘upgrade’ anything until you understand how
to back level and/or fix whatever you might mess up…


DD
-Caveat-Hardware-Software-