Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dernière version d'Aegisub (3.1 beta 2 https://github.com/Aegisub/Aegisub/releases/tag/v3.1.0-beta2) sur Crunchbang Waldorf.
- Motivation : http://blog.aegisub.org/2013/12/there-are-still-some-issues-to-sort-out.html
- Principalement l'ajout d'une fonctionnalité permettant de voir l'original d'une ligne pendant sa modification, le seul truc qui me faisait détester la version 3.0 et donc rester sur la 2.1.9.
- Notes:
- > Désinstaller : sudo make distclean, ou sudo make uninstall.
- Idéalement, je devrais utiliser checkinstall.
- > Checkinstall : http://community.linuxmint.com/tutorial/view/162
- sudo apt-get install build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev libevent-dev checkinstall
- A/Dépendances http://devel.aegisub.org/wiki/Build/Deps
- 1/ Installer wxwidgets
- Dépendances : libgtk2.0-dev, opengl.
- >OpenGL: libgl1-mesa-dev libglu1-mesa-dev ?
- http://devel.aegisub.org/wiki/Build/Ubuntu conseille de build avec --with-opengl,
- mais http://devel.aegisub.org/wiki/Build/Unix conseille STC en plus :
- --with-opengl --enable-stc
- Donc,
- $ ./configure --with-opengl --enable-stc
- # make
- # make install
- On termine avec ldconfig, commme le conseille wxwidgets à la fin de l'installation :
- # ldconfig
- Note : j'ai retiré et la version 3.0 et suis repassé à la 2.9.5 pour tester si l'installation d'Aegisub fonctionne. Mais on ne peut pas, la beta 2 d'Aegisub 3.1 requiert wxwidgets >= 3.0.0.
- $ sudo make uninstall dans le dossier de wxdidgets-2.9.5, donc.
- Entretemps, j'ai activé le dépôt testing de debian sur lequel se trouve la version 3.0.
- On va donc l'installer de là :
- para@para-clevo:~/sources/wxWidgets-2.9.5$ sudo apt-cache policy libwxgtk3.0-dev
- libwxgtk3.0-dev:
- Installed: (none)
- Candidate: 3.0.0-2
- Version table:
- 3.0.0-2 0
- 400 http://http.debian.net/debian/ testing/main i386 Packages
- $ sudo apt-get install wx-common libwxgtk3.0-dev -t testing
- (wx-common contient les dépendances de libwxgtk3.0-dev)
- Mais ça ne fonctionne pas, donc on les dégage :
- sudo apt-get purge libwxgtk3.0-0 libwxgtk3.0-dev wx-common && sudo apt-get autoremove
- On réinstalle la version 3.0.0 à partir des sources, du coup.
- para@para-clevo:~/sources/Aegisub-3.1.0-beta2/aegisub$ wx-config --libs
- -L/usr/local/lib -pthread -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_qa-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu_xml-3.0 -lwx_baseu_net-3.0 -lwx_baseu-3.0
- C'est bon, on repart compiler aegisub 3.1-beta2.
- //Optionels
- 2/Audio player
- para@para-clevo:~$ sudo apt-cache policy pulseaudio
- pulseaudio:
- Installed: 2.0-6.1
- Candidate: 2.0-6.1
- Version table:
- 4.0-6~bpo7+1 0
- 100 http://http.debian.net/debian/ wheezy-backports/main i386 Packages
- *** 2.0-6.1 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- 100 /var/lib/dpkg/status
- Il faut néanmoins les paquets de développement : libpulse-dev.
- 3/ Hunspell
- para@para-clevo:~$ sudo apt-cache policy hunspell
- hunspell:
- Installed: (none)
- Candidate: 1.3.2-4
- Version table:
- 1.3.2-4 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- J'ajoute libhunspell-dev. Note : installer le paquet dico français : hunspell-fr
- 4/ Lua
- para@para-clevo:~$ sudo apt-cache policy lua5.1
- lua5.1:
- Installed: (none)
- Candidate: 5.1.5-4
- Version table:
- 5.1.5-4 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- j'ajoute liblua5.1-dev.
- 5/ Libass
- para@para-clevo:~$ sudo apt-cache policy libass4
- libass4:
- Installed: 0.10.0-3
- Candidate: 0.10.0-3
- Version table:
- *** 0.10.0-3 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- 100 /var/lib/dpkg/status
- J'ajoute aussi libass-dev.
- 6/ FFMS2
- para@para-clevo:~$ sudo apt-cache policy libffms2-2
- libffms2-2:
- Installed: (none)
- Candidate: 2.17-1
- Version table:
- 2.17-1 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- J'ajoute libffms2-dev. (note : certaines dépendances ont été cherchées sur le dépôt multimédia)
- 7/ FFTW3
- para@para-clevo:~$ sudo apt-cache policy libfftw3-3
- libfftw3-3:
- Installed: 3.3.2-3.1
- Candidate: 3.3.2-3.1
- Version table:
- *** 3.3.2-3.1 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- 100 /var/lib/dpkg/status
- J'ajoute libfftw3-dev.
- //Requis
- 8/ Gettext
- para@para-clevo:~$ sudo apt-cache policy gettext
- gettext:
- Installed: (none)
- Candidate: 0.18.1.1-9
- Version table:
- 0.18.3-1~bpo7+1 0
- 100 http://http.debian.net/debian/ wheezy-backports/main i386 Packages
- 0.18.1.1-9 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- -> Pas besoin des backports
- 9/ Iconv
- D'après la doc, ça a l'air chiant à compiler (http://www.gnu.org/software/libiconv/).
- Heureusement, d'après la doc Debian (http://www.debian.org/doc/manuals/debian-reference/ch11.en.html),
- ça fait déjà partie de libc6.
- para@para-clevo:~$ sudo apt-cache policy libc6
- libc6:
- Installed: 2.13-38
- Candidate: 2.13-38
- Version table:
- *** 2.13-38 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- 100 /var/lib/dpkg/status
- 10/ FontConfig
- para@para-clevo:~$ sudo apt-cache policy fontconfig
- fontconfig:
- Installed: 2.9.0-7.1
- Candidate: 2.9.0-7.1
- Version table:
- *** 2.9.0-7.1 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- 100 /var/lib/dpkg/status
- 11/ FreeType2
- Automatiquement installé avec libass-dev : libfreetype6-dev.
- 12/ Icu-cu
- para@para-clevo:~$ sudo apt-cache policy libicu-dev
- libicu-dev:
- Installed: (none)
- Candidate: 4.8.1.1-12+deb7u1
- Version table:
- 4.8.1.1-12+deb7u1 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- 500 http://security.debian.org/ wheezy/updates/main i386 Packages
- 13/ libboost
- Il faut lib boost >= 1.50, or la version de libbost-all-dev sur le dépôt stable de wheezy n'en est encore qu'à 1.49. Il va donc falloir aller piocher dans les dépôts testing.
- a/ Ajouter dépôts à /etc/apt/sources.list :
- deb http://http.debian.net/debian testing main contrib non-free
- b/ Modifier le pinning des paquets dans /etc/apt/preferences. Mon fichier ressemble par exemple à ça :
- ///
- Package: *
- Pin: release a=waldorf
- Pin-Priority: 1001
- Package: *
- Pin: release a=wheezy
- Pin-Priority: 500
- Package: *
- Pin: release a=testing
- Pin-Priority: 400
- \\\
- On peut maintenant voir que apt me propose la version 1.54 de BOOST :
- para@para-clevo:~$ sudo apt-cache policy libboost-all-dev
- libboost-all-dev:
- Installed: (none)
- Candidate: 1.49.0.1
- Version table:
- 1.54.0.1 0
- 400 http://http.debian.net/debian/ testing/main i386 Packages
- 1.49.0.1 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- mais avec une plus faible priorité que stable.
- On va passer outre cette priorité en utilisant l'argument -t de apt-get :
- # apt-get install -t testing libboost-all-dev
- Mais ce n'est pas suffisant, on se retrouve avec plein d'erreur à l'installation dans le genre :
- /home/para/sources/Aegisub-3.1.0-beta2/aegisub/src/main.cpp:120: undefined reference to `boost::locale::generator::~generator()'
- D'après http://forum.aegisub.org/viewtopic.php?f=10&t=65740#p88803 , il faut compiler boost en c++11.
- Donc on dégage boost : `# apt-get purge libboost-all-dev`
- On le récupère sur http://www.boost.org/
- Ensuite:
- `$ ./bootstrap.sh
- $ ./b2 cxxflags=-std=c++11
- # ./b2 install`
- Note : Je suis repassé à la version 1.54 pour tester la compatibilité à cause de plantages pendant la compilation d'Aegisub, mais ça n'avait manifestement rien à voir avec boost, finalement. La version 1.55 devrait passer.
- B/ Aegisub
- ///
- $ ./configure
- Configure settings
- Install prefix: /usr/local
- Revision: v3.1.0-beta2
- Debug no
- CFLAGS -Wall -Wextra -Wno-unused-parameter -std=gnu99 -pipe -g -O3
- CXXFLAGS -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fno-strict-aliasing -pipe -g -std=c++11 -Wno-c++11-narrowing -O3
- CPPFLAGS
- LDFLAGS
- LIBS -lm
- Default Settings
- Audio Player: OSS
- Audio Players
- ALSA: no
- OpenAL: no
- OSS: yes
- PortAudio: no
- PulseAudio: yes
- A/V Providers
- FFMS2: yes
- Misc Packages
- Hunspell: yes
- FFTW3: yes
- \\\
- Log complet de configure : http://pastebin.com/NDdwF3bW
- Le # make fait de la grosse merde, là.
- ///
- make -C universalchardet
- make -C libaegisub
- make -C desktop
- make -C po
- make[1]: Entering directory `/home/para/sources/Aegisub-3.1.0-beta2/aegisub/universalchardet'
- make[1]: Nothing to be done for `all'.
- make[1]: Leaving directory `/home/para/sources/Aegisub-3.1.0-beta2/aegisub/universalchardet'
- make[1]: Entering directory `/home/para/sources/Aegisub-3.1.0-beta2/aegisub/desktop'
- make[1]: Nothing to be done for `all'.
- make[1]: Leaving directory `/home/para/sources/Aegisub-3.1.0-beta2/aegisub/desktop'
- make[1]: Entering directory `/home/para/sources/Aegisub-3.1.0-beta2/aegisub/po'
- make[1]: Nothing to be done for `all'.
- make[1]: Leaving directory `/home/para/sources/Aegisub-3.1.0-beta2/aegisub/po'
- make[1]: Entering directory `/home/para/sources/Aegisub-3.1.0-beta2/aegisub/libaegisub'
- g++ -MD -MP -pthread -I/usr/include -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fno-strict-aliasing -pipe -g -std=c++11 -Wno-c++11-narrowing -O3 -Iinclude -I../src -I.. -DLAGI -fPIC -Wno-variadic-macros -include lagi_pre.h -c -o common/hotkey.o common/hotkey.cpp
- g++ -MD -MP -pthread -I/usr/include -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fno-strict-aliasing -pipe -g -std=c++11 -Wno-c++11-narrowing -O3 -Iinclude -I../src -I.. -DLAGI -fPIC -Wno-variadic-macros -include lagi_pre.h -c -o common/json.o common/json.cpp
- g++ -MD -MP -pthread -I/usr/include -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fno-strict-aliasing -pipe -g -std=c++11 -Wno-c++11-narrowing -O3 -Iinclude -I../src -I.. -DLAGI -fPIC -Wno-variadic-macros -include lagi_pre.h -c -o common/kana_table.o common/kana_table.cpp
- g++ -MD -MP -pthread -I/usr/include -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fno-strict-aliasing -pipe -g -std=c++11 -Wno-c++11-narrowing -O3 -Iinclude -I../src -I.. -DLAGI -fPIC -Wno-variadic-macros -include lagi_pre.h -c -o common/karaoke_matcher.o common/karaoke_matcher.cpp
- g++ -MD -MP -pthread -I/usr/include -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fno-strict-aliasing -pipe -g -std=c++11 -Wno-c++11-narrowing -O3 -Iinclude -I../src -I.. -DLAGI -fPIC -Wno-variadic-macros -include lagi_pre.h -c -o common/keyframe.o common/keyframe.cpp
- g++ -MD -MP -pthread -I/usr/include -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fno-strict-aliasing -pipe -g -std=c++11 -Wno-c++11-narrowing -O3 -Iinclude -I../src -I.. -DLAGI -fPIC -Wno-variadic-macros -include lagi_pre.h -c -o common/log.o common/log.cpp
- make[1]: Leaving directory `/home/para/sources/Aegisub-3.1.0-beta2/aegisub/libaegisub'
- g++ -MD -MP -pthread -I/usr/include -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fno-strict-aliasing -pipe -g -std=c++11 -Wno-c++11-narrowing -O3 -Iinclude -I../src -I.. -DLAGI -fPIC -Wno-variadic-macros -include lagi_pre.h -c -o common/io.o common/io.cpp
- In file included from /usr/local/include/boost/container/allocator_traits.hpp:27:0,
- from /usr/local/include/boost/container/detail/iterators.hpp:24,
- from /usr/local/include/boost/container/list.hpp:21,
- from ./lagi_pre.h:62,
- from <command-line>:0:
- /usr/local/include/boost/intrusive/pointer_traits.hpp: In instantiation of ‘static T* boost::intrusive::pointer_traits<T*>::static_cast_from(U*) [with U = const void; T = boost::intrusive::bhtraits<boost::container::container_detail::rbtree_node<std::pair<agi::signal::detail::ConnectionToken* const, std::function<void()> >, void*>, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::default_tag, 3u>; boost::intrusive::pointer_traits<T*>::pointer = boost::intrusive::bhtraits<boost::container::container_detail::rbtree_node<std::pair<agi::signal::detail::ConnectionToken* const, std::function<void()> >, void*>, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::default_tag, 3u>*]’:
- /usr/local/include/boost/intrusive/detail/tree_node.hpp:168:94: required from ‘boost::intrusive::tree_iterator<RealValueTraits, IsConst>::const_real_value_traits_ptr boost::intrusive::tree_iterator<RealValueTraits, IsConst>::get_real_value_traits() const [with RealValueTraits = boost::intrusive::bhtraits<boost::container::container_detail::rbtree_node<std::pair<agi::signal::detail::ConnectionToken* const, std::function<void()> >, void*>, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::default_tag, 3u>; bool IsConst = false; boost::intrusive::tree_iterator<RealValueTraits, IsConst>::const_real_value_traits_ptr = const boost::intrusive::bhtraits<boost::container::container_detail::rbtree_node<std::pair<agi::signal::detail::ConnectionToken* const, std::function<void()> >, void*>, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::default_tag, 3u>*]’
- /usr/local/include/boost/intrusive/detail/tree_node.hpp:118:70: required from ‘boost::intrusive::tree_iterator<RealValueTraits, IsConst>::tree_iterator(const boost::intrusive::tree_iterator<RealValueTraits, false>&) [with RealValueTraits = boost::intrusive::bhtraits<boost::container::container_detail::rbtree_node<std::pair<agi::signal::detail::ConnectionToken* const, std::function<void()> >, void*>, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::default_tag, 3u>; bool IsConst = false]’
- /usr/local/include/boost/container/detail/iterators.hpp:760:27: required from ‘boost::container::container_detail::iterator<IIterator, IsConst>::iterator(const boost::container::container_detail::iterator<IIterator, false>&) [with IIterator = boost::intrusive::tree_iterator<boost::intrusive::bhtraits<boost::container::container_detail::rbtree_node<std::pair<agi::signal::detail::ConnectionToken* const, std::function<void()> >, void*>, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::default_tag, 3u>, false>; bool IsConst = false]’
- include/libaegisub/signal.h:279:22: required from here
- /usr/local/include/boost/intrusive/pointer_traits.hpp:245:39: error: static_cast from type ‘const void*’ to type ‘boost::intrusive::pointer_traits<boost::intrusive::bhtraits<boost::container::container_detail::rbtree_node<std::pair<agi::signal::detail::ConnectionToken* const, std::function<void()> >, void*>, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::default_tag, 3u>*>::pointer {aka boost::intrusive::bhtraits<boost::container::container_detail::rbtree_node<std::pair<agi::signal::detail::ConnectionToken* const, std::function<void()> >, void*>, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::default_tag, 3u>*}’ casts away qualifiers
- cc1plus: warning: unrecognized command line option "-Wno-c++11-narrowing" [enabled by default]
- make[1]: *** [common/hotkey.o] Error 1
- make[1]: *** Waiting for unfinished jobs....
- make[1]: Leaving directory `/home/para/sources/Aegisub-3.1.0-beta2/aegisub/libaegisub'
- make: *** [libaegisub] Error 2
- \\\
- Boost pose clairement un problème. Je vais essayer avec boost 1.54.
- D'abord, pour désinstaller boost : http://lists.boost.org/boost-users/2005/01/9444.php
- `# rm -r /usr/local/lib/libboost* && rm -r /usr/local/include/boost/`
- Ça ne fonctionne toujours pas et ça me casse les couilles.
- Pour l'instant, ça se passe bien. Aegisub ne semblait pas bien supporter `# make -j4`, malgré mes 2 cœurs physiques _hyperthreadés_. `# make` a l'air de passer.
- `# checkinstall` ne fonctionne pas.
- On se rabat donc sur `# make install`.
- Oh merde, ça marche \o/
- C/ Dictionnaires
- View > Options > Interface :
- Dictionnaries path => /usr/share/hunspell
- D/ Résultats :
- Dico OK.
- Vidéo OK.
- Audio : plante au chargement :
- Assertion 'c->callback' failed at pulsecore/socket-client.c:128, function do_call(). Aborting.
- -> essayer de réinstaller avec alsa comme moteur audio, au lieu de pulseaudio.
- ########################################
- On commence par désinstaller aegisub. Pas de script de désinstallation, donc à la main :
- `$ sudo rm -r `find /usr/ -name 'aegisub*'` && rm -r /home/para/.aegisub/`
- > Installation alsa. Alsa est déjà installé, mais ça ne suffit pas à Aegisub ; le log de ./configure indique toujours que Alsa n'a pas été troué. du coup, comment savoir quel paquet installer ?
- => En allant voir la page web du paquet aegisub : http://packages.debian.org/source/sid/aegisub
- Dans ses dépendances, on trouve
- «
- adep: libasound2-dev [linux-any]
- shared library for ALSA applications -- development files
- also a virtual package provided by liboss4-salsa-dev
- »
- => para@para-clevo:~/sources/Aegisub-3.1.0-beta2/aegisub$ sudo apt-cache policy libasound2-dev
- libasound2-dev:
- Installed: (none)
- Candidate: 1.0.25-4
- Version table:
- 1.0.27.2-3 0
- 400 http://http.debian.net/debian/ testing/main i386 Packages
- 1.0.25-4 0
- 500 http://http.debian.net/debian/ wheezy/main i386 Packages
- La version stable suffira.
- => `sudo apt-get install libasound2-dev`
- > Configure.
- Log : http://pastebin.com/xMPX5Byw , alsa est activé.
- > make && sudo make install
- > On check que tout fonctionne :
- Sous-titres OK
- Dico OK
- Vidéo OK
- Audio OK
- Polices OK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement