Bug 34455 - Проблемы при сборке oct-файлов
Summary: Проблемы при сборке oct-файлов
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: octave-devel (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-14 13:53 MSK by Vladislav Zavjalov
Modified: 2018-01-14 20:06 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladislav Zavjalov 2018-01-14 13:53:40 MSK
Пробую сборку простейшего oct-файла, helloworld.cc из
https://www.gnu.org/software/octave/doc/v4.2.1/Getting-Started-with-Oct_002dFiles.html

Две проблемы:

1. Требуется -std=c++11, видимо его надо включить в CCFLAGS, которые зашиты в программе mkoctfile. Временно решается добавлением соответствующего параметра при запуске.

mkoctfile helloworld.cc -W -std=c++11 -v

2. При линковке не находятся следующие библиотеки,
возможно стоит их включить в зависимости octave-devel.

$ mkoctfile helloworld.cc -W -std=c++11 -v
x86_64-alt-linux-g++ -c  -fPIC -I/usr/include/octave-4.2.1/octave/.. -I/usr/include/octave-4.2.1/octave  -pthread -pipe -Wall -g -O2 -I/usr/lib64/hdf5-se
q/include   -I/usr/include/pcre -I/usr/include/freetype2 -I/usr/include/libpng16   -fpermissive -lm  -W -std=c++11   helloworld.cc -o helloworld.o
x86_64-alt-linux-g++ -I/usr/include/octave-4.2.1/octave/.. -I/usr/include/octave-4.2.1/octave  -pthread -pipe -Wall -g -O2 -I/usr/lib64/hdf5-seq/include
  -I/usr/include/pcre -I/usr/include/freetype2 -I/usr/include/libpng16   -fpermissive -lm -shared -Wl,-Bsymbolic  -W -std=c++11 -o helloworld.oct  hellow
orld.o   -L/usr/lib64/octave/4.2.1 -L/usr/lib64 -loctinterp -loctave                                 -lfreetype   -lhdf5hl_fortran -lhdf5_hl_cpp -lhdf5_h
l -lhdf5_fortran -lhdf5_cpp -lhdf5 -lgfortran -lstdc++ -lz   -lGraphicsMagick++ -lGraphicsMagick   -lz -lfftw3_threads -lfftw3 -lm   -lfftw3f_threads -lf
ftw3f -lm   -lGL -lGLU -lfontconfig -lfreetype    -lX11  -lgl2ps   -llapack              -lcurl -lcholmod -lcolamd -lccolamd -lamd -lcamd -llapack -lopen
blas -lm -lmetis   -lumfpack -lamd -lopenblas -lm   -lamd -lcamd -lcolamd -lccolamd -lcxsparse -lsuitesparseconfig -larpack   -lqrupdate -lfftw3_threads
-lfftw3 -lm   -lfftw3f_threads -lfftw3f -lm   -llapack -lopenblas -lreadline -lncurses  -lpcre -ldl   -L/usr/lib64/gcc/x86_64-alt-linux/6 -L/usr/lib64/gc
c/x86_64-alt-linux/6/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-alt-linux/6/../../.. -lgfortran -lm -lquadmath -lutil
-lm
/usr/bin/ld: cannot find -lGraphicsMagick++
/usr/bin/ld: cannot find -lGraphicsMagick
/usr/bin/ld: cannot find -lgl2ps
/usr/bin/ld: cannot find -lcholmod
/usr/bin/ld: cannot find -lcolamd
/usr/bin/ld: cannot find -lccolamd
/usr/bin/ld: cannot find -lamd
/usr/bin/ld: cannot find -lcamd

Хотя, в каком пакете живут последние 5 библиотек (и, соответственно, как обойти эту проблему) я пока не нашел. libcholmod.so.3 есть, например, в i586-libsuitesparse.32bit, но это вряд ли то что надо...
Comment 1 Vladislav Zavjalov 2018-01-14 20:06:32 MSK
Разобрался, что недостающие библиотеки живут в libsuitesparse-devel.
В любом случае, надо, наверное, добавить зависимости на все это.