ADT Captive Runtime Package Command Line Error - actionscript-3

I'm attempting (unsuccessfully) to package a captive runtime of AIR 3.3 application for Windows 7 using the command prompt.
The arguments passed to ADT are correct, as i do not receive errors and i'm prompted for the certificate password:
C:\Users\Geoffrey Mattie>"C:\Program Files (x86)\FlashDevelop\Tools\flexsdk\bin\
adt.bat" -package -keystore "G:\Desktop\AIRCert.p12" -storetype pkcs12 -target b
undle "G:\Desktop\Off Air" "G:\Developer\OffAir\application.xml" -C "G:\Deve
loper\OffAir\bin\OffAir.swf" -C "G:\Developer\OffAir\assets\offAirIcon.png"
password:
However, after entering the password i receive this:
unexpected failure: inputs not set
java.lang.IllegalStateException: inputs not set
at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.j
ava:61)
at com.adobe.air.nai.NativePackager.createPackage(NativePackager.java:96
)
at com.adobe.air.ADT.parseArgsAndGo(ADT.java:564)
at com.adobe.air.ADT.run(ADT.java:418)
at com.adobe.air.ADT.main(ADT.java:468)
C:\Users\Geoffrey Mattie>
Could this be happening because my application files are located on the G drive while ADT and Java are on the C drive? Any ideas?

I think you need to specify the name of your .exe file. Instead of:
-target bundle "G:\Desktop\Off Air"
It should probably be:
-target bundle "G:\Desktop\Off Air\MyApp.exe"
Or:
_target bundle "G:\Desktop\Off Air\MyApp.app"

It appears that there was a problem with my manual merging of the AIR 3.4 and Flex 4.6 SDKs. Using the pre-merged version on Adobe's Gaming website solves the issue.

Related

OS X ejabberd configure error: SQLite3 library >= 3.6.19 was not found

I tried to install ejabberd in my local Mac OS X machine, but while configuring sqlite using following command as mentioned in steps. I'm stuck at the following issue.
./configure --prefix=$HOME/my-ejabberd --enable-sqlite
Error received
checking for SQLite3 library >= 3.6.19... yes
cat: /include/sqlite3.h: No such file or directory
./configure: line 4172: test: !=: unary operator expected
configure: WARNING: Cannot find SQLITE_VERSION macro in sqlite3.h header to retrieve SQLite version!
configure: error: SQLite3 library >= 3.6.19 was not found
Steps I followed from - https://docs.ejabberd.im/developer/install-osx/
If you just want to install vanilla Ejabberd then you can simply do brew install ejabberd.
According to the issue, you can also try:
./configure --prefix=$HOME/my-ejabberd --enable-sqlite --with-sqlite3=/usr/local/opt/sqlite
P.S. I have filed the issue on Github Ejabberd.

Can a jlinked runtime be deployed with javapackager?

The instructions to javapackager just above Example 2-1 in the Java SE Deployment Guide/Self-Contained Application Packaging state that a jar file is required in the -deploy command.
If I use a modular jar, I get this error message:
Exception: java.lang.Exception: Error: Modules are not allowed in srcfiles: [dist\tcdmod.jar].
If I use the equivalent non-modular jar, the resulting package includes the complete runtime. But I want to use the reduced runtime I made with jlink that is in the /dist folder.
Can the javapackager command deploy with a jlink-generated runtime?
How?
The section titled "Customization of the JRE" makes no mention of the javapackager command.
The following section "Packaging for Modular Applications" has a following line:
Use the Java Packager tool to package modular applications as well as non-modular applications.
Is the Java Packager tool distinct from javapackager? There are no examples using javapackager in this section.
Here is the javapacker command that I used:
javapackager -deploy -native -outdir packages -outfile ToneCircleDrone -srcdir dist -srcfiles tcdplain.jar -appclass com.adonax.tanpura.TCDLaunch -name "ToneCircleDrone" -title "ToneCircleDrone test"
The instructions in the javapackager documentation make no mention of the scenario where a jlink runtime is used. There is a Bundler argument -Bruntime but it is only used to point to an installed runtime other than the system default, AFAIK.
The javapackager provided with JDK 9 and up uses jlink to generate the jre image:
For self-contained applications, the Java Packager for JDK 9 packages
applications with a JDK 9 runtime image generated by the jlink tool. To
package a JDK 8 or JDK 7 JRE with your application, use the JDK 8 Java
Packager.
https://docs.oracle.com/javase/9/tools/javapackager.htm#JSWOR719
You can even pass arguments to jlink using -BjlinkOptions=<options>
Additionally, -Bruntime is only valid for packages deployed using -deploy -native jnlp
For compiling a modular application, instead of -srcdir, use --module-path <dir>, and then specify the main module using -m <module name>.
EDIT: While there is no documentation on -BjlinkOptions, it is present in the javapackager source
jdk.packager/jdk.packager.internal.legacy.JLinkBundlerHelper
https://github.com/teamfx/openjfx-10-dev-rt/blob/bf971fe212e9bd14b164e4c1058bc307734e11b1/modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/JLinkBundlerHelper.java#L96
Example Usage: -BjlinkOptions=compress=2 will make javapackager run jlink with the --compress=2 flag, generating the JRE image with Zip Level compression.
Aditionally, running javapackager with the flag -Bverbose=true will show you exactly which arguments are being passed to jlink with a line in the output something like this:
userArguments = {strip-debug=1 compress=2}

