[8u] RFR: 8255003: Build failures on Solaris (was Re: Build failures on illumos (Solaris))

Andrew Brygin abrygin at azul.com
Tue Oct 20 03:52:41 UTC 2020


Hello Peter and Severin,

 could you please review a fix for JDK-8255003?

Bug: https://bugs.openjdk.java.net/browse/JDK-8255003
Webrev: http://cr.openjdk.java.net/~bae/8u/8255003/webrev.00/

 Proposed changes:
 The mapfile-vers for libjava is renamed to mapfile-linux, and separate
mapfiles for aix and solaris are added. CoreLibraries.gmk is updated
accordingly.

 At the moment, the only difference between linux and aix/solaris is
the removal of the following symbol:

Java_jdk_internal_platform_cgroupv1_Metrics_isUseContainerSupport;

 Beside this, the symbol Java_sun_awt_X11_XToolkit_getDefaultScreenData
is removed from make/mapfiles/libawt_xawt/mapfile-vers.

 The change has been verified by builds on linux (x86_64), solaris (x64,
 sun studio 12.1), and macos. Unfortunately I do not have aix system to
test the build.

Thanks,
Andrew

On 19/10/2020 15:42, Peter Tribble wrote:
> 
> 
> On Mon, Oct 19, 2020 at 1:30 PM Severin Gehwolf <sgehwolf at redhat.com
> <mailto:sgehwolf at redhat.com>> wrote:
> 
>     Hi Andrew,
> 
>     On Mon, Oct 19, 2020 at 12:08 PM Andrew Brygin <abrygin at azul.com
>     <mailto:abrygin at azul.com>> wrote:
>     >
>     > We have seen this build issue, and use a separate mapfile for solaris.
>     > It is not much convenient, but seems to be most safe option to handle
>     > different sets of symbols for solaris and linux. Suggested patch is
>     > attached.
> 
> 
> Thanks!
> 
> Looks fine for this specific fix. I suspect aix is broken as well though.
> 
> Having had a look at roughly how these mapfiles work, I think the normal
> way (insofar
> as there only a couple of existing cases) would be
> 
> LIBJAVA_MAPFILE ?=
> $(JDK_TOPDIR)/make/mapfiles/libjava/mapfile-$(OPENJDK_TARGET_OS)
> 
> and then mv the current mapfile-vers to mapfile-linux, and create
> mapfile-solaris and
> mapfile-aix with the errant line removed.
>  
> 
>     Yes, this seems fine. Could you please create a bug and post for
>     review when you get a chance?
> 
>     Thanks,
>     Severin
> 
>     > On 19/10/2020 12:51, Severin Gehwolf wrote:
>     > > On Mon, Oct 19, 2020 at 11:43 AM Peter Tribble
>     <peter.tribble at gmail.com <mailto:peter.tribble at gmail.com>> wrote:
>     > >> On Mon, Oct 19, 2020 at 10:32 AM Severin Gehwolf
>     <sgehwolf at redhat.com <mailto:sgehwolf at redhat.com>> wrote:
>     > >>>
>     > >>> Hi,
>     > >>>
>     > >>> On Fri, Oct 16, 2020 at 12:28 PM Peter Tribble
>     <peter.tribble at gmail.com <mailto:peter.tribble at gmail.com>> wrote:
>     > >>>>
>     > >>>> Trying a build of 8u272-b09 on Solaris (specifically,
>     illumos) I'm seeing a
>     > >>>> couple of
>     > >>>> build failures:
>     > >>>>
>     > >>>> Undefined                       first referenced
>     > >>>>  symbol                             in file
>     > >>>> Java_jdk_internal_platform_cgroupv1_Metrics_isUseContainerSupport
>     > >>>>
>     /export/home/ptribble/ud/openjdk8u272/jdk/make/mapfiles/libjava/mapfile-vers
>     > >>>> ld: fatal: symbol referencing errors. No output written to
>     > >>>>
>     /export/home/ptribble/ud/openjdk8u272/build/solaris-x86_64-normal-server-release/jdk/lib/amd64/libjava.so
>     > >>>>
>     > >>>> That symbol clearly doesn't apply to Solaris.
>     > >>>>
>     > >>>> Undefined                       first referenced
>     > >>>>  symbol                             in file
>     > >>>> Java_sun_awt_X11_XToolkit_getDefaultScreenData
>     > >>>>
>     /export/home/ptribble/ud/openjdk8u272/jdk/make/mapfiles/libawt_xawt/mapfile-vers
>     > >>>> ld: fatal: symbol referencing errors. No output written to
>     > >>>>
>     /export/home/ptribble/ud/openjdk8u272/build/solaris-x86_64-normal-server-release/jdk/lib/amd64/libawt_xawt.so
>     > >>>>
>     > >>>> That appears to have been removed from
>     > >>>> jdk/src/solaris/native/sun/xawt/XToolkit.c
>     > >>>> but still lingers in the mapfile.
>     > >>>>
>     > >>>> Removing those two errant entries from the map files allows
>     the build to
>     > >>>> complete, and my initial testing looks good.
>     > >>>
>     > >>> Thanks for the report. We are aware of this. Unfortunately, we
>     don't
>     > >>> have a system to reproduce this and it's somewhat low priority
>     for us.
>     > >>> If you'd be willing to contribute patches, I'd gladly accept and
>     > >>> approve it for 8u.
>     > >>
>     > >>
>     > >> Sure. Here's a patch to fix both.
>     > >
>     > > I'm afraid this would break Linux builds (and maybe others). One
>     > > possible fix could be to only remove those lines from the map
>     files if
>     > > the build platform is solaris.
>     > >
>     > > Thanks,
>     > > Severin
>     > >
> 
> 
> 
> -- 
> -Peter Tribble
> http://www.petertribble.co.uk/ <http://www.petertribble.co.uk/> -
> http://ptribble.blogspot.com/ <http://ptribble.blogspot.com/>



More information about the jdk8u-dev mailing list