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