Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

flowClust Binary on BioC devel #20

Open
DillonHammill opened this issue Mar 6, 2020 · 18 comments
Open

flowClust Binary on BioC devel #20

DillonHammill opened this issue Mar 6, 2020 · 18 comments

Comments

@DillonHammill
Copy link

DillonHammill commented Mar 6, 2020

@mikejiang, is there any chance of getting a flowClust binary for BioC devel? It looks like we can only install from source at the moment. Is this because #19 is still failing on BioC devel?

@mikejiang
Copy link
Member

What's your error when compiling from source?

@DillonHammill
Copy link
Author

I think it is to do with my gsl setup, it terminates on the first line. I am currently away from my computer, I will post more details tomorrow.

@DillonHammill
Copy link
Author

DillonHammill commented Mar 10, 2020

@mikejiang, this the error I get:

* installing *source* package 'flowClust' ...
** using staged installation

   **********************************************
   WARNING: this package has a configure script
         It probably needs manual configuration
   **********************************************


** libs

*** arch - i386
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-devel/include" -DNDEBUG -I/src/include -I/i386/include    -I"C:/projects/BUILD/R-source-win32/extsoft/include"     -O2 -Wall  -std=gnu99 -mfpmath=sse -msse2 -c BoxCox.c -o BoxCox.o
In file included from BoxCox.c:1:0:
flowClust.h:1:26: fatal error: gsl/gsl_math.h: No such file or directory
 #include <gsl/gsl_math.h>
                          ^
compilation terminated.
make: *** [C:/PROGRA~1/R/R-devel/etc/i386/Makeconf:208: BoxCox.o] Error 1
ERROR: compilation failed for package 'flowClust'
* removing 'C:/Users/dillo/Documents/R/win-library/4.0/flowClust'

The downloaded source packages are in
	‘C:\Users\dillo\AppData\Local\Temp\Rtmp8En0wN\downloaded_packages’
Installation path not writeable, unable to update packages: survival
Warning message:
In install.packages(...) :
  installation of package ‘flowClust’ had non-zero exit status

@DillonHammill
Copy link
Author

DillonHammill commented Mar 11, 2020

@mikejiang, I have GnuWin32 installed in Program Files (x86) and I have added it the PATH:
GNUWIN32 PATH

I also created environment variables for GSL_LIB and GSL_INC:
image

But still getting the same result when trying to install flowClust:

* installing *source* package 'flowClust' ...
** using staged installation

   **********************************************
   WARNING: this package has a configure script
         It probably needs manual configuration
   **********************************************


** libs

*** arch - i386
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-devel/include" -DNDEBUG -I/src/include -I/i386/include    -I"C:/projects/BUILD/R-source-win32/extsoft/include"     -O2 -Wall  -std=gnu99 -mfpmath=sse -msse2 -c BoxCox.c -o BoxCox.o
In file included from BoxCox.c:1:0:
flowClust.h:1:26: fatal error: gsl/gsl_math.h: No such file or directory
 #include <gsl/gsl_math.h>
                          ^
compilation terminated.
make: *** [C:/PROGRA~1/R/R-devel/etc/i386/Makeconf:208: BoxCox.o] Error 1
ERROR: compilation failed for package 'flowClust'
* removing 'C:/Users/dillo/Documents/R/win-library/4.0/flowClust'

Any suggestions?

@DillonHammill
Copy link
Author

I have been at it for hours, I think it is now correct based on vignette instructions but install still fails
image

@mikejiang
Copy link
Member

Are you sure gsl/gsl_math.h is in your GnuWin32/include ?

@mikejiang
Copy link
Member

Btw, I pushed the temporary bioc check fix for windows so that it will build the binary for you, which should appear the next day.

@DillonHammill
Copy link
Author

@mikejiang, looks like gsl_math.h is in my GnuWin32/include:
GnuWin32

Thanks for pushing the fix, I really appreciate it!

Not sure why the gsl is still not working...

@mikejiang
Copy link
Member

I saw C:/projects/BUILD/R-source-win32/extsoft/include is in your default include path, why don't you copy gsl folder there

@DillonHammill
Copy link
Author

DillonHammill commented Mar 12, 2020

Hmm... I don't have a projects directory in C:? Not sure where it is getting this from?

@DillonHammill
Copy link
Author

Should I try using Cygwin?

@DillonHammill
Copy link
Author

DillonHammill commented Mar 12, 2020

How do I change this default path? On my main computer this is set to C:/PROGRA~1/R/R-36~1.1/include ? I will try moving gsl here and see if the compilation works... Not much I can do on the other (virtual) machine as I can't find the include directory.

@DillonHammill
Copy link
Author

I managed to get a bit further on my main machine by copying gsl to my R include folder:

* installing *source* package 'flowClust' ...
** using staged installation

   **********************************************
   WARNING: this package has a configure script
         It probably needs manual configuration
   **********************************************


** libs

*** arch - i386
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-36~1.1/include" -DNDEBUG -I/src/include -I/i386/include         -O3 -Wall  -std=gnu99 -mtune=generic -c BoxCox.c -o BoxCox.o
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-36~1.1/include" -DNDEBUG -I/src/include -I/i386/include         -O3 -Wall  -std=gnu99 -mtune=generic -c BoxCoxPriors.c -o BoxCoxPriors.o
BoxCoxPriors.c: In function 'BoxCoxGradientPriors':
BoxCoxPriors.c:57:16: warning: unused variable 'rowZ' [-Wunused-variable]
  rowPrecision, rowZ, rowLambda0;
                ^
