Go Back   The macosxhints Forums > OS X Help Requests > UNIX - General



Reply
 
Thread Tools Rating: Thread Rating: 14 votes, 5.00 average. Display Modes
Old 01-02-2003, 04:35 PM   #1
ClarkGoble
Triple-A Player
 
Join Date: Jan 2002
Posts: 58
Fink and Perl 5.8 = failure

I was about to do update a few more applications when I found that my installing of the latest version of Perl had pretty well killed my Fink setup. Is Fink incompatible with the new Perl? (5.8)

Also, I noticed that you can't install Expect via Fink. (This was prior to Christmas in my unupgraded Perl state) You have to find the Wish distribution (available on Version Tracker or Source Forge) and then install the full Wish/TCL/TK system. It puts the files in the Apple binary locations and works fine. If you try and do it with either the normal source code of Expect or via Fink installing source you'll get some odd errors. I believe they are related to the install of TCL and where files are. I was in the process of tracking down each Makefile problem when I discovered the other distribution.

I already put a note about this on the Expect hint in the main OSX Hint page. Expect is very useful, especially when doing things with Applescript that involve more complex manipulation of Unix programs.
ClarkGoble is offline   Reply With Quote
Old 01-02-2003, 04:45 PM   #2
tas
Triple-A Player
 
Join Date: Nov 2002
Location: Frankfurt, Germany
Posts: 167
Sorry, no help, just empathy: to my horror, I just found out that the same thing happened here. i installed perl 5.8.0 yesterday, and my fink seems to be dead now. When I type
Code:
fink list
I get
Code:
dyld: perl Undefined symbols:
_Perl_sv_2pv
_perl_get_sv
And I was so proud of my new perl...
tas is offline   Reply With Quote
Old 01-02-2003, 08:47 PM   #3
ClarkGoble
Triple-A Player
 
Join Date: Jan 2002
Posts: 58
That's odd. I actually could get fink list to work. I noticed the problem when nothing was showing up in FinkCommander. It was when I started playing around some more that I found the problem.

The only bad thing is that I don't think you can uninstall the new version of Perl.
ClarkGoble is offline   Reply With Quote
Old 01-03-2003, 12:06 AM   #4
sao
Moderator
 
Join Date: Jan 2002
Location: Singapore
Posts: 4,237
Please read the following post:

http://archive.develooper.com/macosx.../msg02447.html


Cheers...
sao is offline   Reply With Quote
Old 01-03-2003, 03:26 AM   #5
tas
Triple-A Player
 
Join Date: Nov 2002
Location: Frankfurt, Germany
Posts: 167
SAO FOR SUPREME-RULER-OF-FINK!!!
thx man!
tas is offline   Reply With Quote
Old 01-03-2003, 06:24 AM   #6
sao
Moderator
 
Join Date: Jan 2002
Location: Singapore
Posts: 4,237
tas,

Glad it worked...


Cheers...
sao is offline   Reply With Quote
Old 01-03-2003, 02:18 PM   #7
sao
Moderator
 
Join Date: Jan 2002
Location: Singapore
Posts: 4,237
ClarkGoble,

Did you followed the instructions on the page "Installing Perl 5.8 on Jaguar" at:

http://developer.apple.com/internet/macosx/perl.html


Cheers...
sao is offline   Reply With Quote
Old 01-03-2003, 03:28 PM   #8
ClarkGoble
Triple-A Player
 
Join Date: Jan 2002
Posts: 58
No, it was in part of a package and I assumed that the package manager would do those things. There was no note on the installer of such a page of caveats.

I didn't install it via the normal .gz format and install methods. Had I been doing that I would have looked at such things. But since it was part of a full OSX installer and so forth, I thought that implied a certain level of integration into OSX.

Obviously I choose. . .poorly.

But realistically the only real problem I had was with Perl. So perhaps the OSX installer did resolve everything that was mentioned in that Apple tech note.

I followed the Fink note. All my installed programs now show up, but not the uninstalled ones. I'm still tweaking around with Fink and am trying to rebuild more things.

Last edited by ClarkGoble; 01-03-2003 at 03:42 PM.
ClarkGoble is offline   Reply With Quote
Old 01-03-2003, 11:23 PM   #9
ClarkGoble
Triple-A Player
 
Join Date: Jan 2002
Posts: 58
Just thought I'd give an update. I went through the Apple note on Perl and found a few things that the installer for Perl didn't set up.

First of CPAN appeared to require NcFTP. So I built that. Its available at

