MXE compilation, openjpeg.h not found error - ffmpeg

I am compiling MXE for the cross-compilation of FFmpeg.
I am following the instructions here and after running the make command, the following error occurred:
[build] proj i686-w64-mingw32.static
[done] proj i686-w64-mingw32.static 27156 KiB 0m10.026s
[build] libgeotiff i686-w64-mingw32.static
[done] libgeotiff i686-w64-mingw32.static 41492 KiB 0m19.380s
[build] netcdf i686-w64-mingw32.static
[done] netcdf i686-w64-mingw32.static 114152 KiB 0m22.519s
[build] openjpeg i686-w64-mingw32.static
[done] openjpeg i686-w64-mingw32.static 38572 KiB 0m9.627s
[build] spatialite i686-w64-mingw32.static
[done] spatialite i686-w64-mingw32.static 380204 KiB 0m58.171s
[build] gdal i686-w64-mingw32.static
Failed to build package gdal for target i686-w64-mingw32.static!
------------------------------------------------------------
checking for nc_open in -lnetcdf... no
configure: JasPer (JPEG2000) support disabled.
configure: error: openjpeg.h not found in /home/hiqbal/mxe/usr/i686-w64-mingw32.static/include/openjpeg-2.0 or /home/hiqbal/mxe/usr/i686-w64-mingw32.static/include/openjpeg-2.1 or /home/hiqbal/mxe/usr/i686-w64-mingw32.static/include/openjpeg-2.2 or /home/hiqbal/mxe/usr/i686-w64-mingw32.static/include/openjpeg-2.3
Makefile:851: recipe for target 'build-only-gdal_i686-w64-mingw32.static' failed
make[1]: *** [build-only-gdal_i686-w64-mingw32.static] Error 1
make[1]: Leaving directory '/home/hiqbal/mxe'
real 0m17.644s
user 0m13.999s
sys 0m1.669s
------------------------------------------------------------
[log] /home/hiqbal/mxe/log/gdal_i686-w64-mingw32.static
Makefile:851: recipe for target '/home/hiqbal/mxe/usr/i686-w64-mingw32.static/installed/gdal' failed
make: *** [/home/hiqbal/mxe/usr/i686-w64-mingw32.static/installed/gdal] Error 1
It seems that it was unable to find openjpeg.h and searched in folder openjpeg-2.0 to openjpeg-2.3. However, when I checked /mxe/usr/i686-w64-mingw32.static/include/, it contains openjpeg-2.4.
The log for /mxe/log/gdal_i686-w64-mingw32.static is present here.
Please help fix this. Thanks.

gdal is installing 2.4 which is an issue. Run this make command make gdal_CONFIGURE_OPTS=--with-openjpeg=no ... to turn it off.
git hub issue: https://github.com/mxe/mxe/issues/2630

Related

Error when install RosettaCommon using Scons

I'm building release executables for RosettaCommons, I input to the terminal with the following code:
scons bin mode=release
And I got the following error:
scons: Reading SConscript files ...
Running versioning script ... Release package detected, using rosetta/main/.release.json to acquire version information...
Done. (0.0 seconds)
Number of option files updated: 0
Total 4580 options.
Finished updating ResidueProperty code
-- no changes needed
Finished updating VariantType code
-- no changes needed
scons: done reading SConscript files.
scons: Building targets ...
clang++ -o build/external/release/macos/10.16/64/x86/clang/12.0/default/libzlib.dylib -dynamiclib -install_name /Users/miotomato/Downloads/rosetta_bin_mac_2021.16.61629_bundle/main/source/build/external/release/macos/10.16/64/x86/clang/12.0/default/libzlib.dylib -stdlib=libc++ -Wl,-rpath=/Users/miotomato/Downloads/rosetta_bin_mac_2021.16.61629_bundle/main/source/build/external/release/macos/10.16/64/x86/clang/12.0/default -Wl,-rpath=\$ORIGIN -Wl,-rpath=\$ORIGIN/../lib build/external/release/macos/10.16/64/x86/clang/12.0/default/dummy_zlib.os -Lexternal/lib -Lbuild/external/release/macos/10.16/64/x86/clang/12.0/default -Lexternal -L/usr/lib
ld: unknown option: -rpath=/Users/miotomato/Downloads/rosetta_bin_mac_2021.16.61629_bundle/main/source/build/external/release/macos/10.16/64/x86/clang/12.0/default
clang: error: linker command failed with exit code 1 (use -v to see invocation)
scons: *** [build/external/release/macos/10.16/64/x86/clang/12.0/default/libzlib.dylib] Error 1
scons: building terminated because of errors.
I list the version of each program:
macOS Monterey 12.0 Beta
Scons 4.2.0
Python 2.7.16
RosettaCommons 2021.16.61629