Build ActionScript Native Extension

I'am trying to build an ANE,
this is my extension.xml
<extension xmlns="http://ns.adobe.com/air/extension/3.1">
<id>com.skunk.nativelibrary</id>
<versionNumber>1</versionNumber>
<platforms>
<platform name="Android-ARM">
<applicationDeployment>
<nativeLibrary>boot.jar</nativeLibrary>
<initializer>com.skunk.startonboot.NativeLibraryExtension</initializer>
<finalizer>com.skunk.startonboot.NativeLibraryExtension</finalizer>
</applicationDeployment>
</platform>
</platforms>
</extension>
I call it this way on the Flex Library Project :
context = ExtensionContext.createExtensionContext("com.skunkkk.nativelibrary", null);
I have a folder containing those doc :
Boot.jar ( the native part )
The extension.xml file
The SWC from the Flex Library Project
The SWF extarcted from the last file
The .P12 keyFile
Finally I run this on the cmd :
adt -package -storetype pkcs12 -storepass [keyPassWord] -keystore skunkkk.p12 -tsa none -target ane StartOnBoot.ane extension.xml -swc SkunKNativeLibrary.swc -platform Android-ARM library.swf boot.jar
What could possibly be wrong ? Thank you !
I followed this tutorial just to see, created an ANE with his source code, My application crashes when using it ...
I don't know if I need a compatibility configuration for the ANE, anyway, I am using Adobe Flash Builder 4.6, Flex SDK 4.6.0, AIR 3.1, Eclipse Kepler and testing on Android 4.1.2
I was running a wrong command, this is how it worked :
adt -package -storetype pkcs12 -keystore FILE_KEY_NAME.p12 -storepass FILE_KEY_PASSWORD -target ane LIBRARY_NAME.ane extension.xml -swc SWC_FILE_NAME.swc -platform Android-ARM -C android_lib_dir .
Of course, I have the library.swf and NATIVEPROJECT.jar inside the directory android_lib_dir
May be someone will face the same problem,

Qt - Trying mysql driver

I followed this tutorial to compile mysql driver with VS2010 :
Qt - How to get|compile Mysql driver.
The compilation fails with the error : LNK1123: failure during conversion to COFF: file invalid or corrupt
I tried with with multiple versions of mysql and qt, i always get the same error.
Note: I am using Qt-4.8.4 and mysql-5.5.32-win32.
I would rebuild Qt from source, because you also need the SQL driver (not only the plugin).
The driver source is located under /src/sql/drivers/mysql
The plugin source is located under /src/plugins/sqldrivers
/src/sql/drivers/mysqldrivers.pri contains this:
contains(sql-drivers, all):sql-driver += psql mysql odbc oci tds db2 sqlite ibase
contains(sql-drivers, mysql):include($$PWD/mysql/qsql_mysql.pri)
So I think that you need to run configure with the options: -qt-sql-mysql and -plugin-sql-mysql before compiling Qt.
Recompile Qt
Open a Qt 4.8.4 Command Prompt
cd \qtdir
nmake distclean
configure -debug-and-release -platform win32-msvc2010 -mp -nomake examples -nomake demos -qt-sql-mysql -plugin-sql-mysql
nmake
You might need to point configure to the correct include/library directory for MySQL, by adding this options: -I "c:\path\to\mysql\include" and -L "c:\path\to\mysql\lib"

pycuda -- error: command 'x86_64-pc-linux-gnu-g++' failed with exit status 1

i installed sabayon linux and i tried to install pycuda but i am receiving the following error when i try
su -c "make install"
In file included from src/cpp/cuda.cpp:1:0: src/cpp/cuda.hpp:12:18:
fatal error: cuda.h: No such file or directory compilation terminated.
error: command 'x86_64-pc-linux-gnu-g++' failed with exit status 1
I must mention that i can compile with cuda.
The same happens and when i try with
sudo -E sh -c "make install"
My .bashrc is :
# Put your fun stuff here.
export PATH=~/bin:$PATH
export PATH=$PATH:$HOME/Matlab_2010b/bin
export PATH=/opt/cuda/bin:$PATH
export LD_LIBRARY_PATH=/opt/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_ROOT=/opt/cuda/bin
(When i do echo $PATH as user it shows me : /opt/cuda/bin but when i try it as root it doesn't show anything and i had to do export PATH...again in order to show.)
You have CUDA installed in a non-standard path and the PyCUDA installer doesn't know how to find the toolkit headers it needs to compile. As per the installation instructions, you need to do something like this:
python configure.py --cuda-root=/opt/cuda
then
su -c "make install"
this will ensure that the compilation can find the necessary driver API headers to build the support libraries and hardcode all the right paths into the PyCUDA python libraries so that everything works correctly.