Проблемы с Java
Сделал одну глупую вещь без предосторожностей:
emerge --depclean
Система, не долго думая, стала удалять пакет openoffice вместе со всеми зависимостями. Сам пакет он однако удалить не успел. Далее была предпринята попытка целиком восстановить утраченный openoffice. Конечно этап revdep-rebuild и emerge -DNu world тоже. Результатом revdep-rebuild стала установка не стоявшего до сих пор пакета dev-python/wxpython. Далее он потребовал пересобрать openoffice и ещё несколько удалённых пакетов. Один из удалённых пакетов из зависимости: dev-java/xml-commons-external. Его установка однако обрывается:
Emerging (1 of 2) dev-java/servletapi-2.4-r5 to /
.......
* Using: blackdown-jdk-1.4.2
>>> Unpacking source...
>>> Unpacking apache-tomcat-5.5.20-src.tar.gz to /var/tmp/portage/dev-java/servletapi-2.4-r5/work >>> Source unpacked.
Rewriting source attributes
Using Sax to rewrite the build.xml files
Rewriting ./jsr152/build.xml
Rewriting ./jsr154/build.xml
Rewriting target attributes
Using Sax to rewrite the build.xml files
Rewriting ./jsr152/build.xml
Rewriting ./jsr154/build.xml
>>> Compiling source in /var/tmp/portage/dev-java/servletapi-2.4-r5/work/apache-tomcat-5.5.20-src/servletapi ...
Buildfile: jsr154/build.xml
BUILD FAILED
java.lang.NoClassDefFoundError: org/xml/sax/ext/Attributes2
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at org.apache.xerces.parsers.AbstractSAXParser.
at org.apache.xerces.parsers.SAXParser.
at org.apache.xerces.parsers.SAXParser.
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.
at org.apache.xerces.jaxp.SAXParserImpl.
at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
at org.apache.tools.ant.util.JAXPUtils.newSAXParser(JAXPUtils.java:205)
at org.apache.tools.ant.util.JAXPUtils.getNamespaceXMLReader(JAXPUtils.java:163)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:193)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:140)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:91)
at org.apache.tools.ant.Main.runBuild(Main.java:653)
at org.apache.tools.ant.Main.startAnt(Main.java:187)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
Total time: 0 seconds
java.lang.NoClassDefFoundError: org/xml/sax/ext/Attributes2
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at org.apache.xerces.parsers.AbstractSAXParser.
at org.apache.xerces.parsers.SAXParser.
at org.apache.xerces.parsers.SAXParser.
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.
at org.apache.xerces.jaxp.SAXParserImpl.
at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
at org.apache.tools.ant.util.JAXPUtils.newSAXParser(JAXPUtils.java:205)
at org.apache.tools.ant.util.JAXPUtils.getNamespaceXMLReader(JAXPUtils.java:163)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:193)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:140)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:91)
at org.apache.tools.ant.Main.runBuild(Main.java:653)
at org.apache.tools.ant.Main.startAnt(Main.java:187)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
org/xml/sax/ext/Attributes2
!!! ERROR: dev-java/servletapi-2.4-r5 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_compile
ebuild.sh, line 971: Called qa_call 'src_compile'
environment, line 4763: Called src_compile
servletapi-2.4-r5.ebuild, line 26: Called eant 'jar' '-f' 'jsr154/build.xml'
java-utils-2.eclass, line 1714: Called die
!!! eant failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/dev-java/servletapi-2.4-r5/temp/build.log'.
!!! When you file a bug report, please include the following information:
GENTOO_VM=blackdown-jdk-1.4.2 CLASSPATH="" JAVA_HOME="/opt/blackdown-jdk-1.4.2.03"
JAVACFLAGS="-source 1.4 -target 1.4" COMPILER="javac"
and of course, the output of emerge --info
Для отсутствия запроса на пакет пришлось внести его в package.provides. Однако этим всё не ограничилось. Следующее действие emerge -DNu world требует установить три удалённых пакета того же типа: dev-java/servletapi-2.3-r4 dev-java/xml-commons-resolver dev-java/servletapi-2.4-r5. Ставится они также не хотят. Ошибки вываливаются аналогичные приведённой. Где какая зависимость нарушена непонятно, и её всё равно не находит revdep-rebuild. Как её искать ещё более тяжкий вопрос. У меня просто нет даже возможных предположений как решить проблему. Пересборкой системы заниматся глупо. Не факт, что пакеты, компиляция которых зависит от java установятся. К тому же гигантская затрата времени.
- Для комментирования войдите или зарегистрируйтесь
Надо собирать
Надо собирать другой версией джавы,
org.xml.sax.ext.Attributes2 - у тебя не находится, он появился в jsdk-1.5 , пробуй ей пересобирать пакет - dev-java/xml-commons-external.
Вообще рекомендую джаву в сисетме юзать родную, от sun. Поставь её дефолтной, примерно так
java-config -L # посмотреть какие в системе доступны
java-config -S sun-jdk-1.5 # выбрать текущей системной
_________________
- Desktop: core: p4-3.0, video: Nvidia 7900 GT, hard: 4x250 Gb (baracuda 9 series) & 80 Gb WD, mem: 2 G, Audio: Creative X-Fi
- Portable: Asus U5A (915 chipset, centrino 1.73 Donath, 1.5 Gb mem, 160 Gb hard, e.t.c)
Предложение
Предложение интересное, но я как мне известно sun-jdk-1.5 является текущей системной Java Generator-2:
H82N32 / # java-config -L
The following VMs are available for generation-2:
1) Blackdown JDK 1.4.2.03 [blackdown-jdk-1.4.2]
*) Sun JDK 1.5.0.10 [sun-jdk-1.5]
А то что он желает юзать именно jdk-1.4 это его пристрастие из ebuilda.
странно весьма,
странно весьма, у меня
>>> Emerging (1 of 1) dev-java/servletapi-2.4-r5 to /
* apache-tomcat-5.5.20-src.tar.gz MD5 ;-) ... [ ok ]
* apache-tomcat-5.5.20-src.tar.gz RMD160 ;-) ... [ ok ]
* apache-tomcat-5.5.20-src.tar.gz SHA1 ;-) ... [ ok ]
* apache-tomcat-5.5.20-src.tar.gz SHA256 ;-) ... [ ok ]
* apache-tomcat-5.5.20-src.tar.gz size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking apache-tomcat-5.5.20-src.tar.gz ;-) ... [ ok ]
* Using: sun-jdk-1.5
>>> Unpacking source...
>>> Unpacking apache-tomcat-5.5.20-src.tar.gz to /var/tmp/portage/dev-java/servletapi-2.4-r5/work
>>> Source unpacked.
так что речи о прописывании в ебилде быть не может.
выполни из консоли java -version , дай резалт.
H82N32 / # java
H82N32 / # java -version
java version "1.5.0_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_10-b03, mixed mode)
ладно :) попытка
ладно :) попытка не пытка, в принципе java -version это просто вспомогательный шаг, он только о jre говорит.
Попробуй выполнить - java-check-environment , надо чтобы нормально отработал. если будут проблемы он подскажет как решить.
+ такой вопрос, ты случаем не сейчас устанавил дваву текущюю? а то может ей надо env-update или ещё чего подобного.. , вроде не должно, но на всякий случай.
PS. проблема 99.9% в джаве, надо чтобы 5-ой компилился.
По поводу env-update
По поводу env-update (etc-update) - не первый раз замужем.
Я результат такой:
H82N32 ~ # java-config -java-check-environment
/opt/sun-jdk-1.5.0.10/bin/jar
!!! WARNING: Setting a user and system classpath is deprecated, this option will be removed from future versions.
!!! ERROR: Package va-check-environment was not found!
!!! ALERT: Environment files in ~/.gentoo/ have been updated. You should source these from your shell's profile.
If you want the changes too take effect in your current sessiosn, you should resource these files
Вот этот ERROR у меня вызывает интерес: что это?
напиши мне в
напиши мне в аську
Тщательные
Тщательные поиски не выявили нарушения зависимостей. Единственно чем оказалось возможно исправить ситуацию - удаление blackdown-jdk-1.4.2 и прописывание его в package.provided (поиск зависимостей equery результата не дал). Это заставляет использовать в качестве Java-generation sun-jdk-1.5. В config файлах решение найдено пока что также не было.