Recent

Author Topic: Installing on aging Mac running OS X 10.2.8  (Read 20006 times)

PeterWood

  • New member
  • *
  • Posts: 8
Installing on aging Mac running OS X 10.2.8
« on: November 25, 2006, 10:32:48 am »
I am trying to install Lazarus on a rapidly aging iBook running under OS X 10.2.8. I followed the very clear instructions at http://wiki.lazarus.freepascal.org/Installing_Lazarus_on_MacOS_X but when I came to run Lazarus I hit this problem:

dyld: ./lazarus Undefined symbols:
./lazarus undefined reference to _dlclose expected to be defined in /usr/lib/libSystem.B.dylib
./lazarus undefined reference to _dlopen expected to be defined in /usr/lib/libSystem.B.dylib
./lazarus undefined reference to _dlsym expected to be defined in /usr/lib/libSystem.B.dylib
./lazarus undefined reference to _nl_langinfo expected to be defined in /usr/lib/libSystem.B.dylib
./lazarus undefined reference to _towlower expected to be defined in /usr/lib/libSystem.B.dylib
./lazarus undefined reference to _towupper expected to be defined in /usr/lib/libSystem.B.dylib
./lazarus undefined reference to _wcscoll expected to be defined in /usr/lib/libSystem.B.dylib

The version that I downloaded are fpc 2.0.4 & lazarus 0.9.20.

The date of /usr/lib/System.B.dylib on my machine is 7 Aug 2003 on my machine.

I'm guessing that I either need to try an older versions of Lazarus or to update System.B.dylib (or possibly both).

Any suggestions?

Peter

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: Installing on aging Mac running OS X 10.2.8
« Reply #1 on: November 25, 2006, 06:09:50 pm »
Quote from: "PeterWood"
I am trying to install Lazarus on a rapidly aging iBook running under OS X 10.2.8.

The date of /usr/lib/System.B.dylib on my machine is 7 Aug 2003 on my machine.

I'm guessing that I either need to try an older versions of Lazarus or to update System.B.dylib (or possibly both).


Sound like FPC runtime is now using those functions. I don't see much information about what the minimum version of OS X required to run Lazarus and FPC. The wiki stuff that mentions 10.2 is probably long out of date.

libSystem.B.dylib is a core OS X library. Do this to see that Lazarus does indeed use it:

cd /usr/local/share/lazarus
otool -L lazarus

Do this to see what routines are in libSystem.B.dylib:

cd /usr/lib
otool -Tv libSystem.B.dylib

On my 10.3.9 system I see the routines that gave you the errors.

You might not be able to easily replace this library since it's probably in use by other programs and by OS X.

Is an upgrade to 10.3 possible? Your iBook should be able to run it fine. Note that Apple doesn't support with security and other updates any version earlier than 10.3.9, so you might take that as a cue to upgrade.

You might post on the FPC site a question about what the minimum OS requirements are for FPC. I doubt if I would want to support 10.2 for my users.

ovidius

  • New Member
  • *
  • Posts: 21
Installing on aging Mac running OS X 10.2.8
« Reply #2 on: November 25, 2006, 07:07:20 pm »
Quote
The version that I downloaded are fpc 2.0.4 & lazarus 0.9.20.

The date of /usr/lib/System.B.dylib on my machine is 7 Aug 2003 on my machine.

I'm guessing that I either need to try an older versions of Lazarus or to update System.B.dylib (or possibly both).

Any suggestions?

Compile Lazarus yourself from source. Maybe it is just the problem, that the one who made the installation package for lazarus used Panther or Tiger for creation and did not make it backward compatible.

If FreePascal runs okay, then everything should compile fine and compiling lazarus is very simple.

PeterWood

  • New member
  • *
  • Posts: 8
Installing on aging Mac running OS X 10.2.8
« Reply #3 on: November 26, 2006, 02:36:31 am »
Phil: Thanks for the tips. I do hope to upgrade the OS one day.

Ovidius: That sounds logical. FreePascal seems to run okay. I compiled a trivial program to test it. I'll try to compile Lazarus from source. Thanks.

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Installing on aging Mac running OS X 10.2.8
« Reply #4 on: November 26, 2006, 02:47:35 am »
To compile lazarus go to it's folder and simply type: make clean all

