I am trying to import an SVN url on my eclipse.When I tried to run a certain components of the project I keep having this error.
Buildfile: C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\build.xml
init:
pre.compile.test:
[echo] Stax Availability= true
[echo] Axis2 Availability= true
compile.src:
[javac] C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\build.xml:46: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 630 source files to C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\build\classes
[javac] C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\src\com\cbas\conversion\rule\ConversionType.java:10: incompatible types
[javac] found : javax.xml.bind.annotation.AccessType
[javac] required: javax.xml.bind.annotation.XmlAccessType
[javac] #XmlAccessorType(AccessType.FIELD)
[javac] ^
[javac] C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\src\com\cbas\conversion\rule\ParameterType.java:9: incompatible types
[javac] found : javax.xml.bind.annotation.AccessType
[javac] required: javax.xml.bind.annotation.XmlAccessType
[javac] #XmlAccessorType(AccessType.FIELD)
[javac] ^
[javac] C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\src\com\cbas\conversion\rule\CounterType.java:9: incompatible types
[javac] found : javax.xml.bind.annotation.AccessType
[javac] required: javax.xml.bind.annotation.XmlAccessType
[javac] #XmlAccessorType(AccessType.FIELD)
[javac] ^
[javac] C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\src\com\cbas\conversion\rule\ParameterSetType.java:11: incompatible types
[javac] found : javax.xml.bind.annotation.AccessType
[javac] required: javax.xml.bind.annotation.XmlAccessType
[javac] #XmlAccessorType(AccessType.FIELD)
[javac] ^
[javac] C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\src\com\cbas\conversion\rule\CounterSetType.java:11: incompatible types
[javac] found : javax.xml.bind.annotation.AccessType
[javac] required: javax.xml.bind.annotation.XmlAccessType
[javac] #XmlAccessorType(AccessType.FIELD)
[javac] ^
[javac] C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\src\com\cbas\conversion\rule\ConversionsType.java:11: incompatible types
[javac] found : javax.xml.bind.annotation.AccessType
[javac] required: javax.xml.bind.annotation.XmlAccessType
[javac] #XmlAccessorType(AccessType.FIELD)
[javac] ^
[javac] Note: C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\src\com\cbas\services\util\PartyUtil.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 6 errors
BUILD FAILED
C:\Users\phmasu\workspace\CBASServices\branches\CR-XX-SeasonPass\build.xml:46: Compile failed; see the compiler error output for details.
Total time: 8 seconds
Can someone give me an idea as to where am I doing it wrong? I already put all the necessary library on my lib folder based on the documentation given to me. BTW that project runs on JDK 1.5. I have both JDK 1.6 and 1.5 but I dont know how to configure my Eclipse EE to run it on 1.5. Is that what might cause the problem?
Thanks
Related
I have been successfully using the FTDI D2XX driver on arm-v7 from c++ and Python, but I now need to use java.
Also, I have successfully used the ftd2xxj JNI wrapper on Windows and OSX using this modified ftd2xxj project
Please bare in mind I am not very comfortable with JNI and Makefiles yet.
The issue is I can't seem to compile the ftd2xxj project from source.
The OSX modified version relies on xcodebuild and I'm not sure how to convert that to cmake/Makefiles. (I did have a quick look at pbxbuild and buildtool but couldn't figure out how to use).
I have checked out the original ftd2xxj source code from sourceforge and imported the projects in eclipse, but I'm running into some issues:
The ftd2xxj Java project is referencing a javax.util project which isn't present in the repository and I wasn't sure where to find it. I assumed this might be related to javax.util.property.2_0.jar I spotted in the precompiled binaries. As a hacky workaround I created a blank javax.util project and added the .jar file to the project's requiring it to keep eclipse from complaining (but this is likely to mess up the original config).
In short: I can't compile the original ftd2xxj project (so far because of a missing javax.util project for the javax.util.properties library) and I would like to compile the project on arm-v7 (either with eclipse or Makefiles)
Any hints/tips on how I can compile the project ?
For reference here is the output from ant:
build-all:
build-application:
init:
[echo] Start time: 25-November-2015 : 16:55:24
[echo] Used JDK: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
[echo] !!! Be sure to use a Java SDK !!!
[echo] Project classpath:
compile-application-release:
clean-application:
clean-application-docs:
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/build.xml:216: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 36 source files to /Users/georgeprofenza/Documents/eclipse/ftd2xxj/target/application/bin
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:8: package javax.util does not exist
[javac] import javax.util.Localizer;
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/EEPROM.java:3: package javax.util does not exist
[javac] import javax.util.Localizer;
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Port.java:3: package javax.util does not exist
[javac] import javax.util.Localizer;
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/DeviceDescriptor.java:3: package javax.util does not exist
[javac] import javax.util.Localizer;
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/FTStatus.java:5: package javax.util does not exist
[javac] import javax.util.Localizer;
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:14: package javax.util does not exist
[javac] import javax.util.Localizer;
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:15: package javax.util.property does not exist
[javac] import javax.util.property.Property;
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:16: package javax.util.property does not exist
[javac] import javax.util.property.PropertyPersistenceManager;
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/ui/deviceTree/DevicesTreePanel.java:25: package javax.util does not exist
[javac] import javax.util.Localizer;
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:59: cannot find symbol
[javac] symbol : class Property
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] #Property(defaultValue = " ")
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:65: cannot find symbol
[javac] symbol : class Property
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] #Property(key = "com.ftdichip.ftd2xx.Device.writeTimeout", defaultValue = "300")
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:71: cannot find symbol
[javac] symbol : class Property
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] #Property(key = "com.ftdichip.ftd2xx.Device.readTimeout", defaultValue = "300")
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:77: cannot find symbol
[javac] symbol : class Property
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] #Property(key = "com.ftdichip.ftd2xx.Device.latencyTimer", defaultValue = "-1")
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:83: cannot find symbol
[javac] symbol : class Property
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] #Property(key = "com.ftdichip.ftd2xx.Device.resetPipeRetryCount", defaultValue = "-1")
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:89: cannot find symbol
[javac] symbol : class Property
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] #Property(key = "com.ftdichip.ftd2xx.Device.usbReceiveBufferSize", defaultValue = "-1")
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:95: cannot find symbol
[javac] symbol : class Property
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] #Property(key = "com.ftdichip.ftd2xx.Device.usbTransmitBufferSize", defaultValue = "-1")
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:142: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalStateException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:155: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalStateException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:302: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:347: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:454: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:545: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:608: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:657: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:661: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:695: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:770: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:774: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:780: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] logger.fine(Localizer.getLocalizedMessage(Device.class,
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:879: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:883: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Device.java:887: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Device
[javac] logger.fine(Localizer.getLocalizedMessage(Device.class,
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/EEPROM.java:33: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.EEPROM
[javac] throw new IllegalStateException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Port.java:58: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Port
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Port.java:92: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Port
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Port.java:163: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Port
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Port.java:190: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Port
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/DeviceDescriptor.java:106: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.DeviceDescriptor
[javac] throw new InvalidDeviceDescriptorException(Localizer
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/FTStatus.java:146: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.FTStatus
[javac] return Localizer.getLocalizedMessage(FTStatus.class, status.toString());
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/FTStatus.java:164: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.FTStatus
[javac] String message = Localizer.getLocalizedMessage(FTStatus.class,
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:107: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] logger.log(Level.SEVERE, Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:129: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] logger.config(Localizer.getLocalizedMessage(Service.class,
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:147: cannot find symbol
[javac] symbol : variable PropertyPersistenceManager
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] PropertyPersistenceManager
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/Service.java:150: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.Service
[javac] throw new RuntimeException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/ui/deviceTree/DevicesTreePanel.java:103: cannot find symbol
[javac] symbol: variable Localizer
[javac] String title = Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/ui/deviceTree/DevicesTreePanel.java:107: cannot find symbol
[javac] symbol: variable Localizer
[javac] String message = Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/ui/deviceTree/DevicesTreePanel.java:147: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.ui.deviceTree.DevicesTreePanel
[javac] text = Localizer.getLocalizedMessage(DevicesTreePanel.class,
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/ui/deviceTree/DevicesTreePanel.java:151: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.ui.deviceTree.DevicesTreePanel
[javac] text = Localizer.getLocalizedMessage(DevicesTreePanel.class,
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/ui/deviceTree/DevicesTreePanel.java:211: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.ui.deviceTree.DevicesTreePanel
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] /Users/georgeprofenza/Documents/eclipse/ftd2xxj/src/application/com/ftdichip/ftd2xx/ui/deviceTree/DevicesTreePanel.java:223: cannot find symbol
[javac] symbol : variable Localizer
[javac] location: class com.ftdichip.ftd2xx.ui.deviceTree.DevicesTreePanel
[javac] throw new IllegalArgumentException(Localizer.getLocalizedMessage(
[javac] ^
[javac] 50 errors
BUILD FAILED
/Users/georgeprofenza/Documents/eclipse/ftd2xxj/build.xml:107: The following error occurred while executing this line:
/Users/georgeprofenza/Documents/eclipse/ftd2xxj/build.xml:112: The following error occurred while executing this line:
/Users/georgeprofenza/Documents/eclipse/ftd2xxj/build.xml:216: Compile failed; see the compiler error output for details.
Total time: 2 seconds
Update 1
I've made some progress with the original eclipse based project and managed to run the ant build from the ftd2xxj project, which seems to generate the JNI headers, but it doesn't seem to compile the JNI library. (I haven't spotted anything in the ant file that points to anything JNI related other than the JNI headers). It is still unclear what the recommended method of compiling the JNI library (now that the headers are ready).
I noticed there is a com.ftdichip.ftd2xx.linux.x86, which is referenced from the ftd2xxj, but I'm not sure how it's being used and if I would like to make com.ftdichip.ftd2xx.linux.armv7 folder, how would I do that ?
Update 2
I've noticed a problem eclipse flags for the com.ftdichip.ftd2xx project:
An API baseline has not been set for the current workspace
Based on this answer I've set preferences to Warn instead of Error.
I hope this won't cause major problems
I've made further progress with the eclipse projects and noticed something happening with the ftd2xx-native project. It tries to compile based on Makefiles, but it fails:
19:14:51 **** Incremental Build of configuration linux-i386 for project ftd2xxj-native ****
make all
Building file: ../src/device.c
Invoking: GCC C Compiler
gcc -I/home/pi/eclipse/ftd2xxj-native/external/include -I/include -I/include/linux -O0 -Wall -c -fmessage-length=0 -fPIC -m32 -MMD -MP -MF"src/device.d" -MT"src/device.d" -o"src/device.o" "../src/device.c"
gcc: error: unrecognized command line option ‘-m32’
src/subdir.mk:39: recipe for target 'src/device.o' failed
make: *** [src/device.o] Error 1
19:14:51 Build Finished (took 246ms)
I noticed the -m32 flag, sub when I try to edit the src/subdir.mk file I get a warning the file is generated. I am still not sure how these Make files are generated. Any hints in this direction would be helpful
Update 3
I now notice the ftd2xxj-native is the JNI C project and there are some extra settings via Eclipse CDT. I can see the -m32 flags, but I'm unable to change the settings. I'm going through the CDT docs. Any hints/tips on configuring and compiling JNI projects via CDT will are appreciated
Turns out there were quite a things to setup.
I compiled the project on a Raspberry PI 2 using eclipse 3.8.1 with CDT 8.5.0.
Using this version resulted in a single API baseline error, which in Preferences > Plug-in Development > API Baselines can be set to Warning instead Error if any are missing.
I had to change the JRE (J2SE01.5 used in the original project was missing) but java 7 openJDK and Oracle JDK 8 were present on the system.
Most of the settings I was looking in terms of compiler flags were present in the ftd2xx-native project properties under C/C++ Build > Settings
There are the settings I've used:
C Compiler Includes
/usr/lib/jvm/java-7-openjdk-armhf/include
/usr/lib/jvm/java-7-openjdk-armhf/include/linux
"${workspace_loc:/${ProjName}/external/include}"
C Compiler Flags (Miscaleneous > Other Flags)
-c -fmessage-length=0 -fPIC -march=armv7-a -mfloat-abi=hard -ftree-vectorize -Wno-psabi -pipe-c -fmessage-length=0 -fPIC -march=armv7-a -mfloat-abi=hard -ftree-vectorize -Wno-psabi -pipe
C linker libraries (-l)
jvm
ftd2xx
C linker library search paths(-L)
/usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/jre/lib/arm/client
"${workspace_loc:/${ProjName}/external}"
I was originally using the java 7 openjdk path, but the client library vanished at some point (not sure if cleaning the c++ project had anything to do with that)
Miscaleneous > Other Flags
--no-undefined
Shared library settings
Shared is on (-shared) Shared object name
lib${BuildArtifactFileName}.${MAJOR_VERSION}
MAJOR_VERSION and MINOR_VERSION were defined in C/C++ Build > Build Variables (as Strings)
Hope this helps anyone else trying to compile this JNI wrapper on a different platform
I terms of using the libraries, it's worth taking note of the driver's readme file, especially the ones on unloading the serial driver and running java as sudo when using this library:
If the message "FT_Open failed" appears:
Perhaps the kernel automatically loaded another driver for the
FTDI USB device.
sudo lsmod
If "ftdi_sio" is listed:
Unload it (and its helper module, usbserial), as follows.
sudo rmmod ftdi_sio
sudo rmmod usbserial
Otherwise, it's possible that libftd2xx does not recognise your
device's Vendor and Product Identifiers. Call FT_SetVIDPID before
calling FT_Open/FT_OpenEx/FT_ListDevices.
I think it's maybe because you are trying to compile your project with a JRE instead of the Java JDK ?
Try Java --version in the console and see if you got the JDK installed. If not, download it from Oracle, be sure to put it into your Path and into the JAVA_HOME variable.
I followed this instructions to set up Facebook SDK for my Cordova/Ionic project:
http://ngcordova.com/docs/plugins/facebook/
For iOS everything worked well, but for Android, the last step of
cordova build android
fails with weird errors:
-compile:
[javac] Compiling 97 source files to /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/ant-build/classes
[javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewClient.java:35: error: cannot find symbol
[javac] import android.webkit.ClientCertRequest;
[javac] ^
[javac] symbol: class ClientCertRequest
[javac] location: package android.webkit
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewClient.java:145: error: cannot find symbol
[javac] public void onReceivedClientCertRequest (WebView view, ClientCertRequest request)
[javac] ^
[javac] symbol: class ClientCertRequest
[javac] location: class CordovaWebViewClient
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaChromeClient.java:342: error: cannot find symbol
[javac] public boolean onShowFileChooser(WebView webView, final ValueCallback<Uri[]> filePathsCallback, final WebChromeClient.FileChooserParams fileChooserParams) {
[javac] ^
[javac] symbol: class FileChooserParams
[javac] location: class WebChromeClient
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:25: error: cannot find symbol
[javac] import android.webkit.ClientCertRequest;
[javac] ^
[javac] symbol: class ClientCertRequest
[javac] location: package android.webkit
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:32: error: cannot find symbol
[javac] private final ClientCertRequest request;
[javac] ^
[javac] symbol: class ClientCertRequest
[javac] location: class CordovaClientCertRequest
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:34: error: cannot find symbol
[javac] public CordovaClientCertRequest(ClientCertRequest request) {
[javac] ^
[javac] symbol: class ClientCertRequest
[javac] location: class CordovaClientCertRequest
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaChromeClient.java:340: error: cannot find symbol
[javac] #TargetApi(Build.VERSION_CODES.LOLLIPOP)
[javac] ^
[javac] symbol: variable LOLLIPOP
[javac] location: class VERSION_CODES
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java:197: error: cannot find symbol
[javac] if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
[javac] ^
[javac] symbol: variable LOLLIPOP
[javac] location: class VERSION_CODES
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java:200: error: cannot find symbol
[javac] cookieManager.setAcceptThirdPartyCookies(this, true);
[javac] ^
[javac] symbol: method setAcceptThirdPartyCookies(CordovaWebView,boolean)
[javac] location: variable cookieManager of type CookieManager
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewClient.java:143: error: method does not override or implement a method from a supertype
[javac] #Override
[javac] ^
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaChromeClient.java:341: error: method does not override or implement a method from a supertype
[javac] #Override
[javac] ^
[javac] /Users/glfx/Projects/Sportcial/platforms/android/CordovaLib/src/org/apache/cordova/CordovaChromeClient.java:348: error: cannot find symbol
[javac] Uri[] result = WebChromeClient.FileChooserParams.parseResult(resultCode, intent);
[javac] ^
[javac] symbol: variable FileChooserParams
[javac] location: class WebChromeClient
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] 12 errors
[javac] 3 warnings
BUILD FAILED
/Users/glfx/Library/Android/sdk/tools/ant/build.xml:601: The following error occurred while executing this line:
/Users/glfx/Library/Android/sdk/tools/ant/build.xml:720: The following error occurred while executing this line:
/Users/glfx/Library/Android/sdk/tools/ant/build.xml:734: Compile failed; see the compiler error output for details.
Total time: 2 seconds
/Users/glfx/Projects/Sportcial/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
Error code 1 for command: ant with args: debug,-f,/Users/glfx/Projects/Sportcial/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
ERROR building one of the platforms: Error: /Users/glfx/Projects/Sportcial/platforms/android/cordova/build: Command failed with exit code 1
You may not have the required environment or OS to build this project
Error: /Users/glfx/Projects/Sportcial/platforms/android/cordova/build: Command failed with exit code 1
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1008:16)
at Process.ChildProcess._handle.onexit (child_process.js:1080:5)
My manifest file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.facebook.android">
<application/>
<uses-sdk android:minSdkVersion='14' android:targetSdkVersion='21' />
</manifest>
I've tried updating Java version, changing target SDK version, Googling.. No luck.
Some details:
java version "1.8.0_40"
Cordova:
Installed platforms: android 3.7.1, ios 3.8.0
Mac OSX latest.
Please assist.
Today I faced same problem, using AdvancedWebView and found cordova related problem. for Ant Users, just check
project.properties file. Change the
target=android-21
Install Android build tools version 21 and 22 from SDK Manager.
Once the build tools are installed, remove the platforms folder inside your app.
Go to Cordova and add the android platform again (using cordova platform add android command).
Then rebuild the app (using cordova build command) and it will build successfully
After fixing the error like tools.jar and junit.jar not found (thanks to stack overflow) I tried to compile the example given in "lucene in action" book. But when I compiled I am getting this error. Can you tell what error I am getting and how to fix it?
Total time: 0 seconds
E:\LuceneInAction>ant Indexer
Buildfile: E:\LuceneInAction\build.xml
check-environment:
compile:
[javac] E:\LuceneInAction\build.xml:66: warning: 'includeantruntime' was not
set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 104 source files to E:\LuceneInAction\build\classes
[javac] E:\LuceneInAction\src\lia\analysis\AnalyzerUtils.java:3: warning: [d
eprecation] Assert in junit.framework has been deprecated
[javac] import junit.framework.Assert;
[javac] ^
[javac] E:\LuceneInAction\src\lia\handlingtypes\html\NekoHTMLHandler.java:18
: error: package org.apache.html.dom does not exist
[javac] import org.apache.html.dom.HTMLDocumentImpl;
[javac] ^
[javac] E:\LuceneInAction\src\lia\analysis\AnalyzerUtils.java:90: warning: [
deprecation] Assert in junit.framework has been deprecated
[javac] Assert.assertEquals(strings.length, tokens.length);
[javac] ^
[javac] E:\LuceneInAction\src\lia\analysis\AnalyzerUtils.java:93: warning: [
deprecation] Assert in junit.framework has been deprecated
[javac] Assert.assertEquals("index " + i, strings[i], tokens[i].termTe
xt());
[javac] ^
[javac] E:\LuceneInAction\src\lia\handlingtypes\html\NekoHTMLHandler.java:32
: error: cannot find symbol
[javac] new HTMLDocumentImpl().createDocumentFragment();
[javac] ^
[javac] symbol: class HTMLDocumentImpl
[javac] location: class NekoHTMLHandler
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 2 errors
[javac] 3 warnings
BUILD FAILED
E:\LuceneInAction\build.xml:66: Compile failed; see the compiler error output fo
r details.
Total time: 2 seconds
Sorry I dont have enough reputaion to post image
Tt is complaining about your jar which contains HtmlDocumentImpl not being on the classpath. Maybe xerces? A specific version.
The JUnits are a warning that it the Assert which comes from org.framework. You can update your JUnit jar file or leave it as is since that isnt the cause of the error.
The errors are due to a jar not being on your classpath. which in my guess is xerces
We recently added FindBugs to our build and test process, but we've run into problems building when we are using the #SuppressWarning annotation.
More interestingly, the code will compile on our three developer laptops, but not on our build system, even though the code is the same and the Java compiler in use is the same (1.5.0_22 - 32 bit).
Here is the problem: We have a project, HCSBeans, that depends on another project, CommonLibrary. CommonLibrary uses #SuppressWarning once, while HCSBeans does not. CommonLibrary builds on our laptops and the build system, but HCSBeans does not build on the build system. At this point I cannot find a difference between the build system and my laptop.
Here is the verbose Ant output from the build system (note: we are not using Maven):
-do-compile:
[mkdir] Created dir: C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\build\empty
[javac] com\hcs\orc\ui\BindingHandler.java added as com\hcs\orc\ui\BindingHandler.class doesn't exist.
[javac] com\hcs\orc\ui\JRadioButtonUpdatable.java added as com\hcs\orc\ui\JRadioButtonUpdatable.class doesn't exist.
[javac] com\hcs\orc\ui\JTextAreaSizeFix.java added as com\hcs\orc\ui\JTextAreaSizeFix.class doesn't exist.
[javac] com\hcs\orc\ui\ORCAssignmentPanel.java added as com\hcs\orc\ui\ORCAssignmentPanel.class doesn't exist.
[javac] com\hcs\orc\ui\ORCCheckBox.java added as com\hcs\orc\ui\ORCCheckBox.class doesn't exist.
[javac] com\hcs\orc\ui\ORCLabel.java added as com\hcs\orc\ui\ORCLabel.class doesn't exist.
[javac] com\hcs\orc\ui\ORCLabelBeanInfo.java added as com\hcs\orc\ui\ORCLabelBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCPanel.java added as com\hcs\orc\ui\ORCPanel.class doesn't exist.
[javac] com\hcs\orc\ui\ORCPanelBeanInfo.java added as com\hcs\orc\ui\ORCPanelBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCRadioButton.java added as com\hcs\orc\ui\ORCRadioButton.class doesn't exist.
[javac] com\hcs\orc\ui\ORCRadioButtonBeanInfo.java added as com\hcs\orc\ui\ORCRadioButtonBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCRadioButtonGroup.java added as com\hcs\orc\ui\ORCRadioButtonGroup.class doesn't exist.
[javac] com\hcs\orc\ui\ORCRadioButtonGroupBeanInfo.java added as com\hcs\orc\ui\ORCRadioButtonGroupBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCScrollPane.java added as com\hcs\orc\ui\ORCScrollPane.class doesn't exist.
[javac] com\hcs\orc\ui\ORCScrollPaneBeanInfo.java added as com\hcs\orc\ui\ORCScrollPaneBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCSeparator.java added as com\hcs\orc\ui\ORCSeparator.class doesn't exist.
[javac] com\hcs\orc\ui\ORCSeparatorBeanInfo.java added as com\hcs\orc\ui\ORCSeparatorBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCSplitPane.java added as com\hcs\orc\ui\ORCSplitPane.class doesn't exist.
[javac] com\hcs\orc\ui\ORCSplitPaneBeanInfo.java added as com\hcs\orc\ui\ORCSplitPaneBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTabbedPane.java added as com\hcs\orc\ui\ORCTabbedPane.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTabbedPaneBeanInfo.java added as com\hcs\orc\ui\ORCTabbedPaneBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTable.java added as com\hcs\orc\ui\ORCTable.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTableBeanInfo.java added as com\hcs\orc\ui\ORCTableBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextArea.java added as com\hcs\orc\ui\ORCTextArea.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextAreaBeanInfo.java added as com\hcs\orc\ui\ORCTextAreaBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextField.java added as com\hcs\orc\ui\ORCTextField.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextFieldBeanInfo.java added as com\hcs\orc\ui\ORCTextFieldBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextPane.java added as com\hcs\orc\ui\ORCTextPane.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextPaneBeanInfo.java added as com\hcs\orc\ui\ORCTextPaneBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\RoundButtonBorder.java added as com\hcs\orc\ui\RoundButtonBorder.class doesn't exist.
[javac] com\hcs\orc\ui\TextLabelUI.java added as com\hcs\orc\ui\TextLabelUI.class doesn't exist.
[javac] com\hcs\orc\ui\TextTransfer.java added as com\hcs\orc\ui\TextTransfer.class doesn't exist.
[javac] com\hcs\orc\ui\TouchButton.java added as com\hcs\orc\ui\TouchButton.class doesn't exist.
[javac] com\hcs\orc\ui\TouchButtonUpdatable.java added as com\hcs\orc\ui\TouchButtonUpdatable.class doesn't exist.
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\resources\black_box.gif skipped - don't know how to handle it
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\resources\black_box_disabled.gif skipped - don't know how to handle it
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\resources\black_box_x.gif skipped - don't know how to handle it
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\resources\black_box_x_disabled.gif skipped - don't know how to handle it
[javac] Compiling 34 source files to C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\build\classes
[javac] Using external javac compiler
[javac] Compilation arguments:
[javac] '-d'
[javac] 'C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\build\classes'
[javac] '-classpath'
[javac] 'C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\build\classes;C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\CommonLibrary\dist\CommonLibrary.jar;C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\lib\swing-layout-1.0.4.jar'
[javac] '-sourcepath'
[javac] 'C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\build\empty'
[javac] '-target'
[javac] '1.5'
[javac] '-encoding'
[javac] 'windows-1252'
[javac] '-g'
[javac] '-source'
[javac] '1.5'
[javac]
[javac] The ' characters around the executable and arguments are
[javac] not part of the command.
[javac] Files to be compiled:
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\BindingHandler.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\JRadioButtonUpdatable.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\JTextAreaSizeFix.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCAssignmentPanel.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCCheckBox.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCLabel.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCLabelBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCPanel.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCPanelBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCRadioButton.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCRadioButtonBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCRadioButtonGroup.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCRadioButtonGroupBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCScrollPane.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCScrollPaneBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCSeparator.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCSeparatorBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCSplitPane.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCSplitPaneBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTabbedPane.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTabbedPaneBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTable.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTableBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextArea.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextAreaBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextField.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextFieldBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextPane.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextPaneBeanInfo.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\RoundButtonBorder.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\TextLabelUI.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\TextTransfer.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\TouchButton.java
[javac] C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\src\com\hcs\orc\ui\TouchButtonUpdatable.java
[javac] An exception has occurred in the compiler (1.5.0_22). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
[javac] com.sun.tools.javac.code.Symbol$CompletionFailure: file edu\umd\cs\findbugs\annotations\SuppressWarnings.class not found
[ant] Exiting C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\HCSBeans\build.xml.
[antcall] Exiting C:\Documents and Settings\stephen\.hudson\jobs\ORC Trunk\workspace\orc\nb\build.xml.
Here is the verbose Ant output from my laptop:
-do-compile:
[mkdir] Created dir: C:\hcs\orc\nb\HCSBeans\build\empty
[javac] com\hcs\orc\ui\BindingHandler.java added as com\hcs\orc\ui\BindingHandler.class doesn't exist.
[javac] com\hcs\orc\ui\JRadioButtonUpdatable.java added as com\hcs\orc\ui\JRadioButtonUpdatable.class doesn't exist.
[javac] com\hcs\orc\ui\JTextAreaSizeFix.java added as com\hcs\orc\ui\JTextAreaSizeFix.class doesn't exist.
[javac] com\hcs\orc\ui\ORCAssignmentPanel.java added as com\hcs\orc\ui\ORCAssignmentPanel.class doesn't exist.
[javac] com\hcs\orc\ui\ORCCheckBox.java added as com\hcs\orc\ui\ORCCheckBox.class doesn't exist.
[javac] com\hcs\orc\ui\ORCLabel.java added as com\hcs\orc\ui\ORCLabel.class doesn't exist.
[javac] com\hcs\orc\ui\ORCLabelBeanInfo.java added as com\hcs\orc\ui\ORCLabelBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCPanel.java added as com\hcs\orc\ui\ORCPanel.class doesn't exist.
[javac] com\hcs\orc\ui\ORCPanelBeanInfo.java added as com\hcs\orc\ui\ORCPanelBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCRadioButton.java added as com\hcs\orc\ui\ORCRadioButton.class doesn't exist.
[javac] com\hcs\orc\ui\ORCRadioButtonBeanInfo.java added as com\hcs\orc\ui\ORCRadioButtonBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCRadioButtonGroup.java added as com\hcs\orc\ui\ORCRadioButtonGroup.class doesn't exist.
[javac] com\hcs\orc\ui\ORCRadioButtonGroupBeanInfo.java added as com\hcs\orc\ui\ORCRadioButtonGroupBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCScrollPane.java added as com\hcs\orc\ui\ORCScrollPane.class doesn't exist.
[javac] com\hcs\orc\ui\ORCScrollPaneBeanInfo.java added as com\hcs\orc\ui\ORCScrollPaneBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCSeparator.java added as com\hcs\orc\ui\ORCSeparator.class doesn't exist.
[javac] com\hcs\orc\ui\ORCSeparatorBeanInfo.java added as com\hcs\orc\ui\ORCSeparatorBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCSplitPane.java added as com\hcs\orc\ui\ORCSplitPane.class doesn't exist.
[javac] com\hcs\orc\ui\ORCSplitPaneBeanInfo.java added as com\hcs\orc\ui\ORCSplitPaneBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTabbedPane.java added as com\hcs\orc\ui\ORCTabbedPane.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTabbedPaneBeanInfo.java added as com\hcs\orc\ui\ORCTabbedPaneBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTable.java added as com\hcs\orc\ui\ORCTable.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTableBeanInfo.java added as com\hcs\orc\ui\ORCTableBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextArea.java added as com\hcs\orc\ui\ORCTextArea.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextAreaBeanInfo.java added as com\hcs\orc\ui\ORCTextAreaBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextField.java added as com\hcs\orc\ui\ORCTextField.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextFieldBeanInfo.java added as com\hcs\orc\ui\ORCTextFieldBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextPane.java added as com\hcs\orc\ui\ORCTextPane.class doesn't exist.
[javac] com\hcs\orc\ui\ORCTextPaneBeanInfo.java added as com\hcs\orc\ui\ORCTextPaneBeanInfo.class doesn't exist.
[javac] com\hcs\orc\ui\RoundButtonBorder.java added as com\hcs\orc\ui\RoundButtonBorder.class doesn't exist.
[javac] com\hcs\orc\ui\TextLabelUI.java added as com\hcs\orc\ui\TextLabelUI.class doesn't exist.
[javac] com\hcs\orc\ui\TextTransfer.java added as com\hcs\orc\ui\TextTransfer.class doesn't exist.
[javac] com\hcs\orc\ui\TouchButton.java added as com\hcs\orc\ui\TouchButton.class doesn't exist.
[javac] com\hcs\orc\ui\TouchButtonUpdatable.java added as com\hcs\orc\ui\TouchButtonUpdatable.class doesn't exist.
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\resources\black_box.gif skipped - don't know how to handle it
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\resources\black_box_disabled.gif skipped - don't know how to handle it
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\resources\black_box_x.gif skipped - don't know how to handle it
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\resources\black_box_x_disabled.gif skipped - don't know how to handle it
[javac] Compiling 34 source files to C:\hcs\orc\nb\HCSBeans\build\classes
[javac] Using external javac compiler
[javac] Compilation arguments:
[javac] '-d'
[javac] 'C:\hcs\orc\nb\HCSBeans\build\classes'
[javac] '-classpath'
[javac] 'C:\hcs\orc\nb\HCSBeans\build\classes;C:\hcs\orc\nb\CommonLibrary\dist\CommonLibrary.jar;C:\Program Files (x86)\NetBeans 7.2\platform\modules\ext\swing-layout-1.0.4.jar'
[javac] '-sourcepath'
[javac] 'C:\hcs\orc\nb\HCSBeans\build\empty'
[javac] '-target'
[javac] '1.5'
[javac] '-encoding'
[javac] 'windows-1252'
[javac] '-g'
[javac] '-source'
[javac] '1.5'
[javac]
[javac] The ' characters around the executable and arguments are
[javac] not part of the command.
[javac] Files to be compiled:
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\BindingHandler.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\JRadioButtonUpdatable.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\JTextAreaSizeFix.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCAssignmentPanel.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCCheckBox.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCLabel.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCLabelBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCPanel.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCPanelBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCRadioButton.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCRadioButtonBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCRadioButtonGroup.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCRadioButtonGroupBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCScrollPane.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCScrollPaneBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCSeparator.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCSeparatorBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCSplitPane.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCSplitPaneBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTabbedPane.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTabbedPaneBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTable.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTableBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextArea.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextAreaBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextField.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextFieldBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextPane.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\ORCTextPaneBeanInfo.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\RoundButtonBorder.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\TextLabelUI.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\TextTransfer.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\TouchButton.java
[javac] C:\hcs\orc\nb\HCSBeans\src\com\hcs\orc\ui\TouchButtonUpdatable.java
Other than the compile error, I don't see any difference.
Other things worth noting:
Deleting and rechecking out the source code for both projects
from SVN.
Comparing the versions of Java. Both are 32-bit Java 1.5.0_22. I know that is old, but we have customers who insist upon it.
There is only one reference to #SuppressWarning in CommonLibrary and none in HCSBeans.
We use annotations.jar and jsr305.jar when building the CommonLibrary, but they are not packaged with it and not referenced by HCSBeans. They should not be necessary after the build.
Our laptops are 64-bit while the build system is 32-bit, but both Java installs are 32-bit.
All computers are MS Windows.
Update
I switched the build server to compile HCSBean with Java 1.6 and the code compiles (after removing an unused import to SwingUtilities2), but if I switch it back to Java 1.5 it still fails with the same error. I'm beginning to suspect a problem with the Java 1.5 compiler.
Update 2
Well a co-worker found the actual difference. Not sure why it is occurring, but here is the difference between the resulting builds. On our laptops, the CommonLibrary.jar MANIFEST.MF file contains this line:
Class-Path: lib/annotations.jar lib/jsr305.jar
This means that building the HCSBeans project, it finds the annotations.jar file it needs. However, this Class-Path line is not present when we build on the build server. Not sure why, but that is the next line of investigation.
So we found the problem. Our laptops, having NetBeans installed (even if we weren't building directly from NetBeans) were using the CopyLibs to build the jar file, which added the needed line to the Manifest.MF file:
Class-Path: lib/annotations.jar lib/jsr305.jar
However, our build server, not having NetBeans installed was using j2seproject1:jar to build the jar file.
The solution was to add this to the -D Javac properties when building on our build server (which is Hudson, for those interested):
libs.CopyLibs.classpath=C:\\Documents and Settings\\stephen\\.hudson\\jobs\\ORC Trunk\\workspace\\orc\\lib\\netbeans\\org-netbeans-modules-java-j2seproject-copylibstask.jar
Now both our laptops and the build server are using CopyLibs and they both compile.
Yikes! What a mess to figure out.
Thanks for those who gave me pointers along the way ( #Peter-Eliot & #Disco3 ).
looks like the library is using the FindBugs version of SuppressWarning, not the java.lang version. #SuppressWarning to #java.lang.SuppressWarning and/or remove the import of the FindBugs version of SuppressWarning and see if that fixes it?
Also try adding FindBugs as a library in the classpath hudson looks at. It looks like on your developer machines you are building in NetBeans, and I wouldn't be shocked if Netbeans snuck FindBugs into the classpath that ant uses
When I run my Ant script, I get the following error
compile-src:
[echo] Source include pattern = **/*.java
[echo] Source exclude pattern =
[echo] Compiling From Source: = /u1/cibuild/.hudson/jobs/LDICommon/workspace/src
[javac] Compiling 99 source files to /u1/cibuild/.hudson/jobs/LDICommon/workspace/dbg1.5/classes/src
[javac] An exception has occurred in the compiler (1.5.0_09). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
[javac] java.lang.AssertionError: {rawtypes}
[javac] at com.sun.tools.javac.tree.TreeMaker$AnnotationBuilder.visitArray(TreeMaker.java:634)
[javac] at com.sun.tools.javac.code.Attribute$Array.accept(Attribute.java:124)
[javac] at com.sun.tools.javac.tree.TreeMaker$AnnotationBuilder.translate(TreeMaker.java:637)
[javac] at com.sun.tools.javac.tree.TreeMaker$AnnotationBuilder.visitCompoundInternal(TreeMaker.java:628)
[javac] at com.sun.tools.javac.tree.TreeMaker$AnnotationBuilder.translate(TreeMaker.java:641)
[javac] at com.sun.tools.javac.tree.TreeMaker.Annotation(TreeMaker.java:649)
[javac] at com.sun.tools.javac.tree.TreeMaker.Annotations(TreeMaker.java:570)
[javac] at com.sun.tools.javac.tree.TreeMaker.VarDef(TreeMaker.java:554)
[javac] at com.sun.tools.javac.comp.Lower.visitIterableForeachLoop(Lower.java:2892)
[javac] at com.sun.tools.javac.comp.Lower.visitForeachLoop(Lower.java:2755)
[javac] at com.sun.tools.javac.tree.Tree$ForeachLoop.accept(Tree.java:597)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:54)
[javac] at com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:145)
[javac] at com.sun.tools.javac.comp.Lower.visitBlock(Lower.java:2927)
[javac] at com.sun.tools.javac.tree.Tree$Block.accept(Tree.java:535)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:54)
[javac] at com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:145)
[javac] at com.sun.tools.javac.comp.Lower.visitBlock(Lower.java:2927)
[javac] at com.sun.tools.javac.tree.Tree$Block.accept(Tree.java:535)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.comp.Lower.visitForLoop(Lower.java:2948)
[javac] at com.sun.tools.javac.tree.Tree$ForLoop.accept(Tree.java:581)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.comp.Lower.visitIterableForeachLoop(Lower.java:2894)
[javac] at com.sun.tools.javac.comp.Lower.visitForeachLoop(Lower.java:2755)
[javac] at com.sun.tools.javac.tree.Tree$ForeachLoop.accept(Tree.java:597)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:54)
[javac] at com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:145)
[javac] at com.sun.tools.javac.comp.Lower.visitBlock(Lower.java:2927)
[javac] at com.sun.tools.javac.tree.Tree$Block.accept(Tree.java:535)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.comp.Lower.visitIf(Lower.java:2382)
[javac] at com.sun.tools.javac.tree.Tree$If.accept(Tree.java:715)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:54)
[javac] at com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:145)
[javac] at com.sun.tools.javac.comp.Lower.visitBlock(Lower.java:2927)
[javac] at com.sun.tools.javac.tree.Tree$Block.accept(Tree.java:535)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.comp.Lower.visitIf(Lower.java:2383)
[javac] at com.sun.tools.javac.tree.Tree$If.accept(Tree.java:715)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:54)
[javac] at com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:145)
[javac] at com.sun.tools.javac.comp.Lower.visitBlock(Lower.java:2927)
[javac] at com.sun.tools.javac.tree.Tree$Block.accept(Tree.java:535)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.tree.TreeTranslator.visitMethodDef(TreeTranslator.java:129)
[javac] at com.sun.tools.javac.comp.Lower.visitMethodDefInternal(Lower.java:2267)
[javac] at com.sun.tools.javac.comp.Lower.visitMethodDef(Lower.java:2186)
[javac] at com.sun.tools.javac.tree.Tree$MethodDef.accept(Tree.java:478)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.comp.Lower.visitClassDef(Lower.java:1989)
[javac] at com.sun.tools.javac.tree.Tree$ClassDef.accept(Tree.java:434)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1881)
[javac] at com.sun.tools.javac.comp.Lower.translate(Lower.java:1901)
[javac] at com.sun.tools.javac.comp.Lower.translateTopLevelClass(Lower.java:3064)
[javac] at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:487)
[javac] at com.sun.tools.javac.main.Main.compile(Main.java:592)
[javac] at com.sun.tools.javac.main.Main.compile(Main.java:544)
[javac] at com.sun.tools.javac.Main.compile(Main.java:67)
[javac] at com.sun.tools.javac.Main.main(Main.java:52)
BUILD FAILED
I'm not sure what is going on, I can compile this project outside ant (in eclipse) without an issue.
I'm almost sure that the message about a bug in the compiler is a red herring, I suspect the real problem has to do with the message:
[javac] java.lang.AssertionError: {rawtypes}
but there isn't much information to help tracking down the root cause of the error.
Any ideas?
Given your compiler is really old and not publicly supported, I would assume that upgrading your JDK would be a good starting place.
The last free version of Java 5.0 is update 22 (you have update 9).
http://www.oracle.com/technetwork/java/javase/downloads/index-jdk5-jsp-142662.html
The latest version of Java is Java 6 update 26.
http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
It clearly says that it is a compiler bug:
An exception has occurred in the compiler (1.5.0_09). Please file a bug at the
Java Developer Connection (http://java.sun.com/webapps/bugreport) after
checking the Bug Parade for duplicates. Include your program and the following
diagnostic in your report. Thank you.
As Peter said, first check if the same problem occurs in a newer javac version, and then file a bug report. (You might try to minimize down your code to an SSCEE first.)
Eclipse does not use javac, but has its own compiler included, thus this does not tell us anything here.