[
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)