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

No rule to make target IlmImf.dll, needed by osgPlugins-3.6.4/mingw_osgdb_exr.dll #849

Closed
Lord-Kamina opened this issue Oct 19, 2019 · 3 comments

Comments

@Lord-Kamina
Copy link

I'm cross-compiling for mingw-w64; using the following command:

cd '/opt/mxe/tmp-openscenegraph-i686-w64-mingw32.shared/OpenSceneGraph-OpenSceneGraph-3.6.4.build_' && 'i686-w64-mingw32.shared-cmake' '/opt/mxe/tmp-openscenegraph-i686-w64-mingw32.shared/OpenSceneGraph-OpenSceneGraph-3.6.4' -DCMAKE_CXX_FLAGS='-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS' -DOSG_DETERMINE_WIN_VERSION=OFF -DPKG_CONFIG_EXECUTABLE='/opt/mxe/usr/bin/i686-w64-mingw32.shared-pkg-config' -DDYNAMIC_OPENSCENEGRAPH=ON -DBUILD_OSG_APPLICATIONS=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

This ends with the following output:

-- The following OPTIONAL packages have been found:

 * OpenGL
 * Freetype
 * ilmbase
 * Jasper
 * OpenEXR
 * LibXml2
 * GDAL
 * GTA
 * CURL
 * FFmpeg
 * GLIB
 * Threads
 * SDL2
 * RSVG
 * GIFLIB
 * JPEG
 * ZLIB
 * PNG
 * TIFF
 * Fontconfig

-- The following OPTIONAL packages have not been found:

 * EGL
 * Inventor
 * OpenCascade
 * COLLADA
 * FBX
 * LibVNCServer
 * DCMTK
 * GStreamer
 * DirectShow
 * SDL
 * Poppler-glib
 * GtkGl
 * DirectInput
 * NVTT
 * ZeroConf
 * LIBLAS
 * QuickTime

-- Configuring done
-- Generating done

But then it fails with the following error:

/opt/Xcode.app/Contents/Developer/usr/bin/make -f src/osgPlugins/exr/CMakeFiles/osgdb_exr.dir/build.make src/osgPlugins/exr/CMakeFiles/osgdb_exr.dir/build
make[4]: *** No rule to make target `/opt/mxe/usr/i686-w64-mingw32.shared/lib/libIlmImf.dll', needed by `bin/osgPlugins-3.6.4/mingw_osgdb_exr.dll'.  Stop.

Now, if I just open that build.make or if I run ccmake I can see that IlmImf is obviously pointing to that location; and the file IS there...

$ ls -l /opt/mxe/usr/i686-w64-mingw32.shared/lib/libIlmImf.dll
lrwxr-xr-x  1 Koji  admin  17 Oct 19 09:31 /opt/mxe/usr/i686-w64-mingw32.shared/lib/libIlmImf.dll -> libIlmImf-2_4.dll

So, what gives?

@Lord-Kamina
Copy link
Author

I've found the issue; both IlmBase and IlmImf are installing dlls to bin and creating (broken) symlinks in lib

@Lord-Kamina
Copy link
Author

I've confirmed this to be the issue and submitted a PR over at the openexr repo, so you can close this.

@dujinyu
Copy link

dujinyu commented Nov 26, 2019

hello, how can i install the not found packages on ubuntu18.04? sudo apt install xxx, but i don't know the package name.

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

3 participants