http://www.ncftpd.com/ncftp/

Anyway, I think went and tried to redo all the XS modules in /sw/lib/perl5/darwin. However I kept get compile errors in weird places. At the moment I'm reinstalling Fink from scratch, to see if that fixes things.
ClarkGoble is offline   Reply With Quote
Old 01-04-2003, 12:48 AM   #10
sao
Moderator
 
Join Date: Jan 2002
Location: Singapore
Posts: 4,237
ClarkGoble,

Maybe this thread can help:

http://www.mail-archive.com/fink-use.../msg07401.html


Cheers...
sao is offline   Reply With Quote
Old 01-04-2003, 01:28 AM   #11
ClarkGoble
Triple-A Player
 
Join Date: Jan 2002
Posts: 58
I got it more or less working. I basically deleted Fink and then re-installed it. Went without a hitch.

The only problem I'm still having is with Fink Commander. It won't list any packages whatsoever. I even downloaded the source, just in case there was some odd Perl linkages. But it seemed a fairly simple program and rebuilding that in Project Builder didn't help at all.

Anyone with Perl 5.8 running Fink Commander?

I've not tried any TK stuff. That was the prior problem I had. I'd installed the Aqua version of TK/TCL and there occasional was a bit of confusion in some shell scripts.
ClarkGoble is offline   Reply With Quote
Old 01-04-2003, 02:52 AM   #12
sao
Moderator
 
Join Date: Jan 2002
Location: Singapore
Posts: 4,237
Quote:
ClarkGoble wrote:
Anyone with Perl 5.8 running Fink Commander?

I 'think' FinkCommander runs the 'fink index' command if the user changes the tree settings in the Preferences panel. It then updates the table to reflect the new settings.


Cheers...
sao is offline   Reply With Quote
Old 01-04-2003, 12:29 PM   #13
sao
Moderator
 
Join Date: Jan 2002
Location: Singapore
Posts: 4,237
ClarkGoble,

From within FinkCommander, try running:

Source > Utilities > Index


Cheers...

Last edited by sao; 01-04-2003 at 03:13 PM.
sao is offline   Reply With Quote
Old 01-04-2003, 03:49 PM   #14
ClarkGoble
Triple-A Player
 
Join Date: Jan 2002
Posts: 58
I did that. No go.

I'm stuck using dselect.
ClarkGoble is offline   Reply With Quote
Old 01-05-2003, 12:31 AM   #15
sao
Moderator
 
Join Date: Jan 2002
Location: Singapore
Posts: 4,237
ClarkGoble,

Maybe you follow this thread here:

http://sourceforge.net/mailarchive/f...&forum_id=9724

or post your problem to the 'fink-users' list.


Cheers...
sao is offline   Reply With Quote
Old 01-05-2003, 05:47 AM   #16
ClarkGoble
Triple-A Player
 
Join Date: Jan 2002
Posts: 58
All my environmental variables seem set right. I did add the LC_ALL as C to Fink Commander, but it made no difference.

I'll post a message to the list you sent. Thanks for the feedback. I actually don't mind dselect as bad as I thought I would. It is more of a hassle, but not enormously so.
ClarkGoble is offline   Reply With Quote
Old 01-15-2003, 04:39 PM   #17
V-tach
Prospect
 
Join Date: Jun 2002
Posts: 20
I followed the instructions on the Apple Developer site, but now I get an error message from perl on log-in about my locale settings. Can anybody tell me what I did wrong, because they seem to be set when I check with printenv!?

Code:
Welcome to Darwin!
Wed Jan 15 16:22:08 EST 2003
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LC_ALL = (unset),
        LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
 ________________________________________ 
/ Life's the same, except for the shoes. \
\ - The Cars                             /
 ---------------------------------------- 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
[imac:~] V-tach% printenv
HOME=/Users/V-tach
SHELL=/bin/tcsh
USER=plinehan
LANG=en_US
PATH=/sw/bin:/sw/sbin:/Users/V-tach/bin/powerpc-apple-darwin:/Users/V-tach/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/X11R6/bin:./
__CF_USER_TEXT_ENCODING=0x1F5:0:0
TERM=vt100
TERMCAP=???
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=81
LOGNAME=V-tach
HOSTTYPE=macintosh
VENDOR=apple
OSTYPE=darwin
MACHTYPE=powerpc
SHLVL=1
PWD=/Users/V-tach
GROUP=staff
HOST=imac.local.
ENV_SET=
DISPLAY=:0.0
LC_ALL=C
MANPATH=/sw/share/man:/sw/man:/Users/plinehan/man:/usr/local/share/man:/usr/share/man:/usr/X11R6/man
INFOPATH=/sw/share/info:/sw/info:/usr/local/share/info:/usr/local/lib/info:/usr/local/info:/usr/share/info
PERL5LIB=/sw/lib/perl5
[imac:~] V-tach%
V-tach is offline   Reply With Quote
Old 01-16-2003, 03:07 AM   #18
sao
Moderator
 
