Recent

Author Topic: Linking in 10.3  (Read 12396 times)

Jaco

  • New Member
  • *
  • Posts: 45
Linking in 10.3
« on: May 13, 2008, 08:24:39 am »
Hi,

I'm trying to compile and link a carbon project that successfully does so under 10.4 and 10.5, under 10.3. At the moment of linking I get the following errors:
/usr/bin/ld: Undefined symbols:
_kCGColorSpaceGenericRGB
_CGContextSetBlendMode
_CGImageCreateWithImageInRect
_HIShapeCreateEmpty
_HIViewSetNeedsDisplayInShape
_kCGColorSpaceGenericGray
_CGContextAddEllipseInRect
_CGContextClipToMask
_CGContextDrawLayerInRect
_CGLayerCreateWithContext
_CGLayerGetContext
_CGLayerRelease
_HIViewSetNeedsDisplayInRect
_HIViewSetText
_HIComboBoxSetListVisible
_DataBrowserSetMetric
_kUTTypePlainText
_kUTTypeUTF16PlainText
_kUTTypeUTF8PlainText

Is this the carbon being incompatible?
The reason why I want to generate the app on 10.3, is that the compiled version on 10.4 does not run on 10.3, same thing I saw a while ago between 10.5 and 10.4.

So, am I doing something wrong here? Shouldn't an app compiled under 10.3 be linkable? Any suggestions to be able to compile it on Panther would be very useful !

Many thanks,

Jaco

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: Linking in 10.3
« Reply #1 on: May 13, 2008, 04:18:50 pm »
Quote from: "jvoorham"
Hi,

I'm trying to compile and link a carbon project that successfully does so under 10.4 and 10.5, under 10.3. At the moment of linking I get the following errors:
/usr/bin/ld: Undefined symbols:
_kCGColorSpaceGenericRGB


The Carbon widgetset uses Carbon API functions that are not available on 10.3. So no linking is possible on 10.3 and no running is possible on 10.3.

Thanks.

-Phil

Jaco

  • New Member
  • *
  • Posts: 45
Linking in 10.3
« Reply #2 on: May 13, 2008, 04:22:47 pm »
Hi Phil,

I was afraid of that answer.....

So, is the QT widgetset a good alternative?
It says you need 10.4 to install it, but the compiled software runs on 10.3.9. How to get the framework installed on 10.3 I have not tried yet.

Of course, forcing the 10.3 user to upgrade to Tiger is always an option, but one I prefer not to use....

Thanks,

Jaco

Phil

  • Hero Member
  • *****
  • Posts: 2737
Linking in 10.3
« Reply #3 on: May 13, 2008, 04:44:51 pm »
Quote from: "jvoorham"
Hi Phil,

I was afraid of that answer.....

So, is the QT widgetset a good alternative?
It says you need 10.4 to install it, but the compiled software runs on 10.3.9. How to get the framework installed on 10.3 I have not tried yet.

Of course, forcing the 10.3 user to upgrade to Tiger is always an option, but one I prefer not to use....

Thanks,

Jaco


I wouldn't recommend Qt for that reason. You're just postponing the inevitable in supporting 10.3. Also, you'll probably need a Qt commercial license.

Thanks.

-Phil

JazzMan

  • New Member
  • *
  • Posts: 32
    • http://www.earmaster.com
Linking in 10.3
« Reply #4 on: May 21, 2008, 10:17:29 am »
I am surprised that the Carbon widgetset requires 10.4 and later, I haven't seen that information anywhere before. I am porting a large commercial Delphi project to Lazarus-Carbon and it is supposed to hit the stores in the autumn this year.
Getting worried how many users are still on 10.3 and earlier :-(

Best regards,
Hans Jakobsen

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Linking in 10.3
« Reply #5 on: May 21, 2008, 01:54:47 pm »
Lazarus is Free Software.

If the current services provided by Lazarus aren't enougth for you, you can submit a patch, or pay someone to create a patch which will do what you desire (have 10.3 support).

http://wiki.lazarus.freepascal.org/How_To_Help_Developing_Lazarus

You can also post a bounty:

http://wiki.lazarus.freepascal.org/Bounties

JazzMan

  • New Member
  • *
  • Posts: 32
    • http://www.earmaster.com
Linking in 10.3
« Reply #6 on: May 21, 2008, 03:29:10 pm »
Yes, with software everything is possible if you have enough money :-)
Lazarus is free software made by volunteers, and that puts a limit on how thorough it can be. I did expect Lazarus to be compatible more than 3 years back though (OSX 10.4 was released in 2005).
Anyway, the sparse statistics I have found so far indicates that about 10-15% of the Mac users are using 10.3 or older, so it might not be a big problem.
If will look further into this later, right now we have still got plenty of problems to solve before we can compile our application with Lazarus-Carbon at all ;-)

Best regards,
Hans Jakobsen

Phil

  • Hero Member
  • *****
  • Posts: 2737
