"native-platform" compilation problem

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

"native-platform" compilation problem

tinca

Hello,

Since version 1.3 gradle has problem on FreeBSD (see the link below). Now I tried to look at subproject 'native-platform' and found a bootstrap problem. I paste here my last comment from the forum.

Native-platform's code compile fails by either using a local gradle 1.10 or project's gradlew. I tried once again the jna compile trick (now I am on amd64 arch) reported via GRADLE-2551to no avail this time. The log is here: 
http://pastebin.com/x2dGRsvc

It already contains reference to freebsdi386/freebsdamd64 that is a trace of some attempts I tried, but the error is same without those. 
This snippet from the error message is strange: 
"Could not find method targetPlatforms() for arguments"

Any idea how I could get to compile the code? 

Thanks!


Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

Daz DeBoer-2
Hi
Thanks for taking the time to investigate. It certainly does look like you have a bootstrap problem! The 'native-platform' build now requires a newer version of Gradle that 1.10 : I'm guessing that the debug log you posted is using 1.10? 

You'll need to use the gradle wrapper to build native-platform, or at least grab a recent nightly build and try that (http://gradle.org/nightly). Can you try one of these mechanisms, with the jnidispatch.so hack that worked for earlier versions?

Once you are able to successfully build (and run the tests for) native-platform, we can work on getting it fixed so that it produces something the works correctly on FreeBSD, and then include that in Gradle-1.12.

Thanks
Daz



On Sat, Feb 22, 2014 at 8:57 AM, Zsolt Kúti <[hidden email]> wrote:

Hello,

Since version 1.3 gradle has problem on FreeBSD (see the link below). Now I tried to look at subproject 'native-platform' and found a bootstrap problem. I paste here my last comment from the forum.

Native-platform's code compile fails by either using a local gradle 1.10 or project's gradlew. I tried once again the jna compile trick (now I am on amd64 arch) reported via GRADLE-2551to no avail this time. The log is here: 
http://pastebin.com/x2dGRsvc

It already contains reference to freebsdi386/freebsdamd64 that is a trace of some attempts I tried, but the error is same without those. 
This snippet from the error message is strange: 
"Could not find method targetPlatforms() for arguments"

Any idea how I could get to compile the code? 

Thanks!



Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

tinca
Hello,

On Sun, Feb 23, 2014 at 5:15 PM, Daz DeBoer <[hidden email]> wrote:
Hi
Thanks for taking the time to investigate. It certainly does look like you have a bootstrap problem! The 'native-platform' build now requires a newer version of Gradle that 1.10 : I'm guessing that the debug log you posted is using 1.10? 
Yes, 1.10 was used.

 

You'll need to use the gradle wrapper to build native-platform, or at least grab a recent nightly build and try that (http://gradle.org/nightly). Can you try one of these mechanisms, with the jnidispatch.so hack that worked for earlier versions?
Tried 1.11. It failed with a different error.
Then nightly build of 22.02 did it!
Not surprisingly almost all tests failed.
 

Once you are able to successfully build (and run the tests for) native-platform, we can work on getting it fixed so that it produces something the works correctly on FreeBSD, and then include that in Gradle-1.12.

Thanks I need this help, especially because IDEA (13.x) fails when applying gradle project import (using nightly gradle version), so IDE support is missing for the time being. I am going to try to recreate them from local cache by hand.


Looking at the code I see Linux class and I think this is probably an appropriate starting point to base FreeBSD support on.
I modified build.gradle and Platform.class by adding FreeBSD specific parts that follow those of Linux.
Running tests gives apparently just one failed:

:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test

net.rubygrapefruit.platform.FileSystemsTest > can query filesystem details FAILED
    java.lang.UnsatisfiedLinkError at FileSystemsTest.groovy:34


30 tests completed, 1 failed, 1 skipped
:test FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///usr/home/kuti/projekt/native-platform/build/reports/tests/index.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED



I appreciate your comments and helping me further.

Zsolt
Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

Daz DeBoer-2
On Tue, Feb 25, 2014 at 1:00 PM, Zsolt Kúti <[hidden email]> wrote:
Hello,


