Hi Artem,

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!

Many thanks!

David
-----


Rebuilding /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/lib/i386/libjawt.so because of /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/tmp/sun/sun.awt/jawt/obj_gO/.files_compiled mapfile-vers /java/devtools/i586/SUNWspro/SS12u1/bin/cc -g -xO2 -L/java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/tmp/sun/sun.awt/jawt/obj_gO -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/java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/tmp/sun/sun.awt/jawt/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/sun/awt -I../../../src/solaris/native/sun/awt -DJAVASE_EMBEDDED -I/usr/openwin/include -I../../../src/share/native/sun/awt/debug -I../../../src/share/native/sun/awt/image -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/awt/alphacomposite -I../../../src/share/native/sun/awt/medialib -I../../../src/solaris/native/sun/awt/medialib -I../../../src/share/native/sun/awt/../java2d/loops -I../../../src/share/native/sun/awt/../java2d/pipe -I../../../src/share/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/x11 -I../../../src/share/native/sun/awt/../dc/doe -I../../../src/share/native/sun/awt/../dc/path -I../../../src/solaris/native/sun/awt/../jdga -Mmapfile-vers -z defs -L/java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/lib/i386 -xildoff -R\$ORIGIN -ztext -G -o /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/lib/i386/libjawt.so /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/tmp/sun/sun.awt/jawt/obj_gO/jawt.o -L/java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/lib/i386 -L/usr/openwin/lib -L/java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/lib/i386/headless -lmawt -L/usr/openwin/sfw/lib -lXrender -ljava -L/java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/lib/i386/client -ljvm -m32 -lc
Undefined                       first referenced
 symbol                             in file
awt_FreeDrawingSurface /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/tmp/sun/sun.awt/jawt/obj_gO/jawt.o awt_Unlock /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/tmp/sun/sun.awt/jawt/obj_gO/jawt.o awt_GetComponent /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/tmp/sun/sun.awt/jawt/obj_gO/jawt.o awt_GetDrawingSurface /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/tmp/sun/sun.awt/jawt/obj_gO/jawt.o awt_Lock /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/tmp/sun/sun.awt/jawt/obj_gO/jawt.o ld: fatal: Symbol referencing errors. No output written to /java/embedded/ws/ej2se-master/1.7.0/builds/b02/solaris-i586-ea/../solaris-i586-fastdebug/lib/i386/libjawt.so



Thanks,

Artem

Please cc me as I'm not a member of awt-dev.

Thanks,
David

-------- Original Message --------
Subject: Missing -L path for xawt
Date: Mon, 06 Dec 2010 20:34:12 +1000
From: David Holmes <david.hol...@oracle.com>
Organization: Oracle Corporation
To: build-dev <build-...@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.

Thanks,
David Holmes

Reply via email to