[Scilab-Dev] Compiling Scilab for macOS
Chin Luh Tan
chinluh.tan at bytecode-asia.com
Sun Apr 19 13:09:42 CEST 2020
As I had start with brew, so I just tried to cont using the brew before I switch to fink if no success, and in fact, I get the similar error:
[javac] /Users/kennethkoh/scilab-6.1/scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParser.java:17: error: package javax.annotation does not exist
[javac] @javax.annotation.Generated("JFlex")
[javac] ^
[javac] /Users/kennethkoh/scilab-6.1/scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/CallGraphicController.java:68: warning: [deprecation] Double(double) in Double has been deprecated
...
...
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 1 error
[javac] 12 warnings
^
Do correct me If I did anything wrong, my steps to reach here:
1. git scilab master
2. svn checkout pre-requisite as describe in https://wiki.scilab.org/Compiling%20Scilab%20under%20MacOSX#preview
3. patch change #21438
4. manual install ant:
Java Configuration:
JAVA_HOME ........... =
JAVAC ............... = /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/javac
JAVA_CLASSPATH ...... =
JAVA_VERSION ........ = 1.8
JAVAC_FLAGS ......... = -g
JAVA_JNI_INCLUDE .... = -I/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/include/darwin
JAVA_JNI_LIBS ....... = -framework JavaVM
JAVA_JNI_LIBS_PRELOAD =
JAVA ................ = /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/java
JAVADOC ............. = /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/javadoc
JAR ................. = /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/jar
ANT ................. = /Users/kennethkoh/Downloads/apache-ant-1.10.7/bin/ant
5. Get the jogl2.4 from rc. I am not sure this step is correct, but i just download 3 xz files, unzip them, and copy jogl-all.jar and glugen-rt.jar and replace in scilab thirdparty folder jogl2.jar and glugen2-rt.jar.
checking jogl2... /Users/kennethkoh/scilab-6.1/scilab/thirdparty/jogl2.jar 2.4
Check of the presence of libjogl.jnilib and libjogl_awt.jnilib disabled under Mac OS X
checking gluegen2-rt... /Users/kennethkoh/scilab-6.1/scilab/thirdparty/gluegen2-rt.jar 2.4
6. Then I get the error as mentioned above.
Any advice on this, or I shall try on the fink next.
thanks again.
Regards,
Chin Luh
---- On Sat, 18 Apr 2020 22:32:18 +0800 Arvid Rosén <arvid at softube.com> wrote ----
Hi,
You are right Stephane! Ant was in fact causing the problem here.
My workaround was:
brew install ant at 1.9
Trying to build with clang right now.
Cheers,
Arvid
From: dev <mailto:dev-bounces at lists.scilab.org> on behalf of Stéphane Mottelet <mailto:stephane.mottelet at utc.fr>
Reply to: List dedicated to the development of Scilab <mailto:dev at lists.scilab.org>
Date: Saturday, 18 April 2020 at 11:49
To: "mailto:dev at lists.scilab.org" <mailto:dev at lists.scilab.org>
Subject: [Scilab-Dev] Compiling Scilab for macOS
Hello,
That's one of the reasons why I don't like Homebrew: thos packaging system is quite aggressive w.r.t. software versions. I think The problem you have here is due to the Ant package, whose version needs openjdk13. Hence, all java builds within Scilab are
done with java13. The only workaround I found is to uninstall the Ant Homebrew package and manually installed official build of 1.10.7 version built above JDK 1.8 (https://ant.apache.org/bindownload.cgi).
My personnal setup to build Scilab 6.1 OSX version is
- OX HighSierra or Mojave
- Fink 0.45 as a packaging system, which is more conservative w.r.t. library versions
- Jogl >= 2.3.2 patch (https://codereview.scilab.org/#/c/21438/)
- jogl 2.4 (pick up the lastest release candidate at https://jogamp.org/deployment/archive/rc/). jogl 2.4. is absolutely needed (see http://forum.jogamp.org/JOGL-on-Mojave-Mac-OS-10-14-td4039037.html), I had to build official 6.0.2 version above it.
On Catalina and latest XCode you can try to build with bundled clang which is now C++17 compliant. However, in order to build for Mojave and before, you cannot uses c++17 features.
I personnaly build Scilab under Mojave and HighSierra with the folowing configure flags :
./config.status --config
'--without-openmp' '--without-tk' '--with-eigen_include=/Users/mottelet/git/scilab_master/scilab/lib/Eigen/includes' 'F77=gfortran-fsf-8' 'CC=gcc-fsf-8' 'LDFLAGS=-L/sw/lib/gcc8/lib/' 'CXX=g++-fsf-8' 'LIBS=-lstdc++fs'
console module has to be built separately with clang: cd modules/console make CC=clang. Imposing CC=clang globally is not recommended for exception handling between e.g. fortran/C/C++
If you manage to obtain a successful build, then you will encounter the link ordre problem. That's where I am stuck now. However, using https://codereview.scilab.org/#/c/21211/ will allow you to use Scilab in -nw mode without any problem. But in the full GUI mode, clc, tohome, prompt are broken (no crash, just the message "This feature
has not been implemented in this mode").
Tell me when you will be arrived at this point...
S.
Le 18/04/2020 à 04:43, Chin Luh Tan a écrit :
Hi Samuel,
Thanks for your reply. Yes, there are 2 version of Java, another is 13, but in fact, i already use the export JAVA_HOME before "make":
Kenneths-MacBook-Air-2:scilab kennethkoh$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)
Kenneths-MacBook-Air-2:scilab kennethkoh$ javac -version
javac 1.8.0_242
and also the configured show below:
checking JAVA_HOME variable... JAVA_HOME variable found, use it as JVM root directory
checking for zip or jar files to include on CLASSPATH...
checking to see if the java compiler works... yes
Using JAVAC=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/javac
Java found in /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
checking type of jvm... jdk
checking java API version... 1.8
Using the following JNI include flags -I/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/include/darwin
Java Configuration:
JAVA_HOME ........... =
JAVAC ............... = /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/javac
JAVA_CLASSPATH ...... =
JAVA_VERSION ........ = 1.8
JAVAC_FLAGS ......... = -g
JAVA_JNI_INCLUDE .... = -I/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/include/darwin
JAVA_JNI_LIBS ....... = -framework JavaVM
JAVA_JNI_LIBS_PRELOAD =
JAVA ................ = /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/java
JAVADOC ............. = /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/javadoc
JAR ................. = /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/jar
ANT ................. = /usr/local/bin/ant
but the issue remained the same
thanks.
Regards,
Chin Luh
---- On Fri, 17 Apr 2020 22:43:46 +0800 Stéphane Mottelet <mailto:stephane.mottelet at utc.fr> wrote ----
Hello,
I think that you may have more than one JDK installed on your computer. The problem
with error: package javax.annotation does not exist
is likely due to java 11. Make sure that at configure time the right JDK is detected, and if necessary force the detection with configure flag
--with-jdk=DIR
and/or
export JAVA_HOME=`/usr/libexec/java_home -v '1.8*'`
S.
Le 14/04/2020 à 17:55, Arvid Rosén a écrit :
Sorry for top-posting, but here are a few of the errors I get:
Something missing with:
import javax.activation.MimetypesFileTypeMap;
A bunch of these:
compile:
[javac] Compiling 1 source file to /Users/arvid/everything/scilab/src/scilab/scilab-6.1.1/scilab/modules/graphic_objects/build/classes
[javac] /Users/arvid/everything/scilab/src/scilab/scilab-6.1.1/scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParser.java
[javac] warning: Supported source version 'RELEASE_6' from annotation processor 'com.jogamp.gluegen.structgen.CStructAnnotationProcessor'
less than -source '8'
[javac] /Users/arvid/everything/scilab/src/scilab/scilab-6.1.1/scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParser.java:17: error:
package javax.annotation does not exist
[javac] @javax.annotation.Generated("JFlex")
[javac] ^
[javac] 1 error
[javac] 1 warning
And also this one:
compile:
[javac] Compiling 5 source files to /Users/arvid/everything/scilab/src/scilab/scilab-6.1.1/scilab/modules/javasci/build/classes/v2
[javac] /Users/arvid/everything/scilab/src/scilab/scilab-6.1.1/scilab/modules/javasci/src/java/org/scilab/modules/javasci/Call_Scilab.java
[javac] /Users/arvid/everything/scilab/src/scilab/scilab-6.1.1/scilab/modules/javasci/src/java/org/scilab/modules/javasci/Call_ScilabJNI.java
[javac] /Users/arvid/everything/scilab/src/scilab/scilab-6.1.1/scilab/modules/javasci/src/java/org/scilab/modules/javasci/JavasciException.java
[javac] /Users/arvid/everything/scilab/src/scilab/scilab-6.1.1/scilab/modules/javasci/src/java/org/scilab/modules/javasci/Scilab.java
[javac] /Users/arvid/everything/scilab/src/scilab/scilab-6.1.1/scilab/modules/javasci/src/java/org/scilab/modules/javasci/ScilabVariablesJavasci.java
[javac] warning: [options] bootstrap class path not set in conjunction with -source 6
[javac] error: Source option 6 is no longer supported. Use 7 or later.
[javac] error: Target option 6 is no longer supported. Use 7 or later.
Cheers,
Arvid
From: Scilab Users List mailto:users-bounces at lists.scilab.org on behalf of Stéphane Mottelet mailto:stephane.mottelet at utc.fr
Reply to: Users mailing list for Scilab mailto:users at lists.scilab.org
Date: Tuesday, 14 April 2020 at 17:00
To: mailto:users at lists.scilab.org mailto:users at lists.scilab.org
Subject: Re: [Scilab-users] Compiling Scilab for macOS
Hello,
Le 14/04/2020 à 16:51, Arvid Rosén a écrit :
Hi,
I still can’t find any Scilab 6.1 builds for macOS (despite the info text here: https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/www.scilab.org) , so I’m trying to compile one myself.
Great, at least we will be two now...
However, I get a bunch of Java errors during compilation.
Which kind ?
I’m currently using a JDK from AdoptOpenJDK (Java 8). Is this correct,
Yes.
S.
or should I try using some other version or provider for compiling Scilab on macOS Catalina?
Cheers,
Arvid
_______________________________________________
users mailing list
mailto:users at lists.scilab.org
https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users
--
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/www.utc.fr/~mottelet
_______________________________________________
users mailing list
mailto:users at lists.scilab.org
https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users
--
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/www.utc.fr/~mottelet
_______________________________________________
users mailing list
mailto:users at lists.scilab.org
https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users
_______________________________________________
users mailing list
mailto:users at lists.scilab.org
https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users
--
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
http://www.utc.fr/~mottelet
_______________________________________________
dev mailing list
dev at lists.scilab.org
http://lists.scilab.org/mailman/listinfo/dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/dev/attachments/20200419/8235f0d1/attachment.htm>
More information about the dev
mailing list