On Sun, Feb 23, 2014 at 5:15 PM, Daz DeBoer <[hidden email]> wrote:
Hi
Thanks for taking the time to investigate. It certainly does look like you have a bootstrap problem! The 'native-platform' build now requires a newer version of Gradle that 1.10 : I'm guessing that the debug log you posted is using 1.10? 
Yes, 1.10 was used.

 

You'll need to use the gradle wrapper to build native-platform, or at least grab a recent nightly build and try that (http://gradle.org/nightly). Can you try one of these mechanisms, with the jnidispatch.so hack that worked for earlier versions?
Tried 1.11. It failed with a different error.
Then nightly build of 22.02 did it!

Cool. So you're using the nightly build, hacked to use an old native-platform dll? 
What exactly do you need to do to get Gradle to run. (This might help others who hit a similar bootstrap problem).

 
Not surprisingly almost all tests failed.
 

Once you are able to successfully build (and run the tests for) native-platform, we can work on getting it fixed so that it produces something the works correctly on FreeBSD, and then include that in Gradle-1.12.

Thanks I need this help, especially because IDEA (13.x) fails when applying gradle project import (using nightly gradle version), so IDE support is missing for the time being. I am going to try to recreate them from local cache by hand.


Looking at the code I see Linux class and I think this is probably an appropriate starting point to base FreeBSD support on.
I modified build.gradle and Platform.class by adding FreeBSD specific parts that follow those of Linux.

Can you fork the project on Github so we can see the code? Then I might be able to provide some pointers.
 
Running tests gives apparently just one failed:

:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test

net.rubygrapefruit.platform.FileSystemsTest > can query filesystem details FAILED
    java.lang.UnsatisfiedLinkError at FileSystemsTest.groovy:34


30 tests completed, 1 failed, 1 skipped
:test FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///usr/home/kuti/projekt/native-platform/build/reports/tests/index.html

We'll need to see the actual test results from the HTML report. Stack trace in particular.

Thanks for working on this.
cheers
Daz
Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

tinca
On Tue, Feb 25, 2014 at 9:39 PM, Daz DeBoer <[hidden email]> wrote:
You'll need to use the gradle wrapper to build native-platform, or at least grab a recent nightly build and try that (http://gradle.org/nightly). Can you try one of these mechanisms, with the jnidispatch.so hack that worked for earlier versions?
Tried 1.11. It failed with a different error.
Then nightly build of 22.02 did it!

Cool. So you're using the nightly build, hacked to use an old native-platform dll? 
What exactly do you need to do to get Gradle to run. (This might help others who hit a similar bootstrap problem).
I just downloaded the nightly build, unzipped and run that ../bin/gradle in the project root.
Before that installed jna from FreeBSD ports system (from source, not binary). From  /usr/local/share/java/classes/jna-platform.jar extracted libjnidispatch.so and put under ~/.gradle/native/jna/freebsd-amd64.
 
 
Can you fork the project on Github so we can see the code? Then I might be able to provide some pointers.
OK, but need some first-steps with git. Will be back after then...
 


We'll need to see the actual test results from the HTML report. Stack trace in particular.
Report does not say too much, but find it here: http://pastebin.com/WyUiNvXN
Stack trace: http://pastebin.com/zRJb81Vj



Thanks for working on this.

Very itching :-)


Zsolt
Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

Adam Murdoch

On 26 Feb 2014, at 9:27 am, Zsolt Kúti <[hidden email]> wrote:

On Tue, Feb 25, 2014 at 9:39 PM, Daz DeBoer <[hidden email]> wrote:
You'll need to use the gradle wrapper to build native-platform, or at least grab a recent nightly build and try that (http://gradle.org/nightly). Can you try one of these mechanisms, with the jnidispatch.so hack that worked for earlier versions?
Tried 1.11. It failed with a different error.
Then nightly build of 22.02 did it!

Cool. So you're using the nightly build, hacked to use an old native-platform dll? 
What exactly do you need to do to get Gradle to run. (This might help others who hit a similar bootstrap problem).
I just downloaded the nightly build, unzipped and run that ../bin/gradle in the project root.
Before that installed jna from FreeBSD ports system (from source, not binary). From  /usr/local/share/java/classes/jna-platform.jar extracted libjnidispatch.so and put under ~/.gradle/native/jna/freebsd-amd64.
 
 
Can you fork the project on Github so we can see the code? Then I might be able to provide some pointers.
OK, but need some first-steps with git. Will be back after then...
 


We'll need to see the actual test results from the HTML report. Stack trace in particular.
Report does not say too much, but find it here: http://pastebin.com/WyUiNvXN
Stack trace: http://pastebin.com/zRJb81Vj

This method isn’t implemented for FreeBSD yet, so I would expect it to fail in this way. Gradle doesn’t use this particular method anyway, not yet at least. Let’s get your changes merged first, before we implement this.


--
Adam Murdoch
Gradle Co-founder
http://www.gradle.org
VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
http://www.gradleware.com



Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

tinca

On Wed, Feb 26, 2014 at 10:17 PM, Adam Murdoch <[hidden email]> wrote:
...
 
This method isn’t implemented for FreeBSD yet, so I would expect it to fail in this way. Gradle doesn’t use this particular method anyway, not yet at least. Let’s get your changes merged first, before we implement this.

Pull-request sent.

Zsolt
Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

Adam Murdoch
Hi,

I’ve done a native-platform release with your changes and it all seems to be working fine on FreeBSD. Can you try out the test app at: http://repo.gradle.org/gradle/simple/libs-releases-local/net/rubygrapefruit/native-platform-test/0.8/

If it looks good, I will roll this into Gradle, hopefully in time for 1.12 in a few weeks.

On 1 Mar 2014, at 7:30 am, Zsolt Kúti <[hidden email]> wrote:


On Wed, Feb 26, 2014 at 10:17 PM, Adam Murdoch <[hidden email]> wrote:
...
 
This method isn’t implemented for FreeBSD yet, so I would expect it to fail in this way. Gradle doesn’t use this particular method anyway, not yet at least. Let’s get your changes merged first, before we implement this.

Pull-request sent.

Zsolt


--
Adam Murdoch
Gradle Co-founder
http://www.gradle.org
VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
http://www.gradleware.com



Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

tinca
Hello,

There was no visible problem in the output.

The actual system tried:

* JVM: Oracle Corporation 1.7.0_25
* OS (JVM): FreeBSD 10.0-RELEASE-p4 amd64
* OS (Kernel): FreeBSD 10.0-RELEASE-p4 amd64 (amd64)

Tomorrow I am going to test a FreeBSD 8.3 box.

Zsolt


On Sat, Mar 15, 2014 at 11:29 PM, Adam Murdoch <[hidden email]> wrote:
Hi,

I’ve done a native-platform release with your changes and it all seems to be working fine on FreeBSD. Can you try out the test app at: http://repo.gradle.org/gradle/simple/libs-releases-local/net/rubygrapefruit/native-platform-test/0.8/

If it looks good, I will roll this into Gradle, hopefully in time for 1.12 in a few weeks.

On 1 Mar 2014, at 7:30 am, Zsolt Kúti <[hidden email]> wrote:


On Wed, Feb 26, 2014 at 10:17 PM, Adam Murdoch <[hidden email]> wrote:
...
 
This method isn’t implemented for FreeBSD yet, so I would expect it to fail in this way. Gradle doesn’t use this particular method anyway, not yet at least. Let’s get your changes merged first, before we implement this.

Pull-request sent.

Zsolt


--
Adam Murdoch
Gradle Co-founder
http://www.gradle.org
VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
http://www.gradleware.com




Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

tinca
Hello Adam,

Two other OS versions tried with no problem apparently:

* JVM: Sun Microsystems Inc. 1.6.0_32
* OS (JVM): FreeBSD 8.3-RELEASE-p2 i386
* OS (Kernel): FreeBSD 8.3-RELEASE-p2 i386 (i386)

and

* JVM: Sun Microsystems Inc. 1.6.0_32
* OS (JVM): FreeBSD 9.2-RELEASE-p3 amd64
* OS (Kernel): FreeBSD 9.2-RELEASE-p3 amd64 (amd64)

Thanks for including FreeBSD support in the next release!

Zsolt

On Sun, Mar 16, 2014 at 1:01 PM, Zsolt Kúti <[hidden email]> wrote:

