Building hsdis?
Volker Simonis
volker.simonis at gmail.com
Wed Dec 20 09:54:21 UTC 2017
On Wed, Dec 20, 2017 at 10:40 AM, David Buck <david.buck at oracle.com> wrote:
> Hi Ted!
>
>> BTW, I'm sure there's a good reason for this, but why doesn't
>> OpenJDK/Oracle offer pre-built versions of hsdis for a variety of common
>> platforms? Is there a licensing issue?
>
> Yes, binutils is GPL 3, and OpenJDK is under GPL 2. We are very aware of
> this as a pain point and are looking to improve things in the future. It is
> simply a matter of bandwidth at the moment.
>
Yes, that's exactly the issue. And it was communicated to the OpenJDK
Governing Board more than two and a half years ago (see my mail
"Providing 'hsdis' binaries not possible because of GPLv2/GPLv3
license clash" from May 2015 [1]) and since then reiterated several
times. I'll plan to raise this issue again at the public GB meeting at
FOSDEM in February next year - however with very little hope that it
will be resolved :(
Regards,
Volker
[1] http://mail.openjdk.java.net/pipermail/discuss/2015-May/003754.html
> Cheers,
> -Buck
>
>
> On 2017/12/20 18:35, Ted Neward wrote:
>>
>> Sorry--I was cribbing from here
>> (https://www.chrisnewland.com/building-hsdis-on-linux-amd64-on-debian-369)
>> and it references using 2.23, which memory transposed to 2.32, I think.
>>
>> I'm not sure what was going wrong (well, I can tell you what the errors
>> were, but I dunno what was causing them), but I want to work from something
>> we know works (a la your instructions) and hopefully that'll catch any
>> environmental differences that might be causing any problems. :-)
>>
>> The README was a little confusing when I was going through it; I'll try to
>> go back over it tomorrow and try to identify which parts left me confused,
>> in case it's something that needs correcting. (I hold the possibility that
>> I'm just an idiot as a very strong possibility.)
>>
>> BTW, I'm sure there's a good reason for this, but why doesn't
>> OpenJDK/Oracle offer pre-built versions of hsdis for a variety of common
>> platforms? Is there a licensing issue?
>>
>> I'll give this a spin tomorrow and fire back with any issues/questions.
>> Thanks!
>>
>> Ted Neward
>> Author, Speaker, Mentor
>> http://www.newardassociates.com
>> t: @tedneward | m: (425) 647-4526
>>
>> On 12/20/17, 12:54 AM, "David Buck" <david.buck at oracle.com> wrote:
>>
>> Hi Ted!
>> > the version of binutils (I was using 2.32)
>> Not sure what that is. Latest binutils is 2.29.1.
>> > I was doing make BINUTILS=<binutils_dir> ARCH=amd64
>> That should also work, but I'd still keep things simple and just
>> specify
>> the "all64" make target. As always, whatever is documented in the
>> README
>> file should probably be your default choice.
>> > Do I need to clone the hs repo on its own? Or can I use the
>> bits
>> > buried inside of jdk/src/...
>> No need to clone jdk/hs. I was just cloning it out of habit. All
>> you
>> need is the contents of the hsdir directory (from either repository).
>> There is not much active work done on hsdis, so in practice you are
>> unlikely to notice a difference between the jdk and hs repositories.
>> Cheers,
>> -Buck
>> On 2017/12/20 17:31, Ted Neward wrote:
>> > I will give this a shot tomorrow; I can see two things already that
>> I did that was different, the version of binutils (I was using 2.32) and the
>> make command (I was doing make BINUTILS=<binutils_dir> ARCH=amd64 from the
>> hsdis directory itself inside the jdk source. Do I need to clone the hs repo
>> on its own? Or can I use the bits buried inside of jdk/src/... (sorry I
>> can't remember the full path off the top of my head)?
>> >
>> > Once we confirm that this works, I'll work with you on
>> Windows--fortunately I know Windows better than Ubuntu, so hopefully that
>> helps. :-) (And let's be really clear, I *really* don't know what's going on
>> with the texinfo and all that stuff.)
>> >
>> > Ted Neward
>> > Author, Speaker, Mentor
>> > http://www.newardassociates.com
>> > t: @tedneward | m: (425) 647-4526
>> >
>> > On 12/20/17, 12:13 AM, "David Buck" <david.buck at oracle.com> wrote:
>> >
>> > Hi Ted!
>> >
>> > No blog to point you to, but building on non-Windows platforms
>> should be
>> > pretty painless these days.
>> >
>> > > then tried again with the JDK source
>> >
>> > Yes, that is the one to use. The makefile had a number of
>> issues that I
>> > fixed recently but have not (yet) backported to 8u-dev.
>> >
>> > I was able to build on an Ubuntu 16.4 (AMD64) using the
>> following
>> > commands (output omitted):
>> >
>> > ===
>> > hg clone http://hg.openjdk.java.net/jdk/hs
>> > wget http://ftp.gnu.org/gnu/binutils/binutils-2.28.1.tar.gz
>> > tar xf binutils-2.28.1.tar.gz
>> > cd hs/src/utils/hsdis/
>> > make all64 BINUTILS=../../../../binutils-2.28.1
>> > ===
>> >
>> > The above steps resulted in the plugin being generated here:
>> >
>> > hs/src/utils/hsdis/build/linux-amd64/hsdis-amd64.so
>> >
>> > Note the version of binutils I used, there is some issue with
>> 2.29 and
>> > later versions that prevents the build from succeeding. I hope
>> to
>> > investigate if I get some extra bandwidth next year. Also,
>> avoiding
>> > "cross compiling" is probably a good idea. If you want to
>> build a 32-bit
>> > plugin, it is probably simpler to just build it in a 32-bit
>> environment.
>> >
>> > Let us know once you get this working. macOS is pretty
>> similar. Then we
>> > can take a crack at a Windows build if you are up for it.
>> >
>> > Cheers,
>> > -Buck
>> >
>> > On 2017/12/20 7:13, Ted Neward wrote:
>> > > Hey, all. Been trying for a day and a half now to build the
>> hsdis disassembly plugin in jdk/src/utils/hsdis, with no luck. (Tried first
>> off of the JDK8u source, then tried again with the JDK source, no love
>> either way.)
>> > >
>> > >
>> > >
>> > > Is there a definitive page (wiki, blog, etc) that describes
>> how to build hsdis on different platforms? I’m trying right now in an Ubuntu
>> 16 VM, but would also want to build on Windows and/or macOS. All the Web is
>> showing me is posts from a few years ago that don’t seem to address some of
>> the issues I’m running into.
>> > >
>> > >
>> > >
>> > > I can copy build output if it’ll help, but wanted to go do
>> my homework before doing that. :-)
>> > >
>> > >
>> > >
>> > > Ted Neward
>> > >
>> > > Author, Speaker, Mentor
>> > >
>> > > http://www.newardassociates.com
>> > >
>> > > t: @tedneward | m: (425) 647-4526
>> > >
>> >
>> >
>> >
>>
>>
>
More information about the build-dev
mailing list