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

Invalid quoting of libxml2 include path #1181

Closed
Tracked by #1190
tdhock opened this issue Feb 1, 2024 · 17 comments
Closed
Tracked by #1190

Invalid quoting of libxml2 include path #1181

tdhock opened this issue Feb 1, 2024 · 17 comments
Assignees
Milestone

Comments

@tdhock
Copy link

tdhock commented Feb 1, 2024

What happens?

Hi! I am trying to install igraph R package, using system libraries installed to a conda environment. I thought that should be possible since it worked fine with previous versions of igraph. It seems the update yesterday changed something, which causes Makevars to now look like this on my system:

PKG_CPPFLAGS=-DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" \
	-DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= \
	-DPRPACK_IGRAPH_SUPPORT \
 	-DHAVE_GFORTRAN=1 \
	-D_GNU_SOURCE=1

So @cflags@ is expanded to -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" which is problematic because inside the double quotes is another -I flag. The fix should be to properly quote the -I flags if necessary, otherwise in my case at least, just deleting the double quotes from the generated gcc/g++ lines allows compilation to proceed normally. See tdhock/data.table-revdeps#16 (comment) for full details/installation output.

To Reproduce

To reproduce, do create a new conda env, conda install gmp glpk libxml2, then install.packages("igraph"), on my system I get the output below:

th798@cn25:/tmp/th798/7475594/RtmpQlPKF7/downloaded_packages$ conda create -n igraph
Retrieving notices: ...working... done
Collecting package metadata (current_repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 23.7.4
  latest version: 24.1.0

Please update conda by running

    $ conda update -n base -c defaults conda

Or to minimize the number of packages updated during conda update use

     conda install conda=24.1.0



## Package Plan ##

  environment location: /home/th798/.conda/envs/igraph



Proceed ([y]/n)? 

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate igraph
#
# To deactivate an active environment, use
#
#     $ conda deactivate

th798@cn25:/tmp/th798/7475594/RtmpQlPKF7/downloaded_packages$ conda activate igraph
(igraph) th798@cn25:/tmp/th798/7475594/RtmpQlPKF7/downloaded_packages$ tar xf igraph_2.0.1.1.tar.gz 
(igraph) th798@cn25:/tmp/th798/7475594/RtmpQlPKF7/downloaded_packages$ mv igraph igraph_igraph
(igraph) th798@cn25:/tmp/th798/7475594/RtmpQlPKF7/downloaded_packages$ R CMD INSTALL igraph_igraph/
* installing to library '/projects/genomic-ml/R/4.2.3'
* installing *source* package 'igraph' ...
** package 'igraph' successfully unpacked and MD5 sums checked
** using staged installation
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libxml-2.0', required by 'virtual:world', not found
Error: libxml2 include directory not found
ERROR: configuration failed for package 'igraph'
* removing '/projects/genomic-ml/R/4.2.3/igraph'
(igraph) th798@cn25:/tmp/th798/7475594/RtmpQlPKF7/downloaded_packages$ conda install libxml2 glpk gmp
Collecting package metadata (current_repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 23.7.4
  latest version: 24.1.0

Please update conda by running

    $ conda update -n base -c defaults conda

Or to minimize the number of packages updated during conda update use

     conda install conda=24.1.0



## Package Plan ##

  environment location: /home/th798/.conda/envs/igraph

  added / updated specs:
    - glpk
    - gmp
    - libxml2


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    glpk-4.65                  |       h276157c_3         741 KB
    icu-73.1                   |       h6a678d5_0        25.9 MB
    libxml2-2.10.4             |       hf1b16e4_1         753 KB
    xz-5.4.5                   |       h5eee18b_0         646 KB
    ------------------------------------------------------------
                                           Total:        28.0 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main 
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu 
  glpk               pkgs/main/linux-64::glpk-4.65-h276157c_3 
  gmp                pkgs/main/linux-64::gmp-6.2.1-h295c915_3 
  icu                pkgs/main/linux-64::icu-73.1-h6a678d5_0 
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1 
  libgomp            pkgs/main/linux-64::libgomp-11.2.0-h1234567_1 
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1 
  libxml2            pkgs/main/linux-64::libxml2-2.10.4-hf1b16e4_1 
  xz                 pkgs/main/linux-64::xz-5.4.5-h5eee18b_0 
  zlib               pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0 


Proceed ([y]/n)? 


Downloading and Extracting Packages
xz-5.4.5             | 646 KB    |                                        |   0% 
glpk-4.65            | 741 KB    |                                        |   0% 

icu-73.1             | 25.9 MB   |                                        |   0% 


libxml2-2.10.4       | 753 KB    |                                        |   0% 
xz-5.4.5             | 646 KB    | 9                                      |   2% 

icu-73.1             | 25.9 MB   |                                        |   0% 


libxml2-2.10.4       | 753 KB    | 8                                      |   2% 

icu-73.1             | 25.9 MB   | #9                                     |   5% 
glpk-4.65            | 741 KB    | ###################################### | 100% 
glpk-4.65            | 741 KB    | ###################################### | 100% 

icu-73.1             | 25.9 MB   | ##########5                            |  28% 


libxml2-2.10.4       | 753 KB    | ###################################### | 100% 


libxml2-2.10.4       | 753 KB    | ###################################### | 100% 

icu-73.1             | 25.9 MB   | ####################2                  |  53% 

xz-5.4.5             | 646 KB    | ###################################### | 100% 

                                                                                 
                                                                                 

                                                                                 


                                                                                 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(igraph) th798@cn25:/tmp/th798/7475594/RtmpQlPKF7/downloaded_packages$ R CMD INSTALL igraph_igraph/
* installing to library '/projects/genomic-ml/R/4.2.3'
* installing *source* package 'igraph' ...
** package 'igraph' successfully unpacked and MD5 sums checked
** using staged installation
libxml2 include directory: /home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include
/usr/bin/cp -f src/Makevars.new src/Makevars
** libs
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c simpleraytracer.cpp -o simpleraytracer.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c rinterface_extra.c -o rinterface_extra.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c rrandom.c -o rrandom.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c rinterface.c -o rinterface.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c cpp11.cpp -o cpp11.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c cpprinterface.cpp -o cpprinterface.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c lazyeval.c -o lazyeval.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c init.cpp -o init.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dnaupd.f -o vendor/arpack/dnaupd.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dstatn.f -o vendor/arpack/dstatn.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dsaupd.f -o vendor/arpack/dsaupd.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dvout.f -o vendor/arpack/dvout.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dstqrb.f -o vendor/arpack/dstqrb.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dlaqrb.f -o vendor/arpack/dlaqrb.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dsaup2.f -o vendor/arpack/dsaup2.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dmout.f -o vendor/arpack/dmout.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dngets.f -o vendor/arpack/dngets.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dneupd.f -o vendor/arpack/dneupd.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dsortc.f -o vendor/arpack/dsortc.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dnaup2.f -o vendor/arpack/dnaup2.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dseigt.f -o vendor/arpack/dseigt.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dneigh.f -o vendor/arpack/dneigh.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dseupd.f -o vendor/arpack/dseupd.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dsgets.f -o vendor/arpack/dsgets.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dnapps.f -o vendor/arpack/dnapps.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dsaitr.f -o vendor/arpack/dsaitr.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dstats.f -o vendor/arpack/dstats.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dnconv.f -o vendor/arpack/dnconv.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/second.f -o vendor/arpack/second.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dsesrt.f -o vendor/arpack/dsesrt.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dsapps.f -o vendor/arpack/dsapps.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dgetv0.f -o vendor/arpack/dgetv0.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dnaitr.f -o vendor/arpack/dnaitr.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dsortr.f -o vendor/arpack/dsortr.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/dsconv.f -o vendor/arpack/dsconv.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/wrap.f -o vendor/arpack/wrap.o
/usr/bin/gfortran -fno-optimize-sibling-calls -fvisibility=hidden -fpic  -g -O2  -c vendor/arpack/ivout.f -o vendor/arpack/ivout.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/version.c -o vendor/cigraph/src/version.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/eigenvector.c -o vendor/cigraph/src/centrality/eigenvector.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/truss.cpp -o vendor/cigraph/src/centrality/truss.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack.cpp -o vendor/cigraph/src/centrality/prpack.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/pagerank.c -o vendor/cigraph/src/centrality/pagerank.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/closeness.c -o vendor/cigraph/src/centrality/closeness.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/hub_authority.c -o vendor/cigraph/src/centrality/hub_authority.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/coreness.c -o vendor/cigraph/src/centrality/coreness.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/centralization.c -o vendor/cigraph/src/centrality/centralization.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/betweenness.c -o vendor/cigraph/src/centrality/betweenness.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/centrality_other.c -o vendor/cigraph/src/centrality/centrality_other.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack/prpack_utils.cpp -o vendor/cigraph/src/centrality/prpack/prpack_utils.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack/prpack_preprocessed_scc_graph.cpp -o vendor/cigraph/src/centrality/prpack/prpack_preprocessed_scc_graph.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack/prpack_preprocessed_ge_graph.cpp -o vendor/cigraph/src/centrality/prpack/prpack_preprocessed_ge_graph.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack/prpack_base_graph.cpp -o vendor/cigraph/src/centrality/prpack/prpack_base_graph.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack/prpack_preprocessed_schur_graph.cpp -o vendor/cigraph/src/centrality/prpack/prpack_preprocessed_schur_graph.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack/prpack_igraph_graph.cpp -o vendor/cigraph/src/centrality/prpack/prpack_igraph_graph.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack/prpack_preprocessed_gs_graph.cpp -o vendor/cigraph/src/centrality/prpack/prpack_preprocessed_gs_graph.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack/prpack_result.cpp -o vendor/cigraph/src/centrality/prpack/prpack_result.o
/usr/bin/g++ -std=gnu++14 -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/centrality/prpack/prpack_solver.cpp -o vendor/cigraph/src/centrality/prpack/prpack_solver.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/cliques/glet.c -o vendor/cigraph/src/cliques/glet.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/cliques/maximal_cliques.c -o vendor/cigraph/src/cliques/maximal_cliques.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/cliques/cliquer_wrapper.c -o vendor/cigraph/src/cliques/cliquer_wrapper.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/cliques/cliques.c -o vendor/cigraph/src/cliques/cliques.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/cliques/cliquer/cliquer.c -o vendor/cigraph/src/cliques/cliquer/cliquer.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/cliques/cliquer/reorder.c -o vendor/cigraph/src/cliques/cliquer/reorder.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/cliques/cliquer/cliquer_graph.c -o vendor/cigraph/src/cliques/cliquer/cliquer_graph.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/community/voronoi.c -o vendor/cigraph/src/community/voronoi.o
/usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/community/optimal_modularity.c -o vendor/cigraph/src/community/optimal_modularity.o
In file included from vendor/cigraph/src/community/optimal_modularity.c:32:
vendor/cigraph/src/internal/glpk_support.h:39:10: fatal error: glpk.h: No such file or directory
 #include <glpk.h>
          ^~~~~~~~
compilation terminated.
make: *** [/packages/r/4.2.3-5aaqx6d/rlib/R/etc/Makeconf:169: vendor/cigraph/src/community/optimal_modularity.o] Error 1
ERROR: compilation failed for package 'igraph'
* removing '/projects/genomic-ml/R/4.2.3/igraph'
(igraph) th798@cn25:/tmp/th798/7475594/RtmpQlPKF7/downloaded_packages$ cd igraph_igraph/src/
(igraph) th798@cn25:/tmp/th798/7475594/RtmpQlPKF7/downloaded_packages/igraph_igraph/src$ /usr/bin/gcc -I"/packages/r/4.2.3-5aaqx6d/rlib/R/include" -DNDEBUG -DUSING_R -I. -Ivendor -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor -I"/home/th798/.conda/envs/igraph/include/libxml2 -I/home/th798/.conda/envs/igraph/include" -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/R/4.2.3/cpp11/include' -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/community/optimal_modularity.c -o vendor/cigraph/src/community/optimal_modularity.o
In file included from vendor/cigraph/src/community/optimal_modularity.c:32:
vendor/cigraph/src/internal/glpk_support.h:39:10: fatal error: glpk.h: No such file or directory
 #include <glpk.h>
          ^~~~~~~~
compilation terminated.
@szhorvat
Copy link
Member

szhorvat commented Feb 1, 2024

I am trying to install igraph R package, using system libraries installed to a conda environment.

I suggest you do not do this. This was never explicitly supported and people using libraries from conda (more often accidentally than on purpose) was one of the main sources of trouble in the past. See for example: https://r.igraph.org/articles/installation-troubleshooting.html#libgfortran-so-4-cannot-open-shared-object-file-no-such-file-or-directory System libraries are stable, conda environment are too easy to change accidentally, or to deactivate.


Of course the bad quoting is a real issue that needs to be fixed.

@szhorvat
Copy link
Member

szhorvat commented Feb 1, 2024

@Antonov548 Why is the include directory cut from the xml2-config --cflags output and then re-quoted? I was under the impression that whatever xml2-config --cflags returns must be passed to the compiler anyway. The same for pkg-config --cflags libxml-2.0.

@szhorvat
Copy link
Member

szhorvat commented Feb 1, 2024

I am trying to install igraph R package, using system libraries installed to a conda environment.

I suggest you do not do this. This was never explicitly supported and people using libraries from conda (more often accidentally than on purpose) was one of the main sources of trouble in the past.

To illustrate my point, this happened once again just today, see #1183

@Antonov548
Copy link
Contributor

@Antonov548 Why is the include directory cut from the xml2-config --cflags output and then re-quoted? I was under the impression that whatever xml2-config --cflags returns must be passed to the compiler anyway. The same for pkg-config --cflags libxml-2.0.

Good point. I will check.
We had an issue with quoting, but it seems I fixed the issue in the wrong place.

Thanks

@tdhock
Copy link
Author

tdhock commented Feb 1, 2024

glad you will fix thanks!
I would love to apt install these packages (instead of conda), but that is not supported on my cluster system. Installing via conda is much easier than building from source myself.

@szhorvat
Copy link
Member

szhorvat commented Feb 1, 2024

@tdhock Does your system have libxml2 development files? C/igraph bundles both GLPK and GMP, and it might become possible to use the bundled versions in the future in R/igraph as well. But it does not bundle libxml2.

@tdhock
Copy link
Author

tdhock commented Feb 1, 2024

no libxml2 is not provided by the cluster (outside of conda)

(igraph) th798@cn55:~$ which xml2-config
~/.conda/envs/igraph/bin/xml2-config
(igraph) th798@cn55:~$ conda deactivate
th798@cn55:~$ which xml2-config
/packages/anaconda3/2023.09/bin/xml2-config
th798@cn55:~$ module unload anaconda3
th798@cn55:~$ which xml2-config
/usr/bin/which: no xml2-config in (/home/th798/bin:/home/th798/.cargo/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/common/bin)

@szhorvat
Copy link
Member

szhorvat commented Feb 1, 2024

How about pkg-config --cflags libxml-2.0?

@tdhock
Copy link
Author

tdhock commented Feb 1, 2024

only with conda

th798@cn55:~$ pkg-config --cflags libxml-2.0
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libxml-2.0', required by 'virtual:world', not found
th798@cn55:~$ module load anaconda3
th798@cn55:~$ pkg-config --cflags libxml-2.0
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libxml-2.0', required by 'virtual:world', not found
th798@cn55:~$ PKG_CONFIG_PATH=/packages/anaconda3/2023.09/lib/pkgconfig pkg-config --cflags libxml-2.0
-I/packages/anaconda3/2023.09/include/libxml2 -I/packages/anaconda3/2023.09/include 

@nipnipj
Copy link

nipnipj commented Feb 2, 2024

I got:

In file included from vendor/cigraph/src/community/optimal_modularity.c:32:
vendor/cigraph/src/internal/glpk_support.h:39:10: fatal error: glpk.h: No such file or directory
   39 | #include <glpk.h>
      |          ^~~~~~~~
compilation terminated.
make: *** [/usr/lib/R/etc/Makeconf:191: vendor/cigraph/src/community/optimal_modularity.o] Error 1
ERROR: compilation failed for package ‘igraph’

I'm using linux mint 21.2

@szhorvat szhorvat changed the title compilation can not find system library headers in conda env Invalid quoting of libxml2 include path Feb 3, 2024
@szhorvat szhorvat added this to the phoenix 🔥 milestone Feb 3, 2024
@krlmlr
Copy link
Contributor

krlmlr commented Feb 8, 2024

Is this now fixed?

@Antonov548
Copy link
Contributor

Is this now fixed?

I think should be fixed with #1197

@szhorvat szhorvat closed this as completed Feb 8, 2024
@tdhock
Copy link
Author

tdhock commented Feb 8, 2024

this has been fixed using new version from github.
old command: (had bad quotes)

gcc -I"/home/th798/lib64/R/include" -DNDEBUG -DUSING_R -I. -Ivendor 
 -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor
 -I"/packages/anaconda3/2023.09/include/libxml2 -I/packages/anaconda3/2023.09/include" 
 -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT 
 -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/lib64/R/library/cpp11/include' 
 -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   
 -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/io/graphml.c 
 -o vendor/cigraph/src/io/graphml.o
vendor/cigraph/src/io/graphml.c:46:10: fatal error: libxml/globals.h: No such file or directory
 #include <libxml/globals.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [/home/th798/lib64/R/etc/Makeconf:191: vendor/cigraph/src/io/graphml.o] Error 1
ERROR: compilation failed for package 'igraph'

new command: (bad quotes are gone)

gcc -I"/home/th798/lib64/R/include" -DNDEBUG -DUSING_R -I. -Ivendor 
 -Ivendor/cigraph/src -Ivendor/cigraph/include -Ivendor/cigraph/vendor 
 -I/packages/anaconda3/2023.09/include/libxml2 -I/packages/anaconda3/2023.09/include 
 -DNDEBUG -DNTIMER -DNPRINT -DINTERNAL_ARPACK -DIGRAPH_THREAD_LOCAL= -DPRPACK_IGRAPH_SUPPORT 
 -DHAVE_GFORTRAN=1 -D_GNU_SOURCE=1 -I'/projects/genomic-ml/lib64/R/library/cpp11/include' 
 -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   
 -fvisibility=hidden -fpic  -g -O2  -c vendor/cigraph/src/io/graphml.c 
 -o vendor/cigraph/src/io/graphml.o

@tdhock
Copy link
Author

tdhock commented Feb 8, 2024

any ideas when this will appear on CRAN?

@krlmlr
Copy link
Contributor

krlmlr commented Feb 8, 2024

Couldn't help but think of:

"Oh ... ah -" said the hairdresser with a sheepish look which is recognized the whole Galaxy over as meaning "Er, will next Tuesday do?"

Earlier, if we're very lucky.

@peibana
Copy link

peibana commented Feb 17, 2024

How to solve this problem?

In file included from vendor/cigraph/src/community/optimal_modularity.c:32:
vendor/cigraph/src/internal/glpk_support.h:39:10: fatal error: glpk.h: 没有那个文件或目录
39 | #include <glpk.h>
| ^~~~~~~~
compilation terminated.
make: *** [/usr/lib/R/etc/Makeconf:168:vendor/cigraph/src/community/optimal_modularity.o] 错误 1
ERROR: compilation failed for package ‘igraph’

  • removing ‘/home/pan2/R/x86_64-pc-linux-gnu-library/4.1/igraph’
    Warning in install.packages :
    installation of package ‘igraph’ had non-zero exit status

my R.version:
platform x86_64-pc-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
version.string R version 4.1.2 (2021-11-01)

@krlmlr
Copy link
Contributor

krlmlr commented Feb 18, 2024

@peibana: Please install GLPK.

For support requests, please use https://igraph.discourse.group/ in the future. Comments to existing closed issues may be overlooked too; for bug reports, please open a new issue and link to existing issues if applicable.

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

6 participants