Поддержка MrSID для QGIS 2.4 в Ubuntu 14.04

Я пытаюсь получить поддержку MrSID в QGIS 2.4 в Ubuntu 14.04. В соответствии с этим руководством вы должны пересобрать libgdal для MrSID SDK из LizardTech. Но я не могу найти пакет libgdal-mrsid-src, как указано в инструкции. Однако, похоже, что это могло быть слито в пакет libgdal-dev. Когда я пытаюсь установить этот пакет, мне говорят, что я должен установить libmysqlclient-dev, но не могу установить libmysqlclient-dev, так как у меня установлена ​​MariaDB 10.

Полное сообщение об ошибке:

    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:   
     libmysqlclient-dev : Depends: libmysqlclient18 (= 5.5.38-0ubuntu0.14.04.1) but
 10.0.10+maria-1~saucy is to be installed
    E: Unable to correct problems, you have held broken packages

Итак, вот мои первые два вопроса:

  1. Правильно ли я насчет libgdal-mrsid-src пакет объединяется с пакетом libgdal-dev?

    Ответ: Да, но вы должны использовать apt-get source libgdal-dev

  2. Если ответ на 1 - «да», то как мне исправить конфликт и при этом сохранить MariaDB 10?

    Ответ: Кажется, это скорее красная селедка, как и я не уверен, что libgdal-dev действительно должен быть установлен. Тем не менее, если вы запустите apt-get install libgdal-dev libmariadbclient-dev, зависимости, кажется, будут выполнены.

Теперь я дошел до того, что стал неуверенным в своих шагах. В каталоге gdal-1.10.1 + dfsg, который создается в результате установки исходных текстов, я запускаю

./configure --with-gdal=/usr/bin/gdal-config \
            --with-mrsid=/path/to/MrSID_DSDK/Raster_DSDK \
            --with-mrsid_lidar=/path/to/MrSID_DSDK/Lidar_DSDK \
            --with-jp2mrsid=yes --with-geotiff=yes

make
make install

Однако, он собирает полный пакет gdal и устанавливает его в / usr / local / bin вместо / usr / bin (место установки apt-get). Этот пакет также не имеет поддержки mysql (угадайте, вопрос 2 может не быть такой красной сельдью в конце концов). Не говоря уже о том, что я не собираюсь собирать полный пакет из исходного кода.

Другой вариант, который я попробовал, состоял в том, чтобы просто скомпилировать плагин mrsid для gdal. Остановив приведенные выше инструкции после команды configure, я перешел в каталог /gdal-1.10.1+dfsg/frmts/mrsid и запустил make plugin libgdal-mrsid, что привело к следующей ошибке:

/bin/bash /root/gdal-1.10.1+dfsg/libtool --mode=compile --tag=CXX g++ -g -O2 -DHAVE_SSE_AT_COMPILE_TIME  -Wall  -I/root/gdal-1.10.1+dfsg/port -I/root/gdal-1.10.1+dfsg/gcore -I/root/gdal-1.10.1+dfsg/alg -I/root/gdal-1.10.1+dfsg/ogr -I/root/gdal-1.10.1+dfsg/ogr/ogrsf_frmts -DMRSID_J2K  -I/usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/include -I../../frmts/gtiff/libgeotiff -DOGR_ENABLED -D_REENTRANT  -I/root/gdal-1.10.1+dfsg/port   -c -o mrsiddataset.o mrsiddataset.cpp
libtool: compile:  g++ -g -O2 -DHAVE_SSE_AT_COMPILE_TIME -Wall -I/root/gdal-1.10.1+dfsg/port -I/root/gdal-1.10.1+dfsg/gcore -I/root/gdal-1.10.1+dfsg/alg -I/root/gdal-1.10.1+dfsg/ogr -I/root/gdal-1.10.1+dfsg/ogr/ogrsf_frmts -DMRSID_J2K -I/usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/include -I../../frmts/gtiff/libgeotiff -DOGR_ENABLED -D_REENTRANT -I/root/gdal-1.10.1+dfsg/port -c mrsiddataset.cpp  -fPIC -DPIC -o .libs/mrsiddataset.o
mrsiddataset.cpp: In member function 'virtual CPLErr MrSIDRasterBand::IReadBlock(int, int, void*)':
mrsiddataset.cpp:552:64: warning: 'void* LizardTech::LTISceneBuffer::getTotalBandData(lt_uint16) const' is deprecated (declared at /usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/include/lti_sceneBuffer.h:565) [-Wdeprecated-declarations]
     memcpy( pImage, poGDS->poBuffer->getTotalBandData(nBand - 1), 
                                                                ^
mrsiddataset.cpp: In member function 'virtual CPLErr MrSIDDataset::IRasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, int, int*, int, int, int)':
mrsiddataset.cpp:979:68: warning: 'void* LizardTech::LTISceneBuffer::getTotalBandData(lt_uint16) const' is deprecated (declared at /usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/include/lti_sceneBuffer.h:565) [-Wdeprecated-declarations]
                 oLTIBuffer.getTotalBandData( panBandMap[iBand] - 1 );
                                                                    ^
mrsiddataset.cpp:1017:47: warning: 'void* LizardTech::LTISceneBuffer::getTotalBandData(lt_uint16) const' is deprecated (declared at /usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/include/lti_sceneBuffer.h:565) [-Wdeprecated-declarations]
                         panBandMap[iBand] - 1 );
                                               ^
