Cannot find symbol getWidth and getHeight in GLAutoDrawable in JOGL - jogl

I just checked out the newest JOGL from git://jogamp.org/srv/scm/jogl.git and installed it.
The installation seems ok. I did run "ant junit.run" and saw 3d graphics.
However, when I tried to compile some example code, I kept getting errors about GLAutoDrawable. It says:
symbol: method getHeight()
location: variable glautodrawable of type GLAutoDrawable
I'm running RHDL 6.5:
$ lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
$ uname -a
Linux oc5088881832.ibm.com 2.6.32-431.21.1.el6.x86_64 #1 SMP Tue Jun 3 19:11:40 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
This is my java version:java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
And this is my classpath:
# For JOGL
export CLASSPATH=/usr/local/JOGL/gluegen/build/gluegen-rt.jar:$CLASSPATH
export CLASSPATH=/usr/local/JOGL/jogl/build/jar/jogl-all.jar:$CLASSPATH
export LD_LIBRARY_PATH=/usr/local/JOGL/jogl/build/lib:$LD_LIBRARY_PATH
For your reference, I am compiling this example:
http://jogamp.org/wiki/index.php/Using_JOGL_in_Java_Web_Start
It seems like either I missed something in my classpath or this version of JOGL didn't implement getWidth in GLAutoDrawable...
Please can someone let me know what I did wrong?

GLDrawable.getWidth() and GLDrawable.getHeight() have been renamed GLDrawable.getSurfaceWidth() and GLDrawable.getSurfaceHeight() when adding the support of HiDPI: GLDrawable.java
GLAutoDrawable extends GLDrawable. Please rather post your questions about JOGL on our official forum. Best regards.

Related

Azure Machine Learning integration of R: Should the 'azureml' module have an attribute 'core'?

