Summary: | has_version doesn't find an existing package with FEATURES=userpriv | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Mark <mark.morschhaeuser> |
Component: | Core - Ebuild Support | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | humpback, java |
Priority: | High | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 181949, 187293 |
Description
Mark
2007-05-28 23:40:44 UTC
Please w8 an hour or so, do a emerge sync and make shure that the ebuild has the line: java-pkg-2_pkg_setup inside pkg_setup(). If it has try again to emerge, if not way halt an hour and try again. Please report back as we are trying to push this as stable release. ok, the ebuild is updated but it still doesn't compile -plugins-impl: [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/target [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/target/classes [javac] Compiling 2 source files to /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/target/classes [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/target/lib [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/work/lib/source [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/work/lib/classes [jar] Building jar: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/target/lib/plugin-userservice.jar [delete] Deleting directory /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/work/lib/classes [delete] Deleting directory /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/work/lib/source [copy] Warning: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/src/plugins/userservice/lib not found. [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/jar [copy] Copying 5 files to /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/jar [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/target/jspc/java [mkdir] Created dir: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/target/jspc/classes [copy] Copying 10 files to /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/work/plugins-dev/userservice/target/web [jasper2] May 31, 2007 11:40:43 AM org.apache.jasper.compiler.TldLocationsCache processWebDotXml [jasper2] WARNING: Internal Error: File /WEB-INF/web.xml not found BUILD FAILED /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/build/build.xml:1042: The following error occurred while executing this line: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/build/build.xml:1051: The following error occurred while executing this line: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/build/build.xml:1053: The following error occurred while executing this line: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/build/build.xml:1232: java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V Total time: 35 seconds !!! ERROR: net-im/openfire-3.3.1 failed. Call stack: ebuild.sh, line 1615: Called dyn_compile ebuild.sh, line 972: Called qa_call 'src_compile' ebuild.sh, line 44: Called src_compile openfire-3.3.1.ebuild, line 55: Called eant '-f' 'build/build.xml' 'openfire' 'plugins' java-utils-2.eclass, line 1893: 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/net-im/openfire-3.3.1/temp/build.log'. !!! When you file a bug report, please include the following information: GENTOO_VM=sun-jdk-1.5 CLASSPATH="" JAVA_HOME="/opt/sun-jdk-1.5.0.11" JAVACFLAGS="-source 1.5 -target 1.5" COMPILER="javac" and of course, the output of emerge --info Can someone from the java herd give a look here as I have no idea on how to duplicate/fix this. Looks like some old servletapi version creeping in. Can't see where from, though. Please post output of: equery list servletapi (needs emerge gentoolkit) ls -la /usr/share/ant-core/lib/ java-config -dp ant-contrib ANT_TASKS=ant-contrib ant --execdebug fluchtweg ~ # equery list servletapi [ Searching for package 'servletapi' in all categories among: ] * installed packages [I--] [ ] dev-java/servletapi-2.3-r3 (2.3) [I--] [ ] dev-java/servletapi-2.4-r5 (2.4) fluchtweg ~ # ls -la /usr/share/ant-core/lib/ total 1289 drwxr-xr-x 2 root root 272 May 27 20:14 . drwxr-xr-x 4 root root 128 May 27 20:12 .. -rw-r--r-- 1 root root 16369 May 27 20:12 ant-bootstrap.jar lrwxrwxrwx 1 root root 42 Jan 29 20:21 ant-contrib.jar -> /usr/share/ant-contrib/lib/ant-contrib.jar -rw-r--r-- 1 root root 11731 May 27 20:12 ant-launcher.jar -rw-r--r-- 1 root root 1289878 May 27 20:12 ant.jar lrwxrwxrwx 1 root root 34 May 27 20:14 jdepend.jar -> /usr/share/jdepend/lib/jdepend.jar lrwxrwxrwx 1 root root 30 Jan 29 20:04 junit.jar -> /usr/share/junit/lib/junit.jar lrwxrwxrwx 1 root root 34 Jan 29 20:08 xjavac.jar -> /usr/share/xjavac-1/lib/xjavac.jar fluchtweg ~ # java-config -dp ant-contrib /usr/share/jakarta-regexp-1.3/lib/jakarta-regexp.jar:/usr/share/xml-commons-resolver/lib/xml-commons-resolver.jar:/usr/share/xerces-2/lib/xercesImpl.jar:/usr/share/bcel/lib/bcel.jar:/usr/share/ant-contrib/lib/ant-contrib.jar:/usr/share/xml-commons-external-1.3/lib/xml-apis.jar fluchtweg ~ # ANT_TASKS=ant-contrib ant --execdebug exec "/opt/sun-jdk-1.5.0.11/bin/java" -classpath "/usr/share/ant-core/lib/ant-launcher.jar:/opt/sun-jdk-1.5.0.11/lib/tools.jar" -Dant.home="/usr/share/ant-core" -Dant.library.dir="/usr/share/ant-core/lib" -Djava.library.path="" org.apache.tools.ant.launch.Launcher -lib "/usr/share/jakarta-regexp-1.3/lib/jakarta-regexp.jar:/usr/share/xml-commons-resolver/lib/xml-commons-resolver.jar:/usr/share/xerces-2/lib/xercesImpl.jar:/usr/share/bcel/lib/bcel.jar:/usr/share/ant-contrib/lib/ant-contrib.jar:/usr/share/xml-commons-external-1.3/lib/xml-apis.jar" -cp "." Buildfile: build.xml does not exist! Build failed Hm I don't see a problem there. But old servletapi is the only explanation. Ant loads also jars in ${user.home}/.ant/lib, do you have something there for your user or root? Can you `slocate servet.jar` to see if there's some on the system? Maybe you copied some to the JDK's dir? Anything unusual you did? Does unmerging dev-java/servletapi-2.3-r3 make any difference? Although I don't see it picked anywhere, just to be sure. emerge -P servletapi did the trick, though there were some error/warning messages: >>> Compiling source in /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src ... /etc/portage/color.map !!! ERROR: Dependency package servletapi-2.3 was not found! !!! ERROR: Dependency package servletapi-2.3 was not found! Buildfile: build/build.xml ... -plugins-impl: ... [jasper2] Jun 19, 2007 4:47:27 PM org.apache.jasper.compiler.TldLocationsCache processWebDotXml [jasper2] WARNING: Internal Error: File /WEB-INF/web.xml not found [jasper2] log4j:WARN No appenders could be found for logger (org.apache.jasper.compiler.Compiler). [jasper2] log4j:WARN Please initialize the log4j system properly. ... [jasper2] Jun 19, 2007 4:47:30 PM org.apache.jasper.compiler.TldLocationsCache processWebDotXml [jasper2] WARNING: Internal Error: File /WEB-INF/web.xml not found ... [copy] Warning: /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src/src/plugins/subscription/lib not found. ... BUILD SUCCESSFUL Total time: 1 minute 3 seconds >>> Source compiled. ... I emerged ant and jasper again, but !!! ERROR: Dependency package servletapi-2.3 was not found! still comes when I want to emerge. hsqldb uses servletapi 2.3 and openfire uses hslqdb, right? slocate servlet.jar (after unmerging 2.3): /opt/wildfire.bak/lib/servlet.jar /opt/wildfire/lib/servlet.jar /opt/wildfire/wildfire.bak/lib/servlet.jar I don't have ${user.home}/.ant/lib for root or other logins I use. As far as I can remember, I didn't do anything weird with java, just installed it, using it for emerge and some own programs :-) > >>> Compiling source in /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src ... > /etc/portage/color.map > !!! ERROR: Dependency package servletapi-2.3 was not found! > !!! ERROR: Dependency package servletapi-2.3 was not found! > Buildfile: build/build.xml Erm what the hell? Why does it print "/etc/portage/color.map"? What's in that file? :) This is what it should be saying: >>> Compiling source in /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src ... * Using following ANT_TASKS: ant-contrib Buildfile: build/build.xml I don't see why emerge wouldn't execute the code in java-utils-2.eclass function eant() that prints this and exports ANT_TASKS. But apparently it doesn't happen for you, hence ant loads all available tasks including some depending on servletapi-2.3. I'd say your portage is messed up, possibly by that color.map file? What's the output of this? : portageq has_version / ">=dev-java/ant-core-1.7.0" && echo true > I emerged ant and jasper again, but jasper (package) has nothing to do with this :) > !!! ERROR: Dependency package servletapi-2.3 was not found! > still comes when I want to emerge. hsqldb uses servletapi 2.3 and openfire uses > hslqdb, right? Uh no, at least not the system one. But yeah something from installed ant-tasks uses transitively servletapi-2.3. But it shouldn't pull all tasks, just ant-contrib. We tested before that ant-contrib doesn't pull it. > Erm what the hell? Why does it print "/etc/portage/color.map"? What's in that > file? :) it is empty. I touch'ed it because emerge wanted that file some time ago, donno why. I deleted it now and output is >>> Source unpacked. Rewriting source attributes Using Sax to rewrite the build.xml files Rewriting ./src/test/throttletest/build/build.xml Rewriting ./build/build.xml Rewriting target attributes Using Sax to rewrite the build.xml files Rewriting ./src/test/throttletest/build/build.xml Rewriting ./build/build.xml Rewriting nowarn attributes Using Sax to rewrite the build.xml files Rewriting ./src/test/throttletest/build/build.xml Rewriting ./build/build.xml >>> Compiling source in /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src ... !!! ERROR: Dependency package servletapi-2.3 was not found! !!! ERROR: Dependency package servletapi-2.3 was not found! Buildfile: build/build.xml > I don't see why emerge wouldn't execute the code in java-utils-2.eclass > function eant() that prints this and exports ANT_TASKS. But apparently it > doesn't happen for you, hence ant loads all available tasks including some > depending on servletapi-2.3. I'd say your portage is messed up, possibly by > that color.map file? > What's the output of this? : > portageq has_version / ">=dev-java/ant-core-1.7.0" && echo true output is true > Uh no, at least not the system one. But yeah something from installed ant-tasks > uses transitively servletapi-2.3. But it shouldn't pull all tasks, just > ant-contrib. We tested before that ant-contrib doesn't pull it. are your sure? # emerge -pv hsqldb These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild NS ] dev-java/servletapi-2.3-r3 USE="-doc -source" 0 kB [ebuild R ] dev-db/hsqldb-1.7.3.1-r1 USE="-doc -jikes -source" 0 kB > > What's the output of this? : > > portageq has_version / ">=dev-java/ant-core-1.7.0" && echo true > output is true Ok. So it works here, but apparently not in eclass, sigh. > > Uh no, at least not the system one. But yeah something from installed ant-tasks > > uses transitively servletapi-2.3. But it shouldn't pull all tasks, just > > ant-contrib. We tested before that ant-contrib doesn't pull it. > > are your sure? > # emerge -pv hsqldb > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > [ebuild NS ] dev-java/servletapi-2.3-r3 USE="-doc -source" 0 kB > [ebuild R ] dev-db/hsqldb-1.7.3.1-r1 USE="-doc -jikes -source" 0 kB I meant openfire doesn't depend on hsqldb. I don't argue hsqldb depends on servletapi :) What happens if you emerge openfire with FEATURES="-userpriv -usersandbox" ? (emerge servletapi-2.3 back first) emerge servletapi-2.3: Rewriting ./build.xml >>> Compiling source in /var/tmp/portage/dev-java/servletapi-2.3-r3/work/jakarta-servletapi-4 ... !!! ERROR: Dependency package servletapi-2.3 was not found! !!! ERROR: Dependency package servletapi-2.3 was not found! Buildfile: build.xml :-D FEATURES="-userpriv -usersandbox" emerge openfire: >>> Compiling source in /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src ... * Using following ANT_TASKS: ant-contrib Buildfile: build/build.xml Looks nice :-) No errors this time, but still warnings like this [jasper2] WARNING: Internal Error: File /WEB-INF/web.xml not found (ok, a programmer always ignores warnings :-D) After that I did FEATURES="-userpriv -usersandbox" emerge =servletapi-2.3-r3: >>> Compiling source in /var/tmp/portage/dev-java/servletapi-2.3-r3/work/jakarta-servletapi-4 ... * Using all available ANT_TASKS Buildfile: build.xml looks better too; I guess I should not use userpriv and usersandbox then :-) (In reply to comment #11) > FEATURES="-userpriv -usersandbox" emerge openfire: > >>> Compiling source in /var/tmp/portage/net-im/openfire-3.3.1/work/openfire_src ... > * Using following ANT_TASKS: ant-contrib > Buildfile: build/build.xml > > Looks nice :-) Thought so... > No errors this time, but still warnings like this [jasper2] WARNING: Internal > Error: File /WEB-INF/web.xml not found > (ok, a programmer always ignores warnings :-D) Yeah, that happens :) > After that I did > FEATURES="-userpriv -usersandbox" emerge =servletapi-2.3-r3: > looks better too; I guess I should not use userpriv and usersandbox then :-) It better be fixed. I can't reproduce it so I guess it's about local permissions of some directory or file... Portage: I think it's up to you here. Note that this is probably dupe or regression of bug 153629 but since that one revolved about autotools and ended up "fixing" the eclass (although comment 25 there suggests even has_version was rewritten), I didn't want to reopen it. (In reply to comment #12) > It better be fixed. I can't reproduce it so I guess it's about local > permissions of some directory or file... It's probably some restrictive permissions on /var/db/pkg/. We should fix portageq to give appropriate error messages in such cases. mark: can you give output of this? ls -lad / /var /var/db/ /var/db/pkg/ /var/db/pkg/dev-java/ /var/db/pkg/dev-java/ant-core-1.7.0/ yes: # ls -lad / /var /var/db/ /var/db/pkg/ /var/db/pkg/dev-java/ /var/db/pkg/dev-java/ant-core-1.7.0/ drwxr-xr-x 22 root root 600 Jun 11 09:49 / drwxr-xr-x 20 root root 488 Jan 11 10:24 /var drwxr-x--- 4 root root 96 Jun 19 23:15 /var/db/ drwxr-xr-x 61 root root 1688 May 22 08:18 /var/db/pkg/ drwxr-xr-x 61 root root 2280 Jun 19 20:08 /var/db/pkg/dev-java/ drwxr-xr-x 2 root root 688 Jun 19 17:48 /var/db/pkg/dev-java/ant-core-1.7.0/ (In reply to comment #15) > drwxr-x--- 4 root root 96 Jun 19 23:15 /var/db/ So this is it. Here's mine: drwxr-xr-x 4 root root 96 2007-06-19 21:35 /var/db/ (In reply to comment #13) > (In reply to comment #12) > It's probably some restrictive permissions on /var/db/pkg/. We should fix > portageq to give appropriate error messages in such cases. Would be also nice if the has_version() wrapper could catch it and die on it :) (In reply to comment #16) > Would be also nice if the has_version() wrapper could catch it and die on it :) Okay, done. This is fixed in svn r6882. This has been released in 2.1.3_rc5. |