<AWT Dev> [Fwd: Missing -L path for xawt]
David.Holmes at oracle.com
Tue Dec 7 03:37:28 PST 2010
Artem Ananiev said the following on 12/07/10 21:14:
> On 12/7/2010 3:06 AM, David Holmes wrote:
>> Total silence on build-dev. Perhaps someone on awt-dev knows what to
>> look for?
> Could you provide an exact build error you're observing, please?
> As far as I know, we shouldn't link to libmawt.so (I assume you meant
> libmawt.so, not libxawt.so, right?) directly as there are multiple
> versions of libmawt (in i386/xawt, i386/headless, i386/motif in JDK6),
> and what libmawt.so should be used is determined in runtime.
> sun/xawt/Makefile doesn't contain -lxawt or -lmawt, which makes me
> believe my assumption is correct.
The error is in linking libjawt.so. There are references to undefined
symbols - see below.
And yes I meant libmawt not libxawt - sorry about that, got confused
between the library name and the directory it can be found in.
AFAICS the missing symbols are in libmawt, which is specified with
-lmawt but I couldn't see where it would be found. However you've now
told me it should be in headless (which is set by -L) - and there it is,
but the symbols are not in there - so I think my problem is that
headless/libmawt.so is not being built right, and that is something I
can link to my Makefile changes!
/java/devtools/i586/SUNWspro/SS12u1/bin/cc -g -xO2
-xc99=%none -xCC -errshort=tags -Xa -v -mt -xstrconst -W0,-noglobal
-m32 -erroff=E_BAD_PRAGMA_PACK_VALUE -KPIC -DDEBUG -DLOGGING -DDBINFO
-D__solaris__ -Di586 -DcpuIntel -D_LITTLE_ENDIAN= -Di386 -DTRACING
-DMACRO_MEMSYS_OPS -DBREAKPTS -I.
-I../../../src/solaris/native/sun/awt/../jdga -Mmapfile-vers -z defs
-xildoff -R\$ORIGIN -ztext -G -o
-lmawt -L/usr/openwin/sfw/lib -lXrender -ljava
-ljvm -m32 -lc
Undefined first referenced
symbol in file
ld: fatal: Symbol referencing errors. No output written to
>> Please cc me as I'm not a member of awt-dev.
>> -------- Original Message --------
>> Subject: Missing -L path for xawt
>> Date: Mon, 06 Dec 2010 20:34:12 +1000
>> From: David Holmes <David.Holmes at oracle.com>
>> Organization: Oracle Corporation
>> To: build-dev <build-dev at openjdk.java.net>
>> I have a problem building for Solaris-i586. When building libjawt.so I
>> get missing symbol references that should be coming from libxawt.so.
>> However the -L path is for lib/i386 whereas xawt.so resides in
>> lib/i386/xawt, hence it isn't found.
>> I can't tell why this error is arising. Does anyone have any suggestions
>> as to what might be the source of the problem?
>> The other possibility is that the lib is meant to be build with "z
>> nodefs" rather than "z defs" - though again I'm not sure where this flag
>> might be being mis-set.
>> David Holmes
More information about the build-dev