Of course you need gnu make, gtk and many other software installed for this to work.

Vincent Snijders

  • Administrator
  • Hero Member
  • *
  • Posts: 2661
    • My Lazarus wiki user page
Installing on aging Mac running OS X 10.2.8
« Reply #5 on: November 27, 2006, 10:11:23 am »
I asked on the fpc-pascal list.

Jonas replied:
Quote
The compiler works fine, but Mac OS X 10.2.8 did not include a dlopen/
dlclose/... emulation layer by default. You have to install dlcompat  
there (it's a.o. in the fink distribution for that version of the  
OS), and link your program against that (you can also install/use  
dlcompat on later OS versions, but that adds extra and unneeded  
dependencies for those OS versions and fink does not include dlcompat  
anymore for them).

Phil

  • Hero Member
  • *****
  • Posts: 2737
Installing on aging Mac running OS X 10.2.8
« Reply #6 on: November 27, 2006, 06:53:31 pm »
Quote from: "Vincent"
I asked on the fpc-pascal list.

Jonas replied:
Quote
The compiler works fine, but Mac OS X 10.2.8 did not include a dlopen/
dlclose/... emulation layer by default. You have to install dlcompat  
there (it's a.o. in the fink distribution for that version of the  
OS), and link your program against that (you can also install/use  
dlcompat on later OS versions, but that adds extra and unneeded  
dependencies for those OS versions and fink does not include dlcompat  
anymore for them).


If this is a workable solution for running Lazarus with OS X 10.2, it probably needs to be written up in some detail on the wiki.

I assume that installing dlcompat would also be required to run an app compiled on 10.2 (and linked against dlcompat) on a user's computer. My own solution would be just not to support anything earlier than 10.3.9, as most Mac software makers do. For example, I believe the latest Qt libraries (4.2.x) from Trolltech now require 10.3.9 or later. The handwriting is on the wall.

Thanks.

PeterWood

  • New member
  • *
  • Posts: 8
Installing on aging Mac running OS X 10.2.8
« Reply #7 on: November 28, 2006, 10:51:38 am »
Sekel & Vincent: Thanks for the advice. I'll try to compile Lazarus when I have a little free time again. Hopefully next week.

I'll let you know how I get on.

PeterWood

  • New member
  • *
  • Posts: 8
Installing on aging Mac running OS X 10.2.8
« Reply #8 on: December 04, 2006, 12:59:48 pm »
Just a quick update to let you know that I haven't simply ignored the kind advice. My first attempt to run "make clean all" resulted in a number of make errors (eg make: -iVSPTPSOTO: Command not found) but rather than bother everybody I think that it's best for me to sit down and do my homework on make, compiling and linking first.

Vincent Snijders

  • Administrator
  • Hero Member
  • *
  • Posts: 2661
    • My Lazarus wiki user page
Installing on aging Mac running OS X 10.2.8
« Reply #9 on: December 04, 2006, 01:52:34 pm »
This probably means, the makefile cannot find a (boot strapping) compiler.

If you want a thorugh treatment of how to build the compiler, look at the Build FAQ.

PeterWood

  • New member
  • *
  • Posts: 8
Installing on aging Mac running OS X 10.2.8
« Reply #10 on: December 04, 2006, 03:05:03 pm »
Thanks, I'll take a look at the Build FAQ

PeterWood

  • New member
  • *
  • Posts: 8
Installing on aging Mac running OS X 10.2.8
« Reply #11 on: December 28, 2006, 10:10:58 am »
I'd forgotten to include the path for FPC in the $PATH before compiling Lazarus! Now that I've included it I can successfully compile Lazarus but not yet link it.

dlcompat was already installed but not dlcompat-dev (header files) & dlcompat-shlibs (shared libs). I installed them with Fink but then get the following link error:

Linking ../lazarus
/usr/bin/ld: /usr/local/lib/fpc/2.0.4/units/powerpc-darwin/rtl/dynlibs.o illegal reference to symbol: _dlopen defined in indirectly referenced dynamic library /sw/lib/libdl.0.dylib
lazarus.pp(117,1) Error: Error while linking

Perhaps I'd better start saving harder for that OS X upgrade.

 

TinyPortal © 2005-2018