(я не пометил этот вопрос с тегом GDAL , потому что я думаю, что проблема, которую я опишу, не специфична для GDAL, но более связанным с: C ++, либо My FAGRANT INSE) PRUTIO />
- Оно основано на ubuntu/jammy64 = ubuntu 22.04.5 lts
- Он устанавливает следующий список упаковки:
Код: Выделить всё
build-essential, ca-certificates, git, make, ninja-build, cmake, ccache, gdb, g++, mold, bison, flex,
wget, curl, unzip, libtool, autoconf, automake, zlib1g-dev, libsqlite3-dev, pkg-config, sqlite3,
bash-completion, swig, ant, openjdk-11-jdk, mono-mcs, mono-runtime, libmono-system-drawing4.0-cil,
python3-dev, python3-numpy, python3-setuptools, python3-pip, postgis, postgresql, postgresql-postgis,
gpsbabel, doxygen, libproj-dev, proj-data, libarchive-dev, libcurl4-gnutls-dev, libtiff5-dev,
libopenjp2-7-dev, libcairo2-dev, libpng-dev, libjpeg-dev, libgif-dev, liblzma-dev, libgeos-dev, libxml2-dev,
libexpat-dev, libxerces-c-dev, libnetcdf-dev, libpoppler-dev, libpoppler-private-dev, libspatialite-dev,
librasterlite2-dev, libhdf4-alt-dev, libhdf5-serial-dev, libfreexl-dev, unixodbc-dev, mdbtools-dev,
libwebp-dev, liblcms2-2, libpcre3-dev, libcrypto++-dev, libfyba-dev, libkml-dev, libmysqlclient-dev,
libogdi-dev, libcfitsio-dev, libzstd-dev, libpq-dev, libssl-dev, libboost-dev, libarmadillo-dev,
libopenexr-dev, libheif-dev, libdeflate-dev, libblosc-dev, liblz4-dev, libbz2-dev, libbrotli-dev,
libqhull-dev, libjson-c-dev, libtiff5-dev
< /code>
[*] Это заканчивается, вызывая этот сценарий компиляции GDAL.SH: < /li>
< /ol>
ARCH_FLAGS=""
AVX2_AVAIL=1
grep avx2 /proc/cpuinfo >/dev/null || AVX2_AVAIL=0
if [[ "${AVX2_AVAIL}" == "1" ]]; then
ARCH_FLAGS="-mavx2"
echo "AVX2 available on CPU"
else
echo "AVX2 not available on CPU."
grep flags /proc/cpuinfo | head -n 1
fi
export CCACHE_DIR=/vagrant/ccache_vagrant
cd /vagrant
mkdir -p build_vagrant
cd build_vagrant
export CFLAGS="$ARCH_FLAGS -Werror"
export CXXFLAGS="$ARCH_FLAGS -Werror"
cmake .. \
-GNinja \
-DCMAKE_INSTALL_PREFIX=/opt/gdal-dev \
-DUSE_CCACHE=ON \
-DUSE_ALTERNATE_LINKER:STRING=mold \
-DCMAKE_BUILD_TYPE=Debug
ninja -j6
sudo ninja install
Я сам на Debian 12. Когда я делаю бродягу вверх < /code>, он создается, но не всегда с первой попытки и вызывает у меня мало проблем: < /p>
- Некоторые тесты, которые он несет, кажется висящим. Компиляция часто останавливается во время процесса, и новая попытка (с нуля) достигнет другой точки. По этому вопросу мне не нужна помощь: я взял проект из Master , нормально, что он может провести такие тесты. В конце концов он успевает.
- У него есть компилятор Java 11 , который я готов заменить на 17 версию. Получившаяся среда работает, Virtualbox VM показывает глюк (квадратный серый курсор после курсора мыши на экране), который предупреждает меня о чем -то нестабильном. Мне не нужна помощь по этому вопросу.
, где я буду особенно обменять код. Один.
Код: Выделить всё
- config.vm.box_url = "https://people.canonical.com/~jchittum/vagrant-testing/ubuntu-jammy-vagrant-TESTING-20220419.box"
- config.vm.box = "ubuntu/jammy64"
+ config.vm.box = "generic/debian12"
+ config.vm.box_version = "4.3.12"
+ config.vm.provision "shell", inline: libgdal.so.37
libgdal.so.37 -> libgdal.so.37.3.11.0
libgdal.so.37.3.11.0
Код: Выделить всё
default: x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -mavx2 -Werror -fPIC -I/vagrant/build_vagrant/port -I/vagrant/port -I/vagrant/build_vagrant/gcore -I/vagrant/gcore -I/vagrant/alg -I/vagrant/ogr/ -I/vagrant/ogr/ogrsf_frmts -I/vagrant/gnm -I/vagrant/apps -I/usr/include/python3.11 -I/usr/lib/python3/dist-packages/numpy/core/include -c extensions/gnm_wrap.cpp -o build/temp.linux-x86_64-cpython-311/extensions/gnm_wrap.o -DSWIG_PYTHON_SILENT_MEMLEAK
default: x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -mavx2 -Werror -fPIC -I/vagrant/build_vagrant/port -I/vagrant/port -I/vagrant/build_vagrant/gcore -I/vagrant/gcore -I/vagrant/alg -I/vagrant/ogr/ -I/vagrant/ogr/ogrsf_frmts -I/vagrant/gnm -I/vagrant/apps -I/usr/include/python3.11 -I/usr/lib/python3/dist-packages/numpy/core/include -c extensions/gdal_array_wrap.cpp -o build/temp.linux-x86_64-cpython-311/extensions/gdal_array_wrap.o -DSWIG_PYTHON_SILENT_MEMLEAK
default: creating build/lib.linux-x86_64-cpython-311
default: creating build/lib.linux-x86_64-cpython-311/osgeo
default: x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 -mavx2 -Werror build/temp.linux-x86_64-cpython-311/extensions/gdalconst_wrap.o -L/vagrant/build_vagrant -L/usr/lib/x86_64-linux-gnu -lgdal -o build/lib.linux-x86_64-cpython-311/osgeo/_gdalconst.cpython-311-x86_64-linux-gnu.so
default: /vagrant/build_vagrant/libgdal.so: file not recognized: file format not recognized
default: collect2: error: ld returned 1 exit status
Я ввожу свою виртуальную машину с помощью Vagrant ssh
[*] удаляет build_vagrant , ccache_vagrant . Воссоздает build_vagrant пусто.
[*]
Код: Выделить всё
cd build_vagrantКод: Выделить всё
Buildfile: /vagrant/swig/java/build.xml
[100%] Built target csharp_samples
init:
[echo] version = 3.11.0
compile:
[mkdir] Created dir: /vagrant/build_vagrant/swig/java/build/classes
[javac] Compiling 94 source files to /vagrant/build_vagrant/swig/java/build/classes
[javac] warning: [options] bootstrap class path not set in conjunction with -source 8
x86_64-linux-gnu-g++ -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-x86_64-cpython-311/extensions/ogr_wrap.o -L/vagrant/build_vagrant -L/usr/lib/x86_64-linux-gnu -lgdal -o build/lib.linux-x86_64-cpython-311/osgeo/_ogr.cpython-311-x86_64-linux-gnu.so
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 1 warning
[echo] compilation complete
archive:
[jar] Building jar: /vagrant/build_vagrant/swig/java/gdal.jar
compile_tests:
[mkdir] Created dir: /vagrant/build_vagrant/swig/java/build/apps
[javac] Compiling 24 source files to /vagrant/build_vagrant/swig/java/build/apps
[javac] warning: [options] bootstrap class path not set in conjunction with -source 8
[100%] Linking CXX executable gdal_unit_test
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 1 warning
[echo] compilation of tests complete
maven:
[mkdir] Created dir: /vagrant/build_vagrant/swig/java/build/maven
[copy] Copying 1 file to /vagrant/build_vagrant/swig/java/build/maven
[copy] Copying 1 file to /vagrant/build_vagrant/swig/java/build/maven
[jar] Building jar: /vagrant/build_vagrant/swig/java/build/maven/gdal-3.11.0-javadoc.jar
[jar] Building jar: /vagrant/build_vagrant/swig/java/build/maven/gdal-3.11.0-sources.jar
BUILD SUCCESSFUL
Total time: 3 seconds
[100%] Built target java_binding
[100%] Built target gdal_unit_test
x86_64-linux-gnu-g++ -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-x86_64-cpython-311/extensions/gdal_wrap.o -L/vagrant/build_vagrant -L/usr/lib/x86_64-linux-gnu -lgdal -o build/lib.linux-x86_64-cpython-311/osgeo/_gdal.cpython-311-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-cpython-311/osgeo/_gdal.cpython-311-x86_64-linux-gnu.so -> osgeo
copying build/lib.linux-x86_64-cpython-311/osgeo/_gdalconst.cpython-311-x86_64-linux-gnu.so -> osgeo
copying build/lib.linux-x86_64-cpython-311/osgeo/_osr.cpython-311-x86_64-linux-gnu.so -> osgeo
copying build/lib.linux-x86_64-cpython-311/osgeo/_ogr.cpython-311-x86_64-linux-gnu.so -> osgeo
copying build/lib.linux-x86_64-cpython-311/osgeo/_gnm.cpython-311-x86_64-linux-gnu.so -> osgeo
copying build/lib.linux-x86_64-cpython-311/osgeo/_gdal_array.cpython-311-x86_64-linux-gnu.so -> osgeo
[100%] Built target python_binding
< /code>
cmake -build. -J24 -Target Install [*] дальнейший ctest покажут тесты с успехом 93% и pytest с некоторыми 225 тестами, снятыми на 22000, что не плохо, учитывая изменения. Является ли:
Что может вызвать проблему LD во время Vagrant up выполнено, изначально, от хоста? Хост
Я перезагружаю шаги сборки от внутренней части виртуальной машины.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... now-a-vagr