accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Havanki (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-1852) nativeMap test doesn't run on OS X
Date Wed, 13 Nov 2013 21:43:20 GMT

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

Mime
View raw message