[Scilab-Dev] Compiling Scilab for macOS

Chin Luh Tan chinluh.tan at bytecode-asia.com
Sun Apr 19 15:15:38 CEST 2020


I do always make clean before a new build  for this case, i even git another scilab to make sure it is really clean.


However  i did not uninstall the ant and java, will give a try again and get back to you. 


Thanks alot


Rgds,
Chin Luh




---- On Sun, 19 Apr 2020 20:38:13 +0800 stephane.mottelet at utc.fr wrote ----


Hello,


Did you a make clean ? Did you completely uninstall all brew ant versions ? I know this should not be necessary but did you uninstall openjdk at 13 ?


S.


Le 19 avr. 2020 à 13:10, Chin Luh Tan <chinluh.tan at bytecode-asia.com> a écrit :



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 <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> 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> on behalf of Stéphane Mottelet <stephane.mottelet at utc.fr>
Reply to: Users mailing list for Scilab <users at lists.scilab.org>
Date: Tuesday, 14 April 2020 at 17:00
To: "users at lists.scilab.org" <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) , 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

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


 


_______________________________________________

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

 


_______________________________________________
users mailing list
users at lists.scilab.org
http://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

_______________________________________________

dev mailing list

dev at lists.scilab.org

http://lists.scilab.org/mailman/listinfo/dev








_______________________________________________
dev mailing list
dev at lists.scilab.org
https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/dev

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


More information about the dev mailing list