Linking in 10.3
« Reply #7 on: May 21, 2008, 04:02:43 pm »
Quote from: "JazzMan"
I am surprised that the Carbon widgetset requires 10.4 and later, I haven't seen that information anywhere before. I am porting a large commercial Delphi project to Lazarus-Carbon and it is supposed to hit the stores in the autumn this year.
Getting worried how many users are still on 10.3 and earlier :-(

Best regards,
Hans Jakobsen


Tomas made the decision in early 2007, I believe, to support only 10.4 since he wanted to use some functions introduced in the 10.4 Carbon API that would make life easier for the widgetset.

10.3 users probably won't be upgrading their applications or obtaining new software since a lot of the new stuff also requires 10.4 or later. My thinking is that if Apple doesn't support 10.3 anymore, why should we? You could argue that Apple does kind of force people into upgrading OS X on a more frequent basis than Windows does, but it's generally an easier and cheaper upgrade.

10.4 was introduced in April 2005. Does that seem like such a short time? For some users, it probably does. But if you consider that in the meantime Apple made a complete shift to Intel processors, you can see why they might be interested in closing the book on 10.3.

Thanks.

-Phil

Jaco

  • New Member
  • *
  • Posts: 45
Linking in 10.3
« Reply #8 on: June 13, 2008, 06:56:18 pm »
Hi,
I picked up the 10.3.9 support again, since one (probably more) of my end-users will not upgrade to 10.4 soon.
So, I tried to compile a gtk version of my app, to run on 10.3.9. It won't run though, due to some missing functions the sqlite3 looks for in a system dylib
So, I installed 10.3.9 on a second partition with Laz on it, maybe compiling against that version would solve the problem. I didn't get far, since the 'lsqlite'  linker option keeps on returning that the file cannot be found. I am sure the sqlite3.dylib is in /usr/lib, and this directory is in my PATH.

Any suggestions how to solve this issue? I am using fpc 2.2.0.

Thanks,

Jaco

Phil

  • Hero Member
  • *****
  • Posts: 2737
Linking in 10.3
« Reply #9 on: June 13, 2008, 07:30:55 pm »
Quote from: "jvoorham"
Any suggestions how to solve this issue? I am using fpc 2.2.0.


I doubt if anybody here is still using 10.3.

Maybe this is one of those times when you have to put your foot down and say you're not supporting computers that can easily be upgraded. Even G3 iBooks can run 10.4.

Thanks.

-Phil

Jonas Maebe

  • Hero Member
  • *****
  • Posts: 1071
Linking in 10.3
« Reply #10 on: June 13, 2008, 10:00:06 pm »
Quote from: "jvoorham"

So, I installed 10.3.9 on a second partition with Laz on it, maybe compiling against that version would solve the problem. I didn't get far, since the 'lsqlite'  linker option keeps on returning that the file cannot be found. I am sure the sqlite3.dylib is in /usr/lib, and this directory is in my PATH.


libsqlite3.dylib (nor libsqlite.dylib, which is what -lsqlite would make the linker look for) does not exist on a stock Mac OS X 10.3.x install (it's only shipped by default as of Mac OS X 10.4.0). Even if you would install it on your 10.3.9 system, you would still have to ship that library together with your program for users running your program on 10.3.x. Preferably inside your application bundle and not not in a global system directory, so it cannot cause conflicts with other applications (look e.g. at http://doc.trolltech.com/qq/qq09-mac-deployment.html#sharedlibraries on how to do that).

Secondly, the PATH environment variable is only used on Dos/Windows and is used there to find programs to execute, not to find libraries during linking or execution. The same goes for path (lowercase) under unix (including Mac OS X).

jwdietrich

  • Hero Member
  • *****
  • Posts: 1274
    • formatio reticularis
Re: Linking in 10.3
« Reply #11 on: March 13, 2010, 03:33:01 pm »
So, I installed 10.3.9 on a second partition with Laz on it, maybe compiling against that version would solve the problem. I didn't get far, since the 'lsqlite'  linker option keeps on returning that the file cannot be found. I am sure the sqlite3.dylib is in /usr/lib, and this directory is in my PATH.

Which versions of Lazarus and Free Pascal are supported on OS 10.3?
function GetRandomNumber: integer; // xkcd.com
begin
  GetRandomNumber := 4; // chosen by fair dice roll. Guaranteed to be random.
end;

http://www.formatio-reticularis.de

Lazarus 4.2.0 | FPC 3.2.2 | PPC, Intel, ARM | macOS, Windows, Linux

Jonas Maebe

  • Hero Member
  • *****
  • Posts: 1071
Re: Linking in 10.3
« Reply #12 on: March 13, 2010, 09:17:54 pm »
Which versions of Lazarus and Free Pascal are supported on OS 10.3?

No Lazarus version has ever been supported Mac OS X 10.3 (and unless someone spends a lot of time on adding such support and maintaining it, it probably never will). The system requirements for FPC are mentioned on the download pages, see http://www.freepascal.org/down/powerpc/macosx-ftp.freepascal.org.var and http://www.freepascal.org/down/i386/macosx-ftp.freepascal.org.var

 

TinyPortal © 2005-2018