lucene-pylucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Koch <k...@orbiteam.de>
Subject Re: [VOTE] Release PyLucene 4.7.1-1
Date Wed, 09 Apr 2014 18:41:37 GMT
Hi,
I’m currently stuck on building this RC on MacOS X. This is probably due to my broken build
environment and not a particular PyLucene issue. Anyway others may face the same problem -
or even have a solution at hand … so here are the lengthy details:

I first encountered an error when building JCC which seems to be cause by new XCode with clang
v5.1

 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
 clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
 error: command 'cc' failed with exit status 1

A temporary workaround is to set
$ export ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future 
cf. http://kaspermunck.github.io/2014/03/fixing-clang-error/
(I think this is a trap others will be facing as well…)

compile then went fine but linker failed:

 ld: warning: directory not found for option '-L/Library/Java/Home/jre/lib'
 ld: warning: directory not found for option '-L/Library/Java/Home/jre/lib/server'
 ld: library not found for -ljava
 clang: error: linker command failed with exit code 1 (use -v to see invocation)
 error: command 'c++' failed with exit status 1

I had a java 1.6.0_65 installed but apparently the java libraries were not found or installed
correctly… (do I have to mention that Java on MacOS is a pain ?)

I then installed Java JDK 7 for Mac OS X x64: 'jdk-7u51-macosx-x64.dmg' (179.49 MB) from	
 
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

And set the JCC_JDK to the path returned by
$ /usr/libexec/java_home 
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

The JCC build then gets bit further but still ends up with a linker error:

—%< —

jcc $ python setup.py build
found JAVAHOME = /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
found JAVAFRAMEWORKS = /System/Library/Frameworks/JavaVM.framework
Loading source files for package org.apache.jcc...
 ...
running build_py
writing /Users/koch/Projekte/Python/pylucene/pylucene-4.5.1-1/jcc/jcc/config.py
copying jcc/config.py -> build/lib.macosx-10.9-intel-2.7/jcc
copying jcc/classes/org/apache/jcc/PythonVM.class -> build/lib.macosx-10.9-intel-2.7/jcc/classes/org/apache/jcc
copying jcc/classes/org/apache/jcc/PythonException.class -> build/lib.macosx-10.9-intel-2.7/jcc/classes/org/apache/jcc
running build_ext
building 'jcc' extension
creating build/temp.macosx-10.9-intel-2.7
creating build/temp.macosx-10.9-intel-2.7/jcc
creating build/temp.macosx-10.9-intel-2.7/jcc/sources
cc -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing
-fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32
-DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -Wno-error=unused-command-line-argument-hard-error-in-future
-dynamiclib -Wno-error=unused-command-line-argument-hard-error-in-future -D_jcc_lib -DJCC_VER="2.18"
-I/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/include/darwin
-I_jcc -Ijcc/sources -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-c jcc/sources/jcc.cpp -o build/temp.macosx-10.9-intel-2.7/jcc/sources/jcc.o -DPYTHON -fno-strict-aliasing
-Wno-write-strings
clang: warning: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-dynamiclib'
jcc/sources/jcc.cpp:185:16: warning: implicit conversion loses integer precision: 'long' to
'int' [-Wshorten-64-to-32]
    int hash = PyObject_Hash(arg);
        ~~~~   ^~~~~~~~~~~~~~~~~~
1 warning generated.
cc -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing
-fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32
-DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -Wno-error=unused-command-line-argument-hard-error-in-future
-dynamiclib -Wno-error=unused-command-line-argument-hard-error-in-future -D_jcc_lib -DJCC_VER="2.18"
-I/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/include/darwin
-I_jcc -Ijcc/sources -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-c jcc/sources/JCCEnv.cpp -o build/temp.macosx-10.9-intel-2.7/jcc/sources/JCCEnv.o -DPYTHON
-fno-strict-aliasing -Wno-write-strings
clang: warning: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-dynamiclib'
c++ -Wl,-x -dynamiclib -undefined dynamic_lookup -Wno-error=unused-command-line-argument-hard-error-in-future
build/temp.macosx-10.9-intel-2.7/jcc/sources/jcc.o build/temp.macosx-10.9-intel-2.7/jcc/sources/JCCEnv.o
-o build/lib.macosx-10.9-intel-2.7/libjcc.dylib -L/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib
-ljava -L/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/server -ljvm
-Wl,-rpath -Wl,/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib -Wl,-rpath
-Wl,/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/server -Wl,-S
-install_name @rpath/libjcc.dylib -current_version 2.18 -compatibility_version 2.18
ld: internal error: atom not found in symbolIndex(__ZN7JNIEnv_13CallIntMethodEP8_jobjectP10_jmethodIDz)
for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'c++' failed with exit status 1

—%< —

I read that the JNI CallIntMethod function cannot be found by the linker  - the compile did
succeed (e.g. jcc.o) so headers should be found - the -L dirs have jvm libs:

in jre/lib/server
 - libjsig.dylib
 - libjvm.dylib
in jre/lib
 - libjava.dylib
 -  ..
 - libjsound.dylib

Am I missing the JNI lib?

Here is the 'verbose' output of the linker phase

$ c++ -v -Wl,-x -dynamiclib -undefined dynamic_lookup -Wno-error=unused-command-line-argument-hard-error-in-future
build/temp.macosx-10.9-intel-2.7/jcc/sources/jcc.o build/temp.macosx-10.9-intel-2.7/jcc/sources/JCCEnv.o
-o build/lib.macosx-10.9-intel-2.7/libjcc.dylib -L/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib
-ljava -L/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/server -ljvm
-Wl,-rpath -Wl,/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib -Wl,-rpath
-Wl,/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/server -Wl,-S
-install_name @rpath/libjcc.dylib -current_version 2.18 -compatibility_version 2.18
Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld"
-demangle -dynamic -dylib -dylib_compatibility_version 2.18 -dylib_current_version 2.18 -arch
x86_64 -dylib_install_name @rpath/libjcc.dylib -macosx_version_min 10.9.0 -undefined dynamic_lookup
-undefined dynamic_lookup -o build/lib.macosx-10.9-intel-2.7/libjcc.dylib -L/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib
-L/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/server -x build/temp.macosx-10.9-intel-2.7/jcc/sources/jcc.o
build/temp.macosx-10.9-intel-2.7/jcc/sources/JCCEnv.o -ljava -ljvm -rpath /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib
-rpath /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/server -S -lc++
-lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/lib/darwin/libclang_rt.osx.a
ld: internal error: atom not found in symbolIndex(__ZN7JNIEnv_13CallIntMethodEP8_jobjectP10_jmethodIDz)
for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


This is Max OS X 10.9.2 with XCode version 5.1 - any hints are appreciated ,-)


regards

Thomas Koch
--
OrbiTeam Software GmbH & Co. KG
www.orbiteam.de

Am 09.04.2014 um 03:57 schrieb Andi Vajda <vajda@apache.org>:

> 
> This vote has been obsoleted by the upcoming release of Lucene 4.7.2.
> 
> Andi..


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message