Join Date: Jan 2002
Location: Singapore
Posts: 4,237
V-tach,

To solve the immediate problem try unsetting LANG.

If you use bash or other bourne variants:

unset LANG

For tcsh or other csh variants:

unsetenv LANG


Cheers...
sao is offline   Reply With Quote
Old 01-16-2003, 03:35 AM   #19
sao
Moderator
 
Join Date: Jan 2002
Location: Singapore
Posts: 4,237
First read:

ls /usr/share/locale
Code:
perl: warning: Setting locale failed.
        perl: warning: Please check that your locale settings:
                LC_ALL = "En_US",
                LANG = (unset)
            are supported and installed on your system.
        perl: warning: Falling back to the standard locale ("C").
This means that your locale settings had LC_ALL set to ``En_US'' and LANG exists but has no value. Perl tried to believe you but could not. Instead, Perl gave up and fell back to the ``C'' locale, the default locale that is supposed to work no matter what. This usually means your locale settings were wrong, they mention locales your system has never heard of, or the locale installation in your system has problems (for example, some system files are broken or missing). There are quick and temporary fixes to these problems, as well as more thorough and lasting fixes.

Temporarily fixing locale problems

The two quickest fixes are either to render Perl silent about any locale inconsistencies or to run Perl under the default locale ``C''.

Perl's moaning about locale problems can be silenced by setting the environment variable PERL_BADLANG to a zero value, for example ``0''. This method really just sweeps the problem under the carpet: you tell Perl to shut up even when Perl sees that something is wrong. Do not be surprised if later something locale-dependent misbehaves.

Perl can be run under the ``C'' locale by setting the environment variable LC_ALL to ``C''. This method is perhaps a bit more civilized than the PERL_BADLANG approach, but setting LC_ALL (or other locale variables) may affect other programs as well, not just Perl. In particular, external programs run from within Perl will see these changes. If you make the new settings permanent (read on), all programs you run see the changes. See ENVIRONMENT for the full list of relevant environment variables and USING LOCALES for their effects in Perl. Effects in other programs are easily deducible. For example, the variable LC_COLLATE may well affect your sort program (or whatever the program that arranges `records' alphabetically in your system is called).

You can test out changing these variables temporarily, and if the new settings seem to help, put those settings into your shell startup files. Consult your local documentation for the exact details. For in Bourne-like shells (sh, ksh, bash, zsh):


LC_ALL=en_US.ISO8859-1
export LC_ALL

This assumes that we saw the locale ``en_US.ISO8859-1'' using the commands discussed above. We decided to try that instead of the above faulty locale ``En_US''--and in Cshish shells (csh, tcsh)


setenv LC_ALL en_US.ISO8859-1

or if you have the ``env'' application you can do in any shell


env LC_ALL=en_US.ISO8859-1 perl ...


For more info on how to Permanently fixing your system's locale configuration check here:

http://www.perlpod.com/stable/perllocale.html


Cheers...
sao is offline   Reply With Quote
Old 01-17-2003, 12:39 PM   #20
V-tach
Prospect
 
Join Date: Jun 2002
Posts: 20
Thanks for the tips sao, but I tracked down the cause of my problem. Once again I ran afoul of Apple's arcane .tcshrc structure.

I installed Perl 5.8.0 using the instructions at

http://developer.apple.com/internet/macosx/perl.html

and followed these instructions:

Before moving on, however, you need to set an environment variable:

Code:
setenv LC_ALL C
echo "setenv LC_ALL C" >> ~/.tcshrc

However my .tcshrc already had



Code:
source /usr/share/tcsh/examples/rc
in it, so it looks like it ignored the


Code:
setenv LC_ALL C

statement. I got rid of the errors by appending the statement to my ~/Library/init/tcsh/environment.mine file instead.
V-tach is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT -5. The time now is 06:08 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Site design © IDG Consumer & SMB; individuals retain copyright of their postings
but consent to the possible use of their material in other areas of IDG Consumer & SMB.