BoxCoxPriors.c:33:24: warning: unused variable 'kappa0' [-Wunused-variable]
  double *nu0 = p->nu0, kappa0 = p->kappa0;
                        ^
BoxCoxPriors.c:32:7: warning: unused variable 'itersolve' [-Wunused-variable]
  int *itersolve = p->itersolve;
       ^
BoxCoxPriors.c:31:6: warning: unused variable 'iter' [-Wunused-variable]
  int iter = p->iter;
      ^
BoxCoxPriors.c:28:6: warning: unused variable 'model' [-Wunused-variable]
  int model = *p->model;
      ^
BoxCoxPriors.c:23:14: warning: unused variable 'SumZlogY' [-Wunused-variable]
  gsl_vector *SumZlogY = p->SumZlogY;
              ^
BoxCoxPriors.c:15:14: warning: unused variable 'Precision' [-Wunused-variable]
  gsl_matrix *Precision = p->Precision; // will be updated
              ^
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-36~1.1/include" -DNDEBUG -I/src/include -I/i386/include         -O3 -Wall  -std=gnu99 -mtune=generic -c Nu.c -o Nu.o
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-36~1.1/include" -DNDEBUG -I/src/include -I/i386/include         -O3 -Wall  -std=gnu99 -mtune=generic -c flowClust.c -o flowClust.o
flowClust.c: In function 'flowClust':
flowClust.c:48:2: warning: unused variable 'matrixZUY2' [-Wunused-variable]
  matrixZUY2;
  ^
flowClust.c:46:48: warning: unused variable 'subRowZUY2' [-Wunused-variable]
  rowYTransS, rowZUY, subRowZUY, rowZ, rowZUY2, subRowZUY2;
                                                ^
flowClust.c:46:39: warning: unused variable 'rowZUY2' [-Wunused-variable]
  rowYTransS, rowZUY, subRowZUY, rowZ, rowZUY2, subRowZUY2;
                                       ^
flowClust.c: In function 'ECMUpdateSigmaG2':
flowClust.c:1111:6: warning: unused variable 'i' [-Wunused-variable]
  int i=0;
      ^
flowClust.c: In function 'flowClust':
flowClust.c:383:13: warning: 's' may be used uninitialized in this function [-Wmaybe-uninitialized]
        x_hi = gsl_root_fsolver_x_upper(s);
             ^
flowClust.c:713:12: warning: 's3' may be used uninitialized in this function [-Wmaybe-uninitialized]
      nu_hi = gsl_min_fminimizer_x_upper(s3);
            ^
flowClust.c:675:14: warning: 's2' may be used uninitialized in this function [-Wmaybe-uninitialized]
        nu_hi = gsl_root_fsolver_x_upper(s2);
              ^
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-36~1.1/include" -DNDEBUG -I/src/include -I/i386/include         -O3 -Wall  -std=gnu99 -mtune=generic -c flowClustGaussian.c -o flowClustGaussian.o
flowClustGaussian.c: In function 'flowClustGaussian':
flowClustGaussian.c:242:13: warning: 's' may be used uninitialized in this function [-Wmaybe-uninitialized]
        x_hi = gsl_root_fsolver_x_upper(s);
             ^
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-36~1.1/include" -DNDEBUG -I/src/include -I/i386/include         -O3 -Wall  -std=gnu99 -mtune=generic -c ranMVNT.c -o ranMVNT.o
c:/Rtools/mingw_32/bin/gcc -shared -s -static-libgcc -o flowClust.dll tmp.def BoxCox.o BoxCoxPriors.o Nu.o flowClust.o flowClustGaussian.o ranMVNT.o -L/i386/lib -lgsl -lgslcblas -lm -LC:/PROGRA~1/R/R-36~1.1/bin/i386 -lR
C:/Rtools/mingw_32/bin/../lib/gcc/i686-w64-mingw32/4.9.3/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lgsl
C:/Rtools/mingw_32/bin/../lib/gcc/i686-w64-mingw32/4.9.3/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lgslcblas
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'flowClust'
* removing 'C:/Program Files/R/R-3.6.1/library/flowClust'
* restoring previous 'C:/Program Files/R/R-3.6.1/library/flowClust'
Error: Failed to install 'flowClust' from GitHub:
  (converted from warning) installation of package ‘C:/Users/LOCALU~1.JCS/AppData/Local/Temp/RtmpcLc6Hh/file21e0728657ee/flowClust_3.25.1.tar.gz’ had non-zero exit status

@DillonHammill
Copy link
Author

Why is not using the paths specified in the environment variables?

@mikejiang
Copy link
Member

The current installation instruction for windows in README is out of date. I will need to update it (probably tomorrow)

@DillonHammill
Copy link
Author

OK, thanks @mikejiang! I will try again once these instructions have been updated.

@mikejiang
Copy link
Member

Just so you know the bioc binary is available now.

@DillonHammill
Copy link
Author

Excellent! Thanks for letting me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants