[Scilab-Dev] Compiling Scilab for macOS
Arvid Rosén
arvid at softube.com
Sat Apr 18 16:32:18 CEST 2020
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 <dev-bounces at lists.scilab.org> on behalf of Stéphane Mottelet <stephane.mottelet at utc.fr>
Reply to: List dedicated to the development of Scilab <dev at lists.scilab.org>
Date: Saturday, 18 April 2020 at 11:49
To: "dev at lists.scilab.org" <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 <stephane.mottelet at utc.fr<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 <users-bounces at lists.scilab.org><mailto:users-bounces at lists.scilab.org> on behalf of Stéphane Mottelet <stephane.mottelet at utc.fr><mailto:stephane.mottelet at utc.fr>
Reply to: Users mailing list for Scilab <users at lists.scilab.org><mailto:users at lists.scilab.org>
Date: Tuesday, 14 April 2020 at 17:00
To: "users at lists.scilab.org"<mailto:users at lists.scilab.org> <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://www.scilab.org<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
users at lists.scilab.org<mailto:users at lists.scilab.org>
https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users<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
http://www.utc.fr/~mottelet<https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/www.utc.fr/~mottelet>
_______________________________________________
users mailing list
users at lists.scilab.org<mailto:users at lists.scilab.org>
https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users<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
http://www.utc.fr/~mottelet<https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/www.utc.fr/~mottelet>
_______________________________________________
users mailing list
users at lists.scilab.org<mailto:users at lists.scilab.org>
http://lists.scilab.org/mailman/listinfo/users<https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users>
_______________________________________________
users mailing list
users at lists.scilab.org<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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/dev/attachments/20200418/aa69119c/attachment.htm>
More information about the dev
mailing list