[Scilab-Dev] Compiling Scilab for macOS

Stéphane Mottelet stephane.mottelet at utc.fr
Sat Apr 18 11:49:22 CEST 2020


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
> 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/adcf1efd/attachment.htm>


More information about the dev mailing list