I'm having issues with Azure Machine Learning SDK for R: "module 'azureml' has no attribute 'core'"...
For reasons that aren't my own, I have to use azureml to apply machine learning (my own stuff, written in R) to data from our data warehouse that is put in the blob storage. The modelled output should be put back into the blob storage so it can be accessed from the data warehouse.
I've written the code in R on my local machine (stored in a git repo). Preferably, I'd find some method to pull my code from git into a pipeline in the azureml environment so that it can be directly run whenever new data is available in the blob storage.
I've embarked on a tutorial-spree and found this seemingly relevant walkthrough: Train and deploy your first model with Azure ML (and this one).
But... after trying all I could think of, I'm stuck on the first steps. After installing all (or at least.. that's what I think) packages, modules, apps etc, and running the following code in RStudio:
library(azuremlsdk)
existing_ws <- get_workspace(name = name,
subscription_id = subscription_id,
resource_group)
I run into an error that I haven't been able to fix:
AttributeError: module 'azureml' has no attribute 'core'
It seems that the azuerml is supposed to have an attribute "core", but when looking at it more closely, there is indeed no such attribute.
The function "get_workspace()" is trying to access: "azureml$core$Workspace$get".
I found that "azuerML$Workspace" does exist, but then I can't figure out how to make that work.
Can anyone explain to me why I'm encountering this error?
Does anyone know of a better tutorial on how to connect my R code the azureml's cloud service?
Any pointers in the right direction are much appreciated!
EDITS - still not solved:
After advice from others, I double, triple and quadruple checked the installation.
I updated R and I'm now running:
R.version
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 6.2
year 2019
month 12
day 12
svn rev 77560
language R
version.string R version 3.6.2 (2019-12-12)
nickname Dark and Stormy Night
I installed Conda with Python 3.6.10.
I installed the azuremlsdk R package (I tried both provided options).
I then realized that there are some inconsistencies with the versions of the azure-modules, so I also tried installing it with the keyword 'multi-arch':
remotes::install_cran('azuremlsdk', repos = 'http://cran.us.r-project.org', INSTALL_opts=c("--no-multiarch"))
Then, I installed the azureml python sdk.
I had a look at all the versions again (using python -m pip freeze):
azure-common==1.1.24
azure-graphrbac==0.61.1
azure-mgmt-authorization==0.60.0
azure-mgmt-containerregistry==2.8.0
azure-mgmt-keyvault==2.0.0
azure-mgmt-resource==7.0.0
azure-mgmt-storage==7.1.0
azureml==0.2.7
azureml-automl-core==1.0.83.1
azureml-core==1.0.69
azureml-dataprep==1.1.36
azureml-dataprep-native==13.2.0
azureml-pipeline==1.0.69
azureml-pipeline-core==1.0.69
azureml-pipeline-steps==1.0.69
azureml-sdk==1.0.69
azureml-telemetry==1.0.69
azureml-train==1.0.69
azureml-train-automl-client==1.0.83
azureml-train-core==1.0.69
azureml-train-restclients-hyperdrive==1.0.69
As I was surprised to see all the 1.0.69 versions, instead of the 1.0.83 versions, I re-installed the azureml python sdk using:
azuremlsdk::install_azureml(version = "1.0.83")
This worked, in the sense that indeed all versions are now 1.0.83:
azure-common==1.1.24
azure-graphrbac==0.61.1
azure-mgmt-authorization==0.60.0
azure-mgmt-containerregistry==2.8.0
azure-mgmt-keyvault==2.0.0
azure-mgmt-resource==7.0.0
azure-mgmt-storage==7.1.0
azureml==0.2.7
azureml-automl-core==1.0.83.1
azureml-core==1.0.83
azureml-dataprep==1.1.36
azureml-dataprep-native==13.2.0
azureml-pipeline==1.0.83
azureml-pipeline-core==1.0.83
azureml-pipeline-steps==1.0.83
azureml-sdk==1.0.83
azureml-telemetry==1.0.83
azureml-train==1.0.83
azureml-train-automl-client==1.0.83
azureml-train-core==1.0.83
azureml-train-restclients-hyperdrive==1.0.83
But still... I get the error with the missing core. I get it both when running:
library(azuremlsdk)
get_current_run()
and also when running:
library(azuremlsdk)
existing_ws <- get_workspace(name = name,
subscription_id = subscription_id,
resource_group)
Note that the first time running this code after starting up RStudio, I get the error:
Error in py_get_attr_impl(x, name, silent) :
AttributeError: module 'azureml' has no attribute '_base_sdk_common'
And every time after that I get this error:
Error in py_get_attr_impl(x, name, silent) :
AttributeError: module 'azureml' has no attribute 'core'
Any help would be much appreciated!
This issue was introduced by the latest reticulate 1.14 release, in which reticulate would create a default r-reticulate conda environment. Since Azure ML was installing the python SDK in an environment named r-azureml, the r-reticulate environment used by reticulate was missing the python SDK. A fix for this issue was addressed in a PR and has been merged into master. Please install from GitHub for now if you have reticulate version 1.14 and are running into this issue. We will be releasing an update to CRAN shortly.
I seemed to have fixed the issue by specifically installing the python package azureml AND azureml.core:
python -m pip install azureml
and then...
python -m pip install azureml.core
I did this for the Conda version that was called by R (r-reticulate). It's a bit odd to not be able to use the Conda environment 'r-azureml' without R switching back to 'r-reticulate', but ah well... at least I don't get my 'azureml' has no attribute 'core' anymore.

pyqtdeploy: qt license file not found

