영화가 되더라도 우분투에서 Not Tetris가하고 싶다.

이게 뭐야?



다음 두 가지 경우에 읽는 비망록
1. 새로운 우분투에 오래된 Love2D를 넣습니다.
2. Ubuntu에서 tar ball 빌드

소개



Not Tetris는 언뜻 보면 Tetris처럼 보이는 빌어 먹을 게임입니다.
크로스 플랫폼 프레임 워크 Love2D에서 작동합니다.

리눅스에서도 할 수 있는 떨어지는 게임이라고 듣고 플레이하려고 했다… … 하지만, 동작하지 않고.
아무래도 apt install love 로 취득한 Love2D와, 당시의 버젼에 호환성이 없는 것 같다. 어쩔 수 없기 때문에 tar ball에서 빌드하기로 했다.

이전 준비



빌드 환경


  • OS: Ubuntu 18.04.5 LTS
  • 빌드 툴 세트는 apt install build-esseitial devscripts 로 정리해 들어 있는 것으로 한다.
  • buildflags.conf 를 다음의 내용으로 작성하는 것을 추천합니다.

  • $HOME/.config/dpkg/buildflags.conf
    APPEND CFLAGS -march=native -pipe
    APPEND CXXFLAGS -march=native -pipe
    

    소스 코드



    링크 으로부터 소스 코드 love-0.7.2-linux-src.tar.gz 를 얻는다. 그런 다음 작업 디렉토리로 확장합니다.

    임시 빌드



    임시Configure


  • ./configure --help 를 실행하여 사용 가능한 옵션을 살펴보십시오.
  • ./configure 를 실행한다.
  • 아마 SDL이 없는 일로 화나기 때문에, 의존 패키지를 넣는다
    configure.in이나 apt show love 등의 내용을 참고로 libdevil-dev, libfreetype6-dev, liblua5.1-0-dev, libsdl1.2-dev 등을 넣는다.
  • configure가 성공할 때까지 노력한다.
    결과론이지만 ./configure --enable-luajit 하면 빠졌기 때문에 단념.

  • 임시 Make


  • 이하의 내용으로 cfg0.sh(수정전)를 작성해, 실행한다.
  • make 한다.
  • OpenGL 주위에서 컴파일 에러가 나오므로, 다음과 같이 cfg0.sh 를 수정한다.
  • ./cfg0.shmake 의 순서로 실행해, 컴파일이 통과할 때까지 노력한다.

  • cfg0.sh (수정 전)
    #!/bin/bash
    export CFLAGS="-pipe -O0"
    export CXXFLAGS="-pipe -O0"
    ./configure
    

    cfg0.sh (수정 후)
    #!/bin/bash
    export CPPFLAGS="-DGL_GLEXT_PROTOTYPES"
    export CFLAGS="-pipe -O0"
    export CXXFLAGS="-pipe -O0"
    ./configure
    

    프로덕션 빌드 + 설치


  • make clean 한다.
  • dpkg-buildflags --export > cfg1.sh 로 한다.
  • cfg1.sh의 적절한 부분에 -DGL_GLEXT_PROTOTYPES./configure --prefix=/opt/love --program-suffix=-0.7.2를 추가한다.
  • cfg1하고 make하고 ... (아래 참조)
  • ./cfg1
    make
    sudo make install
    make clean
    

    했어.



    좋은 웹페이지 즐겨찾기