ropensci / writexl

Portable, light-weight data frame to xlsx exporter for R
https://docs.ropensci.org/writexl
Other
210 stars 17 forks source link

linux install problems #21

Closed kk-1 closed 6 years ago

kk-1 commented 6 years ago

Hello, Using 64 bit linux and Rstudio. R is version 3.5 I get error when I try to install writexl Any idea why am I getting this error: ... tmpfileplus/tmpfileplus.c:239:6: warning: assignment to ‘FILE ’ {aka ‘struct _IO_FILE ’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] fp = FDOPEN_(fd, "w+b"); ^ tmpfileplus/tmpfileplus.c: In function ‘tmpfileplus’: tmpfileplus/tmpfileplus.c:290:18: error: ‘P_tmpdir’ undeclared (first use in this function); did you mean ‘tmpdir’? tempdirs[i++] = P_tmpdir; ^~~~ tmpdir make: *** [/usr/lib64/R/etc/Makeconf:159: tmpfileplus/tmpfileplus.o] Error 1 ERROR: compilation failed for package ‘writexl’ ...

Any help welcome.

jeroen commented 6 years ago

Your version of R is probably not configured with the correct C flags. Can you show me the full output of the compiler before the error happens?

kk-1 commented 6 years ago

I forgot to tell I am using "g++ (SUSE Linux) 8.1.1 20180614 [gcc-8-branch revision 261584]" Also please check the output for the "readxl" package...

Especially I am so curious about the following error:

./libxls/ole.h:174:8: error: unknown type name ‘ssize_t’

May be changing the version of the gcc can help? I also got g++ 7.3.1

Here is the complete output below:

install.packages("writexl")Installing package into ‘/home/kemal/R/x86_64-suse-linux-gnu-library/3.5’ (as ‘lib’ is unspecified)trying URL 'https://cran.rstudio.com/src/contrib/writexl_1.0.tar.gz'Content type 'application/x-gzip' length 197041 bytes (192 KB)==================================================downloaded 192 KB


And also for the "readxl":

install.packages("readxl")Installing package into ‘/home/kemal/R/x86_64-suse-linux-gnu-library/3.5’ (as ‘lib’ is unspecified)trying URL 'https://cran.rstudio.com/src/contrib/readxl_1.1.0.tar.gz'Content type 'application/x-gzip' length 2036680 bytes (1.9 MB)==================================================downloaded 1.9 MB

In file included from XlsWorkBook.h:6, from XlsWorkBook.cpp:6: ColSpec.h:5: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]

pragma clang diagnostic ignored "-Wc99-extensions"

ccache g++-8 -I"/usr/lib64/R/include" -DNDEBUG -Iunix -I. -fvisibility=hidden -I"/home/kemal/R/x86_64-suse-linux-gnu-library/3.5/Rcpp/include" -I/usr/local/include -fpic -g -O3 -Wall -pipe -c XlsWorkSheet.cpp -o XlsWorkSheet.oIn file included from XlsWorkSheet.cpp:3: ColSpec.h:5: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]

pragma clang diagnostic ignored "-Wc99-extensions"

ccache g++-8 -I"/usr/lib64/R/include" -DNDEBUG -Iunix -I. -fvisibility=hidden -I"/home/kemal/R/x86_64-suse-linux-gnu-library/3.5/Rcpp/include" -I/usr/local/include -fpic -g -O3 -Wall -pipe -c XlsxWorkBook.cpp -o XlsxWorkBook.oIn file included from XlsxWorkBook.h:6, from XlsxWorkBook.cpp:2: ColSpec.h:5: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]

pragma clang diagnostic ignored "-Wc99-extensions"

ccache g++-8 -I"/usr/lib64/R/include" -DNDEBUG -Iunix -I. -fvisibility=hidden -I"/home/kemal/R/x86_64-suse-linux-gnu-library/3.5/Rcpp/include" -I/usr/local/include -fpic -g -O3 -Wall -pipe -c XlsxWorkSheet.cpp -o XlsxWorkSheet.oIn file included from XlsxWorkSheet.cpp:2: ColSpec.h:5: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]

pragma clang diagnostic ignored "-Wc99-extensions"