I'm trying to work my way through the pyqtdeploy documentation, trying to build the pyqt-demo project.
My system is an Ubuntu 18.04 (fresh installation, up-to-date)
$ uname -a :
Linux sui 4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
I'm using pyqtdeploy v. 2.3.
I downloaded every file required by the build(*) but I have a problem with the Qt tarball : I downloaded https://download.qt.io/archive/qt/5.11/5.11.1/single/qt-everywhere-src-5.11.1.tar.xz, not knowing if it was the right file to be used.
... and this is what I got:
$ python3 build-demo.py --verbose --source-dir=[skipped] --installed-qt-dir=[skipped]
[skipped]Creating qmake...
Done.
Info: creating super cache file [skipped]/sysroot-linux-64/build/qt-everywhere-src-5.11.1/.qmake.super
Info: creating stash file [skipped]/demo/sysroot-linux-64/build/qt-everywhere-src-5.11.1/.qmake.stash
Error: Qt license file was not found!
Note: Also available for Linux: linux-clang linux-icc
ERROR: You are not licensed to use this software.
pyqtdeploy-sysroot: Execution failed: returned exit code 3
I'm 100% sure the qt-*.tar.xz file is found since an message appears, saying that the file is unpacked.
I'm obviously missing something important : should I use a file like qt-everywhere-opensource-src-5.11.1.tar.xz although I can't find such a file ?
Any help would be appreciated !
(*) required tarballs:
python : https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
at https://www.python.org/downloads/release/python-371/
qt : https://download.qt.io/archive/qt/5.11/5.11.1/single/qt-everywhere-src-5.11.1.tar.xz at https://download.qt.io/archive/qt/5.11/5.11.1/single/
openssl : https://www.openssl.org/source/openssl-1.1.1.tar.gz at
https://www.openssl.org/source/
zlib : https://zlib.net/zlib-1.2.11.tar.gz at https://zlib.net/
sip : https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.13/sip-4.19.13.tar.gz at https://riverbankcomputing.com/software/sip/download
PyQt5 : https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.11.3/PyQt5_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqt/download5
PyQt3D : https://sourceforge.net/projects/pyqt/files/PyQt3D/PyQt3D-5.11.3/PyQt3D_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqt3d/download
PyQtChart : https://sourceforge.net/projects/pyqt/files/PyQtChart/PyQtChart-5.11.3/PyQtChart_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqtchart/download
PyQtDataVisualization : https://sourceforge.net/projects/pyqt/files/PyQtDataVisualization/PyQtDataVisualization-5.11.3/PyQtDataVisualization_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqtdatavisualization/download
PyQtPurchasing : https://sourceforge.net/projects/pyqt/files/PyQtPurchasing/PyQtPurchasing-5.11.3/PyQtPurchasing_gpl-5.11.3.tar.gz at
https://www.riverbankcomputing.com/software/pyqtpurchasing/download
QScintilla : https://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.10.8/QScintilla_gpl-2.10.8.tar.gz at https://www.riverbankcomputing.com/software/qscintilla/download
Fixed since pyqtdeploy-2.3.1.dev1811241346. See here for Phil Thomson's answer and here to download the last snapshot.

Difference between the terms OpenMPI and MPI API from output of mpi_info

when I type ompi_info on my terminal, I get a huge output on my terminal buffer, a part of which looks like :
Package: Open MPI buildd#lgw01-57 Distribution
Open MPI: 1.10.2
Open MPI repo revision: v1.10.1-145-g799148f
Open MPI release date: Jan 21, 2016
Open RTE: 1.10.2
Open RTE repo revision: v1.10.1-145-g799148f
Open RTE release date: Jan 21, 2016
OPAL: 1.10.2
OPAL repo revision: v1.10.1-145-g799148f
OPAL release date: Jan 21, 2016
MPI API: 3.0.0
Ident string: 1.10.2
Prefix: /usr
Configured architecture: x86_64-pc-linux-gnu
Configure host: lgw01-57
Configured by: buildd
Ignoring the info on release dates, I am curious specifically about the meaning of second line: Open MPI : 1.10.2 and line number twelve: MPI API : 3.0.0 . Does it mean the new functions from Open MPI version 3.0.0 available on the MPI version 1.10.2 ?
Open MPI is an implementation (e.g. code) of the MPI Standard (e.g. pdf document).
These are two distinct things that have their own and independent versions.
Answering my own question, it seems yes, the stable version of OpenMPI 1.10 supports most of the new features introduced in MPI 3 . This page of OpenMPI-1.10.1 shows the list of all MPI API's available which includes the API for one sided communication, which was introduced in MPI version 2.0, and features of MPI 3.0 like non-blocking collective operations like MPI_Ibcast and matching probes like MPI_Mprobe and MPI_Mrecv.
Although this list also doesn't contain the MPI_T tool interface and many other features which is available in the current stable release of openMPI-3.0 .

How to check the OS X version from R?

You can check whether you are running OS X using Sys.info()["sysname"] == "Darwin".
On Windows, finer control is possible by checking for specific versions of the OS using utils::win.version().
How do you check the version of OS X? (I can't find a mac.version or osx.version function. There are some low-level OS commands for finding the version, but I'm not aware of any R wrapper.)
Do Sys.info()["release"] or system("uname --kernel-release", intern = TRUE) return anything useful? (I don't have a machine to check.)
Depending on what you actually want, I would use:
system("uname -r")
14.5.0
or
system("uname -s")
Darwin
or
system("uname -v")
Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64
Sys.info()["sysname"] returns "Darwin" on Mac OS X.
Sys.info()["release"] tells you what version of Mac OS X. For example, "13.4.0" is Mac OS X 10.9.5.
There probably is no need to do a system() call: Sys.info()["version"] seems to return exactly the same as system("uname -v"). And this version really combines different pieces of information and is not convenient for just checking whether or not you're running on Mac. For example
> Sys.info()["version"]
version
"Darwin Kernel Version 13.4.0: Wed Mar 16 09:03:04 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64"
Use Sys.info() to get most of the information about the current platform:
Example:
osname_version<-c(paste(" System: ",Sys.info()[['sysname']],
"\nVersion: ",Sys.info()[['version']],
"\nRelease: ",Sys.info()[['release']],
"\nMachine: ",Sys.info()[['machine']]))
cat(osname_version,"\n")
Result:
System: Linux
Version: #1 SMP Fri Sep 2 15:45:09 CEST 2011
Release: 2.6.32.46
Machine: i686
More Information: https://stat.ethz.ch/R-manual/R-devel/library/base/html/Sys.info.html
Since Sys.info() gives the kernel version rather than the product version, I've opted for using sw_vers instead.
as.numeric_version(system("sw_vers -productVersion", intern = TRUE))

javafx package javafx.embed.swt not in java8u5

I'd like to use FXCanvas from the package javafx.embed.swt as shown in this example: http://docs.oracle.com/javafx/2/swt_interoperability/jfxpub-swt_interoperability.htm# But all I can find is javafx.embed.swing package. javafx.embed.swt is simply not existant. What am I doing wrong ? I use java8u5. Is there a special download nessessary or is there a different version of java that contains that package ??
thanks for any hint!
Thorsten
This because the package javafx.embed.swt was moved from the /lib/ext/jfxrt.jar to /lib/jfxswt.jar. You need to add this last explicitly to see the FXCanvas class.
This is the link to the issue: Separate javafx.embed.swt from jfxrt.jar
The JavaFX SWT embedding classes are in the jre/lib directory.
$ java -version
java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b14, mixed mode)
$ pwd
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/jre/lib
$ ls jfxswt.jar
jfxswt.jar
$ jar tvf jfxswt.jar | grep FXCanvas.class
18702 Mon May 12 21:52:14 PDT 2014 javafx/embed/swt/FXCanvas.class
I've never used SWT in JavaFX so I don't really know anything about how to use it. If you would like more assistance, post to the e(fx)clipse forums for advice - they are experts on such matters.
Also refer to the version of the documentation which matches the version of Java you are using:
8 JavaFX Interoperability with SWT.

Resources