From owner-freebsd-current Fri Dec 17 21:55:43 1999 Delivered-To: freebsd-current@freebsd.org Received: from smtprch1.nortel.com (smtprch1.nortelnetworks.com [192.135.215.14]) by hub.freebsd.org (Postfix) with ESMTP id 04F8614D9B for ; Fri, 17 Dec 1999 21:55:41 -0800 (PST) (envelope-from atrens@nortelnetworks.com) Received: from zmers013 by smtprch1.nortel.com; Fri, 17 Dec 1999 23:54:16 -0600 Received: from hcarp00g.ca.nortel.com by zmers013; Sat, 18 Dec 1999 00:54:01 -0500 Received: from hcarp00g.ca.nortel.com (hcarp00g.ca.nortel.com [47.196.31.114]) by hcarp00g.ca.nortel.com (8.9.3/8.7.3) with ESMTP id BAA08484; Sat, 18 Dec 1999 01:01:36 -0500 (EST) Date: Sat, 18 Dec 1999 01:01:36 -0500 (EST) From: "Andrew Atrens" X-Sender: atrens@hcarp00g.ca.nortel.com Reply-To: "Andrew Atrens" To: Doug White Cc: current@FreeBSD.ORG Subject: Re: framemaker for linux In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Fri, 17 Dec 1999, Doug White wrote: > Date: Fri, 17 Dec 1999 20:45:40 -0800 (PST) > From: Doug White > To: "Atrens, Andrew (A.B.) [EXCHANGE:SKY:1U33]" > > Cc: current@FreeBSD.ORG > Subject: Re: framemaker for linux > > On Thu, 16 Dec 1999, Andrew Atrens wrote: > > > > > All, > > > > This might be a linux ABI question, or it might be an `ld.so' question, > > so arguably I could have sent this to emulation, questions or since I run > > -current, current, or perhaps hackers, at any rate here goes - > > > > > > I've got `framemaker for linux' and am getting - > > > > # maker5X.exe > > maker5X.exe: error in loading shared libraries > > : undefined symbol: __register_frame_info > > > > I believe this is a libc issue. I remember running into this before, > although on the FreeBSD ABI (I _think_). Quite possibly since at the root of it, it's a gcc/egcs incompatibility. The problem is described quite nicely in the glibc FAQ - | 2.8. When I run an executable on one system which I compiled on | another, I get dynamic linker errors. Both systems have the same | version of glibc installed. What's wrong? | | {ZW} Glibc on one of these systems was compiled with gcc 2.7 or 2.8, the | other with egcs (any version). Egcs has functions in its internal | `libgcc.a' to support exception handling with C++. They are linked into | any program or dynamic library compiled with egcs, whether it needs them | or | not. Dynamic libraries then turn around and export those functions again | unless special steps are taken to prevent them. | | When you link your program, it resolves its references to the exception | functions to the ones exported accidentally by libc.so. That works fine | as | long as libc has those functions. On the other system, libc doesn't have | those functions because it was compiled by gcc 2.8, and you get undefined | symbol errors. The symbols in question are named things like | `__register_frame_info'. The best thing to do is get the glibc-2.1.2-11.i386.rpm from redhat and install it with - rpm --ignoreos --root=/usr/compat/linux --nodeps -i glibc-2.1.2-11.i386.rpm This version apparently has stubs for __register_frame_info and friends and so will work irregardless of which gcc it was built with. Andrew. -- +-- | Andrew Atrens Nortel Networks, Ottawa, Canada. | | All opinions expressed are my own, not those of any employer. | --+ Heller's Law: The first myth of management is that it exists. Johnson's Corollary: Nobody really knows what is going on anywhere within the organization. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message