ccache gcc-8 -I"/usr/lib64/R/include" -DNDEBUG -Iunix -I. -fvisibility=hidden -I"/home/kemal/R/x86_64-suse-linux-gnu-library/3.5/Rcpp/include" -I/usr/local/include -fpic -std=c99 -O3 -g0 -Wall -pipe -c endian.c -o endian.oIn file included from ./libxls/xlsstruct.h:40, from libxls/endian.h:30, from endian.c:33: ./libxls/ole.h:174:8: error: unknown type name ‘ssize_t’ extern ssize_t ole2_read(void buf,size_t size,size_t count,OLE2Stream olest); ^~~make: ** [/usr/lib64/R/etc/Makeconf:159: endian.o] Error 1ERROR: compilation failed for package ‘readxl’ removing ‘/home/kemal/R/x86_64-suse-linux-gnu-library/3.5/readxl’* restoring previous ‘/home/kemal/R/x86_64-suse-linux-gnu-library/3.5/readxl’Warning in install.packages : installation of package ‘readxl’ had non-zero exit statusThe downloaded source packages are in ‘/tmp/Rtmp1tVhs6/downloaded_packages’


On Mon, Jun 25, 2018 at 10:32 PM, Jeroen Ooms notifications@github.com wrote:

Your version of R is probably not configured with the correct C flags. Can you show me the full output of the compiler before the error happens?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ropensci/writexl/issues/21#issuecomment-400067208, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGzkxRjDsophqdQvPSraplZFwCFLcX8ks5uATrogaJpZM4U2eiJ .

-- Kemal

If you only at least one time today, you have made God smile, then the day is a gain for you. Otherwise keep on smiling, tomorrow is another day, another chance!!!

Pax et Bonum

jeroen commented 6 years ago

Looks like the problem first appears here:

tmpfileplus/tmpfileplus.c:159:46: error: ‘S_IFDIR’ undeclared (first
use in this function); did you mean ‘S_ISDIR’?
  if ((stat(path, &st) == 0) && (st.st_mode & S_IFDIR))
                                              ^~~~~~~
                                              S_ISDIR

This macro should be defined by your operating system in #include <sys/stat.h>. Which linux distro do you use?

kk-1 commented 6 years ago

I got that file in: /usr/include/sys/stat.h

On Mon, Jun 25, 2018 at 11:03 PM, Jeroen Ooms notifications@github.com wrote:

Looks like the problem first appears here:

tmpfileplus/tmpfileplus.c:159:46: error: ‘S_IFDIR’ undeclared (first use in this function); did you mean ‘S_ISDIR’? if ((stat(path, &st) == 0) && (st.st_mode & S_IFDIR)) ^~~ S_ISDIR

This macro should be defined by your operating system in #include <sys/stat.h>.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ropensci/writexl/issues/21#issuecomment-400077411, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGzk0-7aomraPLIRe_JuX39sMFEWGzzks5uAUIDgaJpZM4U2eiJ .

-- Kemal

If you only at least one time today, you have made God smile, then the day is a gain for you. Otherwise keep on smiling, tomorrow is another day, another chance!!!

Pax et Bonum

jeroen commented 6 years ago

Well it looks like there is something wrong with it. Which distribution is this?

kk-1 commented 6 years ago

opensuse tumbleweed 64 bit

On Mon, Jun 25, 2018 at 11:16 PM, Jeroen Ooms notifications@github.com wrote:

Well it looks like there is something wrong with it. Which distribution is this?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ropensci/writexl/issues/21#issuecomment-400081222, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGzk3mTS_R0QtLz_7p4Iad5T5rMIvNHks5uAUUhgaJpZM4U2eiJ .

-- Kemal

If you only at least one time today, you have made God smile, then the day is a gain for you. Otherwise keep on smiling, tomorrow is another day, another chance!!!

Pax et Bonum

jeroen commented 6 years ago

Does this problem still exist? I think it is a bug in your linux installation.

kk-1 commented 6 years ago

Thanks for your interest! Long time ago I fixed it It was simply a gcc version issue as far as I remember I do not remember exactly how I did But it may involve using clang or different gcc version Hope that it helps

jeroen commented 6 years ago

I have just installed the package in tumbleweed in docker and it works fine. I think it is a bug in your linux installation.

# Run docker
docker run -i -t opensuse/tumbleweed bash

# Run in container:
zypper update
zypper install R-devel gcc zlib-devel

#install writexl
R -e 'install.packages("writexl", repos = "https://cloud.r-project.org")'