libtool: compile:  g++ -g -O2 -DHAVE_SSE_AT_COMPILE_TIME -Wall -I/root/gdal-1.10.1+dfsg/port -I/root/gdal-1.10.1+dfsg/gcore -I/root/gdal-1.10.1+dfsg/alg -I/root/gdal-1.10.1+dfsg/ogr -I/root/gdal-1.10.1+dfsg/ogr/ogrsf_frmts -DMRSID_J2K -I/usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/include -I../../frmts/gtiff/libgeotiff -DOGR_ENABLED -D_REENTRANT -I/root/gdal-1.10.1+dfsg/port -c mrsiddataset.cpp -o mrsiddataset.o >/dev/null 2>&1
/bin/bash /root/gdal-1.10.1+dfsg/libtool --mode=compile --tag=CXX g++ -g -O2 -DHAVE_SSE_AT_COMPILE_TIME  -Wall  -I/root/gdal-1.10.1+dfsg/port -I/root/gdal-1.10.1+dfsg/gcore -I/root/gdal-1.10.1+dfsg/alg -I/root/gdal-1.10.1+dfsg/ogr -I/root/gdal-1.10.1+dfsg/ogr/ogrsf_frmts -DMRSID_J2K  -I/usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/include -I../../frmts/gtiff/libgeotiff -DOGR_ENABLED -D_REENTRANT  -I/root/gdal-1.10.1+dfsg/port   -c -o mrsidstream.o mrsidstream.cpp
libtool: compile:  g++ -g -O2 -DHAVE_SSE_AT_COMPILE_TIME -Wall -I/root/gdal-1.10.1+dfsg/port -I/root/gdal-1.10.1+dfsg/gcore -I/root/gdal-1.10.1+dfsg/alg -I/root/gdal-1.10.1+dfsg/ogr -I/root/gdal-1.10.1+dfsg/ogr/ogrsf_frmts -DMRSID_J2K -I/usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/include -I../../frmts/gtiff/libgeotiff -DOGR_ENABLED -D_REENTRANT -I/root/gdal-1.10.1+dfsg/port -c mrsidstream.cpp  -fPIC -DPIC -o .libs/mrsidstream.o
libtool: compile:  g++ -g -O2 -DHAVE_SSE_AT_COMPILE_TIME -Wall -I/root/gdal-1.10.1+dfsg/port -I/root/gdal-1.10.1+dfsg/gcore -I/root/gdal-1.10.1+dfsg/alg -I/root/gdal-1.10.1+dfsg/ogr -I/root/gdal-1.10.1+dfsg/ogr/ogrsf_frmts -DMRSID_J2K -I/usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/include -I../../frmts/gtiff/libgeotiff -DOGR_ENABLED -D_REENTRANT -I/root/gdal-1.10.1+dfsg/port -c mrsidstream.cpp -o mrsidstream.o >/dev/null 2>&1
mrsiddataset.o mrsidstream.o  -L/usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/3rd-party/lib -L/usr/share/MrSID_DSDK-9.1.0.4045/Raster_DSDK/lib -lltidsdk -lpthread  -o gdal_MrSID.so
/bin/bash: mrsiddataset.o: command not found
make: *** [gdal_MrSID.so] Error 127

Я о готов отказаться от добавления поддержки MrSID, но я не могу не чувствовать, что я близок, и мне просто нужно сделать небольшой шаг здесь или там.

1
задан 20 August 2014 в 08:26

1 ответ

Я полагаю, что Вы очень близки. Последней строке Вашего вывода нужна команда для создания библиотеки доли:

g++ -shared сопровождаемый остальной частью последней строки должен создать Ваш gdal_MrSID.so файл.

0
ответ дан 20 August 2014 в 08:26
  • 1
    Там произведите, корректно. А-а-а да, AlsaMixer перечисляет активную звуковую карту как единицу HDMI (Карта: HDMI). Нажатие F6 позволяет мне выделить " HDA Intel PCH" который имеет микшер для динамика, наушники и т.д., но это isn' t очищаются, как переключиться на эту карту (нажимающий Enter снова doesn' t, кажется, работают). Это, кажется, проблема все же. Какие-либо подсказки? – Patrick 29 December 2015 в 05:08

Другие вопросы по тегам:

Похожие вопросы: