Giter Site home page Giter Site logo

Comments (26)

Wohlstand avatar Wohlstand commented on June 13, 2024

To point the build place, use CMAKE_PREFIX_PATH where CMake will look for compiler, libraries, and packages. The Install prefix is the install destination to install.

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024

The msys2 package-provided cmake 3.10.x hits and issue extracting the tarball: cmake -E tar xfz default.tar.bz2 produces:

CMake Error: Problem with archive_write_header(): Can't create 'SDL-default/android-project-ant/AndroidManifest.xml'
CMake Error: Current file: SDL-default/android-project-ant/AndroidManifest.xml
CMake Error: Problem extracting tar: default.tar.bz2

It does seem to extract all the other files without issue though.

Using tar directly: tar jxf default.tar.bz2 extracts it without issue.

I added this direct-tar command to extract-SDLHG.cmake instead of cmake -E tar, however cmake promptly overwrote my changes on the next build attempt. I tried finding the code pattern outside of my build area, however it doesn't exist! I'm not sure where or how cmake is restoring the content of these cmake files.

Perhaps msys2's build of cmake has problems.. so I uninstalled it pacman -R cmake, fetched the latest cmake source, however it bombs out during bootstrap with conflicting function definitions (which was reported in 2012 also under mingw - however a cmake developer dismissed it as an issue), and the errors continues after correcting that. So I thew in the towel there.

I then tried mixing cmake's native Windows MSI installer within my msys2 bash environment - however it fails to detect even the c-compiler (even with -DMAKE_PREFIX_PATH= pointing to the msys2 binaries); it seems mixing the two worlds of windows paths and bash/linux paths cause quite a mess.

So I'm back to trying the direct tar approach, as a kludge. Any pointers you can give on how I can call tar directly (and not have cmake clobber my edits) would be a huge help!

Regards,
Kevin

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

-DMAKE_PREFIX_PATH=

Incorrect!
It must be -DCMAKE_PREFIX_PATH=

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024

Thanks it was a typo in my comment above.
I did try -DCMAKE_PREFIX_PATH= (various paths to the binaries), but it doesn't help.

Can you compile SDL-Mixer-X with msys2? https://www.msys2.org/

The exactly problem is due to extract-SDL2HG.cmake failing during extraction:

execute_process(COMMAND ${CMAKE_COMMAND} -E tar xfz ${filename}

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

The only question why SDL thinks it's Android? If you are targeting to Windows platform, why SDL2 is trying to be built for Android?
If you are trying to build it for Android, lemme apply a change from PGE Project where I made build via autotools of SDL2 on Haiku and on Android due those platforms are incomplete on CMake side.

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

P.S. To extract bz2 you need to install bzip2

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

When I'll come to my home, I'll try to check out the stuff on my Windows VM...

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024

the extraction happens to fail on a file in the Android directory (nothing to do with SDL targeting android).

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024

To extract bz2 you need to install bzip2

Actually, you don't when using the ExternalProject_Add function:
https://github.com/WohlSoft/AudioCodecs/blob/f308a2c49c87f19cb6d0ce81756d36fb3e2549b7/download_sdl2_hg.cmake#L26

Cmake has it's own internal code to handle tar and zip files itself.
Cmake does not call tar, bzip2, gunzip, or unzip from the shell or the PATH.

However, in this case, Cmake's internal tar handling code is not able to correctly processinf the tarball.

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

Anyway, on my end CMake had no issues with bz2 on Windows... (and I'm able to compile under any of compiler I can choose on my system: Vanilla MinGW, MinGW-w64 (both 32bit and 64-bit), and even MSVC crap of any version) Maybe, because I using the official installer? Which CMake version you have on your end?

EDIT: Okay, 3.10 I see in your previous posts...

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

Also, please try Mercirual's GZ: https://hg.libsdl.org/SDL/archive/default.tar.gz
it's same as BZ2, but the reason why I choosen BZ2 is better compression level and faster download speed (a help for users who are having slower speed, but also the help for CIs are downloading anything from external resources slower than would be).

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024

Interesting - I didn't realize they had a tar.gz.
Will give it a try and let you know.

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024

Darn - same problem.

$ cmake --version
cmake version 3.10.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
$ wget https://hg.libsdl.org/SDL/archive/default.tar.gz
--2018-09-03 12:46:12--  https://hg.libsdl.org/SDL/archive/default.tar.gz
Resolving hg.libsdl.org (hg.libsdl.org)... 192.241.223.99, 2604:a880:1:20::181:e001
Connecting to hg.libsdl.org (hg.libsdl.org)|192.241.223.99|:443... connected.
HTTP request sent, awaiting response... 200 Script output follows
Length: unspecified [application/x-gzip]
Saving to: ‘default.tar.gz’
2018-09-03 12:46:19 (861 KB/s) - ‘default.tar.gz’ saved [5287934]
$ cmake -E tar zxf default.tar.gz
CMake Error: Problem with archive_write_header(): Can't create 'SDL-default/android-project-ant/AndroidManifest.xml'
CMake Error: Current file: SDL-default/android-project-ant/AndroidManifest.xml
CMake Error: Problem extracting tar: default.tar.gz

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

Please try cmake -E tar -xf default.tar.gz without specifying of z (same with bz too)

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024
user@DESKTOP-OQOUQPI MSYS ~/src/SDL-Mixer-X/build
$ cmake -E tar -xf default.tar.gz
CMake Error: Problem with archive_write_header(): Can't create 'SDL-default/android-project-ant/AndroidManifest.xml'
CMake Error: Current file: SDL-default/android-project-ant/AndroidManifest.xml
CMake Error: Problem extracting tar: default.tar.gz

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024

I also tried the zip file, and same problem.

$ cmake -E tar -xvf default.zip
x SDL-default/.hg_archival.txt
x SDL-default/.hgignore
x SDL-default/.hgtags
x SDL-default/Android.mk
x SDL-default/BUGS.txt
x SDL-default/CMakeLists.txt
x SDL-default/COPYING.txt
x SDL-default/CREDITS.txt
x SDL-default/INSTALL.txt
x SDL-default/Makefile.in
x SDL-default/Makefile.minimal
x SDL-default/Makefile.pandora
x SDL-default/Makefile.psp
x SDL-default/Makefile.wiz
x SDL-default/README-SDL.txt
x SDL-default/README.txt
x SDL-default/SDL2.spec.in
x SDL-default/SDL2Config.cmake
x SDL-default/TODO.txt
x SDL-default/VisualC-WinRT/SDL2-WinRT.nuspec
x SDL-default/VisualC-WinRT/SDL2-WinRT.targets
x SDL-default/VisualC-WinRT/SDL2main-WinRT-NonXAML.nuspec
x SDL-default/VisualC-WinRT/SDL2main-WinRT-NonXAML.targets
x SDL-default/VisualC-WinRT/UWP_VS2015/SDL-UWP.sln
x SDL-default/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj
x SDL-default/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj.filters
x SDL-default/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.sln
x SDL-default/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj
x SDL-default/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj.filters
x SDL-default/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.sln
x SDL-default/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj
x SDL-default/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj.filters
x SDL-default/VisualC-WinRT/tests/loopwave/Assets/Logo.png
x SDL-default/VisualC-WinRT/tests/loopwave/Assets/SmallLogo.png
x SDL-default/VisualC-WinRT/tests/loopwave/Assets/SplashScreen.png
x SDL-default/VisualC-WinRT/tests/loopwave/Assets/StoreLogo.png
x SDL-default/VisualC-WinRT/tests/loopwave/Package.appxmanifest
x SDL-default/VisualC-WinRT/tests/loopwave/loopwave_VS2012.vcxproj
x SDL-default/VisualC-WinRT/tests/loopwave/loopwave_VS2012_TemporaryKey.pfx
x SDL-default/VisualC-WinRT/tests/testthread/Assets/Logo.png
x SDL-default/VisualC-WinRT/tests/testthread/Assets/SmallLogo.png
x SDL-default/VisualC-WinRT/tests/testthread/Assets/SplashScreen.png
x SDL-default/VisualC-WinRT/tests/testthread/Assets/StoreLogo.png
x SDL-default/VisualC-WinRT/tests/testthread/Package.appxmanifest
x SDL-default/VisualC-WinRT/tests/testthread/testthread_VS2012.vcxproj
x SDL-default/VisualC-WinRT/tests/testthread/testthread_VS2012_TemporaryKey.pfx
x SDL-default/VisualC.html
x SDL-default/VisualC/SDL.sln
x SDL-default/VisualC/SDL/SDL.vcxproj
x SDL-default/VisualC/SDL/SDL.vcxproj.filters
x SDL-default/VisualC/SDLmain/SDLmain.vcxproj
x SDL-default/VisualC/SDLtest/SDLtest.vcxproj
x SDL-default/VisualC/clean.sh
x SDL-default/VisualC/tests/checkkeys/checkkeys.vcxproj
x SDL-default/VisualC/tests/controllermap/controllermap.vcxproj
x SDL-default/VisualC/tests/loopwave/loopwave.vcxproj
x SDL-default/VisualC/tests/testatomic/testatomic.vcxproj
x SDL-default/VisualC/tests/testautomation/testautomation.vcxproj
x SDL-default/VisualC/tests/testdraw2/testdraw2.vcxproj
x SDL-default/VisualC/tests/testfile/testfile.vcxproj
x SDL-default/VisualC/tests/testgamecontroller/testgamecontroller.vcxproj
x SDL-default/VisualC/tests/testgesture/testgesture.vcxproj
x SDL-default/VisualC/tests/testgl2/testgl2.vcxproj
x SDL-default/VisualC/tests/testgles2/testgles2.vcxproj
x SDL-default/VisualC/tests/testjoystick/testjoystick.vcxproj
x SDL-default/VisualC/tests/testoverlay2/testoverlay2.vcxproj
x SDL-default/VisualC/tests/testplatform/testplatform.vcxproj
x SDL-default/VisualC/tests/testpower/testpower.vcxproj
x SDL-default/VisualC/tests/testrendertarget/testrendertarget.vcxproj
x SDL-default/VisualC/tests/testrumble/testrumble.vcxproj
x SDL-default/VisualC/tests/testscale/testscale.vcxproj
x SDL-default/VisualC/tests/testshape/testshape.vcxproj
x SDL-default/VisualC/tests/testsprite2/testsprite2.vcxproj
x SDL-default/VisualC/tests/testvulkan/testvulkan.vcxproj
x SDL-default/VisualC/tests/testyuv/testyuv.vcxproj
x SDL-default/VisualC/visualtest/unittest/testquit/testquit_VS2012.vcxproj
x SDL-default/VisualC/visualtest/visualtest_VS2012.vcxproj
x SDL-default/WhatsNew.txt
x SDL-default/Xcode-iOS/Demos/Default.png
x SDL-default/Xcode-iOS/Demos/Demos.xcodeproj/project.pbxproj
x SDL-default/Xcode-iOS/Demos/Icon.png
x SDL-default/Xcode-iOS/Demos/Info.plist
x SDL-default/Xcode-iOS/Demos/README
x SDL-default/Xcode-iOS/Demos/data/bitmapfont/kromasky_16x16.bmp
x SDL-default/Xcode-iOS/Demos/data/bitmapfont/license.txt
x SDL-default/Xcode-iOS/Demos/data/drums/ds_brush_snare.wav
x SDL-default/Xcode-iOS/Demos/data/drums/ds_china.wav
x SDL-default/Xcode-iOS/Demos/data/drums/ds_kick_big_amb.wav
x SDL-default/Xcode-iOS/Demos/data/drums/ds_loose_skin_mute.wav
x SDL-default/Xcode-iOS/Demos/data/icon.bmp
x SDL-default/Xcode-iOS/Demos/data/ship.bmp
x SDL-default/Xcode-iOS/Demos/data/space.bmp
x SDL-default/Xcode-iOS/Demos/data/stroke.bmp
x SDL-default/Xcode-iOS/Demos/iOS Launch Screen.storyboard
x SDL-default/Xcode-iOS/Demos/src/accelerometer.c
x SDL-default/Xcode-iOS/Demos/src/common.c
x SDL-default/Xcode-iOS/Demos/src/common.h
x SDL-default/Xcode-iOS/Demos/src/fireworks.c
x SDL-default/Xcode-iOS/Demos/src/happy.c
x SDL-default/Xcode-iOS/Demos/src/keyboard.c
x SDL-default/Xcode-iOS/Demos/src/mixer.c
x SDL-default/Xcode-iOS/Demos/src/rectangles.c
x SDL-default/Xcode-iOS/Demos/src/touch.c
x SDL-default/Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj
x SDL-default/Xcode-iOS/SDLtest/SDL2test.xcodeproj/project.pbxproj
x SDL-default/Xcode-iOS/Template/SDL iOS Application/[email protected]
x SDL-default/Xcode-iOS/Template/SDL iOS Application/Default.png
x SDL-default/Xcode-iOS/Template/SDL iOS Application/Icon.png
x SDL-default/Xcode-iOS/Template/SDL iOS Application/Info.plist
x SDL-default/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
x SDL-default/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
x SDL-default/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/project.pbxproj
x SDL-default/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/project.xcworkspace/contents.xcworkspacedata
x SDL-default/Xcode-iOS/Template/SDL iOS Application/main.c
x SDL-default/Xcode-iOS/Test/Info.plist
x SDL-default/Xcode-iOS/Test/README
x SDL-default/Xcode-iOS/Test/TestiPhoneOS.xcodeproj/project.pbxproj
x SDL-default/Xcode/SDL/Info-Framework.plist
x SDL-default/Xcode/SDL/SDL.xcodeproj/project.pbxproj
x SDL-default/Xcode/SDL/pkg-support/SDL.info
x SDL-default/Xcode/SDL/pkg-support/resources/License.txt
x SDL-default/Xcode/SDL/pkg-support/resources/ReadMe.txt
x SDL-default/Xcode/SDL/pkg-support/resources/SDL_DS_Store
x SDL-default/Xcode/SDL/pkg-support/sdl_logo.pdf
x SDL-default/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj
x SDL-default/Xcode/SDLTest/TestDropFile-Info.plist
x SDL-default/Xcode/XcodeDocSet/Doxyfile
x SDL-default/acinclude/ac_check_define.m4
x SDL-default/acinclude/alsa.m4
x SDL-default/acinclude/ax_check_compiler_flags.m4
x SDL-default/acinclude/ax_gcc_archflag.m4
x SDL-default/acinclude/ax_gcc_x86_cpuid.m4.htm
x SDL-default/acinclude/esd.m4
x SDL-default/acinclude/libtool.m4
x SDL-default/acinclude/ltoptions.m4
x SDL-default/acinclude/ltsugar.m4
x SDL-default/acinclude/ltversion.m4
x SDL-default/acinclude/lt~obsolete.m4
x SDL-default/android-project-ant/AndroidManifest.xml
CMake Error: Problem with archive_write_header(): Can't create 'SDL-default/android-project-ant/AndroidManifest.xml'
CMake Error: Current file: SDL-default/android-project-ant/AndroidManifest.xml
CMake Error: Problem extracting tar: default.zip

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

This thing looks weird...

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

Oh! I know why!!! It's a symbolic link!!
https://hg.libsdl.org/SDL/file/26a817fe1b07/android-project-ant/AndroidManifest.xml

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

Windows system is always sucked with symbolic links and no way to use them with no admin rights, that sucks...

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

Anyway, gotta to report this to SDL2 team...

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024

Yup. Looks like cmake fails to handle symlinks properly.

They worked on the bug back in 3.6: https://cmake.org/Bug/view.php?id=13251

Then in 3.8: https://gitlab.kitware.com/cmake/cmake/issues/16741

Then it's resurfaced again in 3.10, reported 3 weeks ago: https://gitlab.kitware.com/physiology/engine/issues/9

Appears to depend on how cmake is compiled, if it uses its internal libarchive or external. Argh.. what a mess.

The problem is, we can't control how CMAKE extracts the archive; it always generates it's own cmake -E tar zxf <file> command, and doesn't let us use tar natively.

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

Report I have sent: https://bugzilla.libsdl.org/show_bug.cgi?id=4248

from sdl-mixer-x.

kcgen avatar kcgen commented on June 13, 2024

Excellent!

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

Try the build now, I hope it must be fine now!

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

I'll close this issue because of idling, looks like everything is fine.

from sdl-mixer-x.

Wohlstand avatar Wohlstand commented on June 13, 2024

Okay, after long time, Ryan C. Gordon have explained me it's the problem of CMake itself (some of it's versions) which are having the bug:
https://bugzilla.libsdl.org/show_bug.cgi?id=4248

Please, try to untar the archive via tar rather cmake -E tar for just in a case.

from sdl-mixer-x.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.