Bootstrap build of Portola on Alpine

Mikael Vidstedt mikael.vidstedt at oracle.com
Fri May 19 21:31:55 UTC 2017


Glad to see that you got it to work! I should have mentioned that I also ran into issues using the default gcc in Alpine 3.5, sorry about that. The problems I ran into were related to the JDK sources not yet being compatible with gcc6, AFAICT there was nothing specific to Alpine/musl.

Thanks a lot for trying it out and for putting together and updating the build instructions! I should look at how we can get that onto the OpenJDK wiki as well at some point.

Cheers,
Mikael

> On May 19, 2017, at 7:03 AM, Josh Graham <josh at grahamis.com> wrote:
> 
> g++ 6 was the issue.
> 
> I now have Alpine 3.5, gclib 2.25, but  restrict to using g++ 5.
> 
> On Fri, May 19, 2017 at 11:26 PM, Josh Graham <josh at grahamis.com> wrote:
> 
>> Alpine 3.5 with the 3.5 packages and glibc-2.25 or 2.24 is a bust so far
>> (different reasons). If I use Alpine 3.5 with it's 3.4 packages and
>> glibc-2.23, all is well. See gist comments for compiler errors.
>> 
>> I also added libelf-dev so AOT can happen.
>> 
>> Cheers,
>> Josh.
>> 
>> PS: Sorry, I've been very ill the past week (it's coming into winter here)
>> so not had much time to work, let alone play ;-)
>> 
>> On Fri, May 19, 2017 at 6:04 PM, Josh Graham <josh at grahamis.com> wrote:
>> 
>>> Well I have a good JDK 10 running on Alpine 3.3.3 (yes, Mikael, you must
>>> be onto something with the older Alpine version).
>>> 
>>> I've updated my gist https://gist.github.com/d
>>> elitescere/d80c6782cb8d1b6f987dbcb9488f58ca
>>> 
>>> I'll now try with Alpine 3.5 and also with JDK9 I suppose?
>>> 
>>> 
>>> On Fri, May 19, 2017 at 1:11 AM, Mikael Vidstedt <
>>> mikael.vidstedt at oracle.com> wrote:
>>> 
>>>> 
>>>> Josh,
>>>> 
>>>> Out of curiosity, which version of Alpine are you using? I notice that
>>>> in the versions of alsa-lib-dev package included in Alpine 3.4 and 3.5 this
>>>> has been fixed. I’m using Alpine 3.4.6 for development, which is why I’m
>>>> not running into the problem.
>>>> 
>>>> Cheers,
>>>> Mikael
>>>> 
>>>> On May 17, 2017, at 11:58 PM, Josh Graham <josh at grahamis.com> wrote:
>>>> 
>>>> OK Updated the gist, the extra args to config no longer needed :-)
>>>> 
>>>> The symlink of sys/poll.h is because of this:
>>>> 
>>>> 
>>>> In file included from /usr/include/alsa/asoundlib.h:38:0,
>>>>                 from /code/jdk/src/java.desktop/uni
>>>> x/native/libjsound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.h:26,
>>>>                 from /code/jdk/src/java.desktop/uni
>>>> x/native/libjsound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.c:29:
>>>> /usr/include/sys/poll.h:1:2: error: #warning redirecting incorrect
>>>> #include <sys/poll.h> to <poll.h> [-Werror=cpp]
>>>> #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
>>>>  ^
>>>> In file included from /usr/include/alsa/asoundlib.h:38:0,
>>>>                 from /code/jdk/src/java.desktop/uni
>>>> x/native/libjsound/PLATFORM_API_LinuxOS_ALSA_MidiIn.c:32:
>>>> /usr/include/sys/poll.h:1:2: error: #warning redirecting incorrect
>>>> #include <sys/poll.h> to <poll.h> [-Werror=cpp]
>>>> #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
>>>>  ^
>>>> cc1: all warnings being treated as errors
>>>> SoundLibraries.gmk:151: recipe for target '/code/build/linux-x86_64-norm
>>>> al-server-release/support/native/java.desktop/libjsoundalsa/
>>>> PLATFORM_API_LinuxOS_ALSA_CommonUtils.o' failed
>>>> make[3]: *** [/code/build/linux-x86_64-norm
>>>> al-server-release/support/native/java.desktop/libjsoundalsa/
>>>> PLATFORM_API_LinuxOS_ALSA_CommonUtils.o] Error 1
>>>> make[3]: *** Waiting for unfinished jobs....
>>>> In file included from /usr/include/alsa/asoundlib.h:38:0,
>>>>                 from /code/jdk/src/java.desktop/uni
>>>> x/native/libjsound/PLATFORM_API_LinuxOS_ALSA_MidiOut.c:31:
>>>> /usr/include/sys/poll.h:1:2: error: #warning redirecting incorrect
>>>> #include <sys/poll.h> to <poll.h> [-Werror=cpp]
>>>> #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
>>>>  ^
>>>> cc1: all warnings being treated as errors
>>>> cc1: all warnings being treated as errors
>>>> SoundLibraries.gmk:151: recipe for target '/code/build/linux-x86_64-norm
>>>> al-server-release/support/native/java.desktop/libjsoundalsa/
>>>> PLATFORM_API_LinuxOS_ALSA_MidiIn.o' failed
>>>> make[3]: *** [/code/build/linux-x86_64-norm
>>>> al-server-release/support/native/java.desktop/libjsoundalsa/
>>>> PLATFORM_API_LinuxOS_ALSA_MidiIn.o] Error 1
>>>> make[3]: *** [/code/build/linux-x86_64-norm
>>>> al-server-release/support/native/java.desktop/libjsoundalsa/
>>>> PLATFORM_API_LinuxOS_ALSA_MidiOut.o] Error 1
>>>> SoundLibraries.gmk:151: recipe for target '/code/build/linux-x86_64-norm
>>>> al-server-release/support/native/java.desktop/libjsoundalsa/
>>>> PLATFORM_API_LinuxOS_ALSA_MidiOut.o' failed
>>>> make[2]: *** [java.desktop-libs] Error 1
>>>> make/Main.gmk:221: recipe for target 'java.desktop-libs' failed
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On Wed, May 17, 2017 at 9:54 AM, Mikael Vidstedt <
>>>> mikael.vidstedt at oracle.com> wrote:
>>>> 
>>>>> 
>>>>> Josh,
>>>>> 
>>>>> Did you have a chance to look at which file generates the warning/error?
>>>>> 
>>>>> Also, with the latest changes in the portola forest you should
>>>>> (hopefully) be able to drop the —build and —host configure arguments. If
>>>>> you happen to have a chance to try that let me know how it works out for
>>>>> you!
>>>>> 
>>>>> Cheers,
>>>>> Mikael
>>>>> 
>>>>>> On Apr 26, 2017, at 6:42 PM, Mikael Vidstedt <
>>>>> mikael.vidstedt at oracle.com> wrote:
>>>>>> 
>>>>>> 
>>>>>>> On Apr 26, 2017, at 6:14 PM, Josh Graham <josh at grahamis.com> wrote:
>>>>>>> 
>>>>>>> G'day Mikael,
>>>>>>> 
>>>>>>> Out of curiosity, why did you have to do the poll.h softlink
>>>>> workaround? I
>>>>>>>> was naively hoping I had fixed all of the incorrect includes, but
>>>>> maybe I
>>>>>>>> missed something?
>>>>>>>> 
>>>>>>> 
>>>>>>> With warnings-as-errors the content of `sys/poll.h` emits a warning,
>>>>> thus
>>>>>>> raises an error. I suppose that flag could be turned off. There's a
>>>>> few
>>>>>>> -Xlint warnings, too, which may warrant further investigation.
>>>>>> 
>>>>>> Right, but I thought this change would have removed all the
>>>>> references to sys/poll.h (in favor of poll.h without the sys/ prefix):
>>>>>> 
>>>>>> http://mail.openjdk.java.net/pipermail/portola-dev/2017-Apri
>>>>> l/000009.html <http://mail.openjdk.java.net/
>>>>> pipermail/portola-dev/2017-April/000009.html>
>>>>>> 
>>>>>> http://hg.openjdk.java.net/portola/portola/hotspot/rev/95d3f5d5ca24
>>>>>> http://hg.openjdk.java.net/portola/portola/jdk/rev/e5f4488e151b <
>>>>> http://hg.openjdk.java.net/portola/portola/jdk/rev/e5f4488e151b>
>>>>>> 
>>>>>> Which file is generating the warning/error?
>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> bash ./configure --host=x86_64-unknown-linux-musl
>>>>>>>> --build=x86_64-unknown-linux-musl <…>
>>>>>>>> 
>>>>>>> 
>>>>>>> Trying that now (along with a `make clean`). The new
>>>>> `--openjdk-target`
>>>>>>> argument looks interesting, I'll play with that too at some point.
>>>>>> 
>>>>>> Indeed. Erik/Magnus, can you comment on how the —openjdk-target
>>>>> could/should be used here..?
>>>>>> 
>>>>>>> After I get a good build, I'll iterate from fresh and incorporate
>>>>> the `sed`
>>>>>>> idea and fewer package installs. Then it's on to runtime testing!
>>>>>> 
>>>>>> Sounds great, let me know!
>>>>>> 
>>>>>> Cheers,
>>>>>> Mikael
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>> 



More information about the portola-dev mailing list