class_loader failed when cross compiling ROS Melodic for aarch64 with buildroot

I'm trying to cross compiling ROS Melodic for aarch64 on raspberry pi 3 with toolchain that created by buildroot.
I followed the document http://wiki.ros.org/ROS/CrossCompiling/RaspberryPi/Cross-Compile%20ROS%20for%20the%20RaspberryPi, the source of ROS I try to build comes from:
rosinstall_generator ros_comm --rosdistro melodic --deps --tar > melodic-ros_comm.rosinstall
wstool init -j8 src melodic-ros_comm.rosinstall
And I got the error messages like these:
[100%] Linking CXX shared library /home/developer/ros_pi/ros_catkin_ws/devel_isolated/class_loader/lib/libclass_loader.so
/home/developer/buildroot-2020.02.1/output/host/lib/gcc/aarch64-buildroot-linux-gnu/8.4.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: /home/developer/buildroot-2020.02.1/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libboost_thread.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
CMakeFiles/class_loader.dir/build.make:180: recipe for target '/home/developer/ros_pi/ros_catkin_ws/devel_isolated/class_loader/lib/libclass_loader.so' failed
make[2]: *** [/home/developer/ros_pi/ros_catkin_ws/devel_isolated/class_loader/lib/libclass_loader.so] Error 1
CMakeFiles/Makefile2:195: recipe for target 'CMakeFiles/class_loader.dir/all' failed
make[1]: *** [CMakeFiles/class_loader.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
<== Failed to process package 'class_loader':
Command '['/home/developer/ros_pi/ros_catkin_ws/install_isolated/env.sh', 'make', '-j8', '-l8']' returned non-zero exit status 2
Reproduce this error by running:
==> cd /home/developer/ros_pi/ros_catkin_ws/build_isolated/class_loader && /home/developer/ros_pi/ros_catkin_ws/install_isolated/env.sh make -j8 -l8
Command failed, exiting.
This is my toolchain.cmake:
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_LIBRARY_ARCHITECTURE aarch64)
set( CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/home/developer/buildroot-2020.02.1/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/")
set( CMAKE_C_COMPILER aarch64-linux-gcc)
set( CMAKE_CXX_COMPILER aarch64-linux-g++)
set(CMAKE_FIND_ROOT_PATH "/home/developer/buildroot-2020.02.1/output/host/aarch64-buildroot-linux-gnu/sysroot")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
include_directories(/home/developer/buildroot-2020.02.1/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/)
I guess the problem comes from boost?
The version of boost which I used is 1.65.1
All the steps I tried is contained in Dockerfile as link as below:
https://github.com/i-am-neet/cc-ros/blob/master/Dockerfile
Thank you for your patience

nvcc fatal : Unknown option 'pthread'

I am trying to install Elemental. I cloned it from the GitHub directory. Made a build directory and ran cmake command in it. But when I do a make, it shows the following error message:
[ 73%] Linking CUDA device code
CMakeFiles/EntrywiseMap.dir/cmake_device_link.o
nvcc fatal : Unknown option 'pthread'
tests/CMakeFiles/EntrywiseMap.dir/build.make:99: recipe for target
'tests/CMakeFiles/EntrywiseMap.dir/cmake_device_link.o' failed
make[2]: *** [tests/CMakeFiles/EntrywiseMap.dir/cmake_device_link.o]
Error 1
CMakeFiles/Makefile2:1506: recipe for target
'tests/CMakeFiles/EntrywiseMap.dir/all' failed
make[1]: *** [tests/CMakeFiles/EntrywiseMap.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
I am using ubuntu 18, with cuda 10 and cmake version 3.13.4
What's the version of Cmake? This issue seems to be on CMake 3.12 and fixed on CMake 3.13
For me moving to the newer version of CMake 3.14.0 helped get past the issue.

Why cannot find cudnn.h

I installed the cudnn 7.1.2 by anaconda, and then install the coffe2 via anaconda following https://caffe2.ai/docs/getting-started.html?platform=mac&configuration=prebuilt ,but it reports that cannot find cudnn.h.
The error reports are:
In file included from /home/wangqm/anaconda3/conda-bld/caffe2-cuda9.0-cudnn7_1530109091069/work/caffe2/operators/depthwise_3x3_conv_op.cu:1:0:
/home/wangqm/anaconda3/conda-bld/caffe2-cuda9.0-cudnn7_1530109091069/work/caffe2/core/common_cudnn.h:7:19: fatal error: cudnn.h: No such file or directory
compilation terminated.
CMake Error at caffe2_gpu_generated_depthwise_3x3_conv_op.cu.o.Release.cmake:219 (message):
Error generating
/home/wangqm/anaconda3/conda-bld/caffe2-cuda9.0-cudnn7_1530109091069/work/build/caffe2/CMakeFiles/caffe2_gpu.dir/operators/./caffe2_gpu_generated_depthwise_3x3_conv_op.cu.o
caffe2/CMakeFiles/caffe2_gpu.dir/build.make:252: recipe for target 'caffe2/CMakeFiles/caffe2_gpu.dir/operators/caffe2_gpu_generated_depthwise_3x3_conv_op.cu.o' failed
make[2]: *** [caffe2/CMakeFiles/caffe2_gpu.dir/operators/caffe2_gpu_generated_depthwise_3x3_conv_op.cu.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:1458: recipe for target 'caffe2/CMakeFiles/caffe2_gpu.dir/all' failed
make[1]: *** [caffe2/CMakeFiles/caffe2_gpu.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
I'm no Caffe2 expert, but this error means that you do not have the CUDNN library installed.
This means that you are trying to use the CUDA enabled Caffe framework and will want to install CUDA (probably version 9+) with the associated CUDNN libraries.
https://docs.nvidia.com/cuda/cuda-installation-guide-mac-os-x/index.html

cygwin linking error

I want to make network simulator shawn.exe with cygwin and that simulator need to boost library
when i call make for it in the linking step procedure break.
please help me,
this is all result of make command:
{.
.
[100%] Built target shawnlib
Scanning dependencies of target shawn
[100%] Building CXX object CMakeFiles/shawn.dir/frontend/console/con_main.o
[100%] Building CXX object CMakeFiles/shawn.dir/apps/apps_init.o
Linking CXX executable shawn.exe
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lboost_regex-gcc-mt
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lboost_date_time-gcc-mt
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lboost_thread-gcc-mt
collect2: ld returned 1 exit status
CMakeFiles/shawn.dir/build.make:111: recipe for target `shawn.exe' failed
make[2]: *** [shawn.exe] Error 1
CMakeFiles/Makefile2:60: recipe for target `CMakeFiles/shawn.dir/all' failed
make[1]: *** [CMakeFiles/shawn.dir/all] Error 2
Makefile:72: recipe for target `all' failed
make: *** [all] Error 2
}
Make sure you have the libboost-devel Cygwin package installed. Re-run Cygwin's setup.exe and install that package (as well as its dependencies, which should automatically get installed if you don't explicitly exclude them).
no need to reinstall cygwin. just run:
apt-cyg install libboost-devel.
if you don't have "apt-cyg" installed, run these steps first:
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

Resources