> Hello,
>
> There was no visible problem in the output.
>
> The actual system tried:
>
> * JVM: Oracle Corporation 1.7.0_25
> * OS (JVM): FreeBSD 10.0-RELEASE-p4 amd64
> * OS (Kernel): FreeBSD 10.0-RELEASE-p4 amd64 (amd64)
>
> Tomorrow I am going to test a FreeBSD 8.3 box.
>
> Zsolt
>
>
>
> On Sat, Mar 15, 2014 at 11:29 PM, Adam Murdoch <[hidden email]>
> wrote:
>>
>> Hi,
>>
>> I've done a native-platform release with your changes and it all seems to
>> be working fine on FreeBSD. Can you try out the test app at:
>> http://repo.gradle.org/gradle/simple/libs-releases-local/net/rubygrapefruit/native-platform-test/0.8/
>>
>> If it looks good, I will roll this into Gradle, hopefully in time for 1.12
>> in a few weeks.
>>
>> On 1 Mar 2014, at 7:30 am, Zsolt Kúti <[hidden email]> wrote:
>>
>>
>> On Wed, Feb 26, 2014 at 10:17 PM, Adam Murdoch
>> <[hidden email]> wrote:
>> ...
>>
>>>
>>> This method isn't implemented for FreeBSD yet, so I would expect it to
>>> fail in this way. Gradle doesn't use this particular method anyway, not yet
>>> at least. Let's get your changes merged first, before we implement this.
>>>
>> Pull-request sent.
>>
>> Zsolt
>>
>>
>>
>> --
>> Adam Murdoch
>> Gradle Co-founder
>> http://www.gradle.org
>> VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
>> http://www.gradleware.com
>>
>>
>>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: "native-platform" compilation problem

Adam Murdoch

Great. Thanks for checking this out.

I’ve changed Gradle to use this new release. It seems to work ok for me. If you could check it out, that would be great. The changes will be in the next nightly build, or you can build from source, or you can wait for Gradle 1.12-rc-1 in a week or two.

On 17 Mar 2014, at 7:46 pm, Zsolt Kúti <[hidden email]> wrote:

Hello Adam,

Two other OS versions tried with no problem apparently:

* JVM: Sun Microsystems Inc. 1.6.0_32
* OS (JVM): FreeBSD 8.3-RELEASE-p2 i386
* OS (Kernel): FreeBSD 8.3-RELEASE-p2 i386 (i386)

and

* JVM: Sun Microsystems Inc. 1.6.0_32
* OS (JVM): FreeBSD 9.2-RELEASE-p3 amd64
* OS (Kernel): FreeBSD 9.2-RELEASE-p3 amd64 (amd64)

Thanks for including FreeBSD support in the next release!

Zsolt

On Sun, Mar 16, 2014 at 1:01 PM, Zsolt Kúti <[hidden email]> wrote:
Hello,

There was no visible problem in the output.

The actual system tried:

* JVM: Oracle Corporation 1.7.0_25
* OS (JVM): FreeBSD 10.0-RELEASE-p4 amd64
* OS (Kernel): FreeBSD 10.0-RELEASE-p4 amd64 (amd64)

Tomorrow I am going to test a FreeBSD 8.3 box.

Zsolt



On Sat, Mar 15, 2014 at 11:29 PM, Adam Murdoch <[hidden email]>
wrote:

Hi,

I've done a native-platform release with your changes and it all seems to
be working fine on FreeBSD. Can you try out the test app at:
http://repo.gradle.org/gradle/simple/libs-releases-local/net/rubygrapefruit/native-platform-test/0.8/

If it looks good, I will roll this into Gradle, hopefully in time for 1.12
in a few weeks.

On 1 Mar 2014, at 7:30 am, Zsolt Kúti <[hidden email]> wrote:


On Wed, Feb 26, 2014 at 10:17 PM, Adam Murdoch
<[hidden email]> wrote:
...


This method isn't implemented for FreeBSD yet, so I would expect it to
fail in this way. Gradle doesn't use this particular method anyway, not yet
at least. Let's get your changes merged first, before we implement this.

Pull-request sent.

Zsolt



--
Adam Murdoch
Gradle Co-founder
http://www.gradle.org
VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
http://www.gradleware.com





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email




--
Adam Murdoch
Gradle Co-founder
http://www.gradle.org
VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
http://www.gradleware.com