[ 
https://issues.apache.org/jira/browse/ACCUMULO-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13821882#comment-13821882
 ] 

Bill Havanki commented on ACCUMULO-1852:
----------------------------------------

I have some success with running NativeMapIT. Here is some background.

The suffix that Java uses to look for a library file changed from Java 6 to 
Java 7. Before, it was "jnilib". After, it is "dylib". The 
{{System.mapLibraryName()}} method is the originator of that difference; that 
method is used in {{NativeMap.getNativeLibPath()}}, whose result is used in the 
class's static initializer to try to load the library.

So, if you are still running Java 6 (like me!), the "dylib" file is never 
looked for. If you are running Java 7 (the Mavericks upgrade apparently removes 
Java, so of course you'd re-install 7), it looks for "dylib".

(By the way, the path also includes the result of {{Platform.getPlatform()}}, 
which adds the "Mac_OS_X-x86_64-64" component of the file name. See 
ACCUMULO-1843.

There is code in {{MiniAccumuloCluster}} specifically designed to copy the 
native map library into the "mini-test" test directory, under lib/native/map. 
The code there looks under "server/src/main/c++", which is OK for 1.5.x, but 
for 1.6.x it's 
"server/native/target/<project-artifact-version>/<project-artifact-version>. 
Therefore, the copy never happens, and NativeMapIT fails since there is no 
library present.

So, I have two changes. I'll post a review once Review Board is OK, and I've 
run the tests all the way through with {{mvn verify}}.

1. Update the nativeMap Makefile to create .dylib and .jnilib copies of the 
library.
2. Update the code that looks for the libraries in {{MiniAccumuloCluster}} to 
look in the right spot, and copy any library it finds over (so, both jnilib and 
dylib).

> nativeMap test doesn't run on OS X
> ----------------------------------
>
>                 Key: ACCUMULO-1852
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1852
>             Project: Accumulo
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 1.6.0
>         Environment: Mac OS X Mavericks
>            Reporter: Michael Berman
>            Assignee: Bill Havanki
>
> The Makefile has bad includes for the test run, but even when I fix that, it 
> still fails looking like it's not linking stdc++ properly.  [~elserj] and I 
> both looked at it for a bit and couldn't make it work.
> Since I last saw it succeed, I have both updated to Mavericks and merged in 
> the change to have the pom manage make.
> I also haven't seen NativeMapIT pass since the updates, so I'm wondering if 
> it's not just the test execution that's broken, but also the actual nativemap 
> build.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to