OGRE 1.2.0RC1 is out, and I've written up a preliminary ebuild. Please note that the GTK config toolkit as well as the SDL platform have been deprecated in favor of GLX. This comes straight from the good folks on the OGRE forums as well as in IRC. I've removed the SDL dependencies as well as the compilation checks and options. The GTK config still works, but the CLI is lightweight and does the same thing without the increased dependency costs. The previous amd64 mask due to an incompatible libglademm/gtkmm version has been resolved upstream. Portage 2.1_pre6-r2 (default-linux/amd64/2006.0, gcc-3.4.5, glibc-2.4-r0, 2.6.15-gentoo-r5 x86_64) ================================================================= System uname: 2.6.15-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.0_pre16 dev-lang/python: 2.3.5-r2, 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -pipe -O2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=k8 -pipe -O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X a52 aac alsa apache2 avi berkdb bitmap-fonts cdparanoia cdr cli crypt ctype cups dba dbus dri dvd dvdr dvdread eds emboss encode expat fastbuild ffmpeg firefox flac foomaticdb force-cgi-redirect fortran ftp gd gif glut gnome gpm gstreamer gtk gtk2 hal howl imlib ipv6 jpeg lzw lzw-tiff mad matroska memlimit mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre pdflib perl png posix ppds python quicktime readline sdl session simplexml soap sockets spell spl ssl svg tcpd theora threads tiff tokenizer truetype truetype-fonts type1-fonts unicode usb userlocales vorbis xine xml xpm xsl xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_nvidia" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LDFLAGS, LINGUAS
Created attachment 82119 [details] dev-games/ogre-1.2.0.ebuild Note: the RC1 is hard-coded into the SRC_URI which is bad. One of you smart devs can easily correct that. Also, I've commented out the gcc 4.1 patch, the libtoolize fix and the gcc 3.4.4 flag removal, as I'm not sure if they apply to this new version of OGRE.
Created attachment 82120 [details, diff] cegui-0.4.1.patch CEGUI 0.4.1 recently changed a function prototype setItemSelecteState(CEGUI::uint, bool) to setItemSelecteState(size_t, bool). More information can be found at http://www.ogre3d.org/phpBB2/viewtopic.php?t=18348 . This patch is applied when the version of CEGUI detected is 0.4.1 or greater, and updates the affected sample demo (OceanDemo) in the Samples directory.
Created attachment 82138 [details, diff] Ebuild enhancements I submitted a diff that takes care of the RC1 in the SRC_URI (and all of the upcoming RCs as well). I also removed the "opengl" IUSE, as OpenGL support is always needed and depended on. As the flag is never evaluated within the ebuild, enabling or disabling it doesn't change anything. And USE flags are supposed to change package options, right? Please correct me if I'm wrong on this one.
(In reply to comment #3) You are indeed correct regarding the opengl USE flag. I had removed the SDL stuff earlier and forgot to remove the opengl USE flag since it's no longer optional. Thank you for spotting it!
No problem at all. I've been wondering ever since I saw OGRE ebuilds for the first time, how opengl could be an optional USE flag ...
Created attachment 82263 [details] dev-games/ogre-1.2.0_rc1.ebuild Updated ebuild with correct handling of _rcX, ./bootstrap line uncommented (whoops!) and opengl IUSE removed.
Created attachment 82264 [details] dev-games/ogre-1.2.0_rc1.ebuild Uncommented libtool fix in response to comment at http://www.ogre3d.org/phpBB2/viewtopic.php?p=134943
Thanks for your new additions. Bootstrapping fixed all of my "missing library" issues. :) Anyways, I think the bootstrap call should go in src_compile(), IMHO bootstrapping is part of the build process and only unpacking and patching should be done in src_unpack(). Might be cleaner, too, to put the libtool-patch in an external file in $FILESDIR. What's the common Gentoo policy to handle such small patches? And in my personal ebuild I added a pkg_postinst() section containing "/usr/sbin/env-update && source /etc/profile" to make the system aware of new libraries. Again, I'm not sure whether that is really necessary.
I just saw that patching the bootstrap script is not necessary, as the single occurrence of a libtoolize call already contains the --copy option ... *removing the sed line* I still would like to know, though, whether to handle such patches within the ebuild or in an external file, following the Gentoo way ... ;)
Can you please tell me why you said that SDL platform have been deprecated? I am unable to find it on the changelog and on the notes (http://www.ogre3d.org/wiki/index.php/DagonNotes). I have perfeclty compiled it on the SDL platform and it is working. I'm going to upload a patch to compile it using gcc-4.1.
Created attachment 82461 [details, diff] ogre-1.2.0_rc1-gcc41.patch
(In reply to comment #10) > Can you please tell me why you said that SDL platform have been deprecated? I > am unable to find it on the changelog and on the notes > (http://www.ogre3d.org/wiki/index.php/DagonNotes). I have perfeclty compiled it > on the SDL platform and it is working. > > I'm going to upload a patch to compile it using gcc-4.1. > It's not in the Changelog or the notes. I've never successfully compiled it on SDL (this version or any previous) and the folks at the ogre3d forums all say not to bother with SDL. What SDL platform are you using to compile it? I'll post build errors if helpful.
I never had a single problem with SDL platform. I used it since ogre < 1.0.
Created attachment 83355 [details] dev-games/ogre-1.2.0_rc1.ebuild This updated ebuild re-incorporates the SDL platform option, along with the necessary config toolkit fix. Building the SDL platform with the GTK config toolkit results in crazy screwups all around, but SDL with the CLI config toolkit works fine, as does the GLX platform with GTK/CLI toolkits. GLX with CLI is the default setup, with SDL/CLI activated with the "sdl" USE flag and GLX/GTK activated with the "gtk" USE flag. opengl is no longer an option, and is required explicitly. I've also applied the gcc 3.4 and 4.1 patches and uncommented the -fno-rtti filter again after some reading on the ogre3d forums. I have removed the "doc" USE flag and replaced it with "examples" since this more accurately describes the process of installing the demos and sample code.
Created attachment 83357 [details] dev-games/ogre-1.2.0_rc1.ebuild Whoops, I attached a semi-functional version of the new ebuild. This one should actually work! The src_compile cfgtk/platform logic has been cleaned up. My apologies for the bugzilla spam.
Created attachment 83470 [details, diff] ogre-1.2.0_rc1-gcc34.patch GCC 3.4 patch, renamed from existing 3.4 patch from old OGRE release.
I've emerged this latest ebuild on amd64 with USE="cegui cg devil examples sdl -double-precision -gtk -openexr -threads" and it all works fine.
hi :) rc2 is out
please reopen when 1.2.0 is out. thanks.
1.2.0 is out, reopening upon last instructions from Mr. Bones. I believe the ebuilds should function correctly minus the -RC stuff in ${PV}. Someone else opened an OGRE 1.2.0 version bump bug, but only included the ebuild minus the "examples" stuff, which I think is useful.
*** Bug 132740 has been marked as a duplicate of this bug. ***
No, In the ebuild of previous duplicated bug I removed the patches, the example flag since it's devious (it installs badly the examples, not only they will not be in /usr/bin, they will be without execution permission but also they're compiled in a wrong way and will try to link to files in /var/tmp/portage/.... ), and just added einfo at the end of the ebuild on how to correctly build the examples (I can make a screenshot of new HDR/bloom example or new skeletal animation ex. running on my gentoo box, if you want).
Excellent, thank you for your hard work Matteo. Please attach your corrected ebuild and we can work on getting everything straightened out. I've found that the GTK config toolkit option is no longer functional. I used to think it was SDL that didn't work, but I'll make some changes and we can work it out here. (In reply to comment #22) > No, In the ebuild of previous duplicated bug I removed the patches, > the example flag since it's devious (it installs badly the examples, not only > they will not be in /usr/bin, they will be without execution permission but > also they're compiled in a wrong way and will try to link to files in > /var/tmp/portage/.... ), and just added einfo at the end of the ebuild on how > to correctly build the examples (I can make a screenshot of new HDR/bloom > example > or new skeletal animation ex. running on my gentoo box, if you want). >
Created attachment 86724 [details] ogre-1.2.0.ebuild The procedure described at the end is the only non-broken way to install examples, tested also with YAT (a tetris in 3d you can find at http://www.ogre3d.org/phpBB2/viewtopic.php?t=6410 , at the end there's my patch to compile 1.2 with gcc-4.1), and the flags "cegui cg devil gtk openexr -double-precision -sdl -threads". SDL is reported to be broken at : http://www.ogre3d.org/phpBB2/viewtopic.php?t=18347&highlight=ebuild
Ah yes, that's my thread on the OGRE forums (I'm hamilton). I originally suspected that SDL was deprecated, when in fact it works fine. It just doesn't build in combination with the GTK config toolkit. It seems that GTK is totally unmaintained, and SDL is heading that way. As of now, GLX is the currently supported and maintained rendering system. I'm in favor of stripping the SDL and GTK options entirely, since they will eventually not work at all. What do you think? (In reply to comment #24) > Created an attachment (id=86724) [edit] > ogre-1.2.0.ebuild > > The procedure described at the end is the only non-broken way to install > examples, > tested also with YAT (a tetris in 3d you can find at > http://www.ogre3d.org/phpBB2/viewtopic.php?t=6410 , at the end there's my patch > to > compile 1.2 with gcc-4.1), and the flags "cegui cg devil gtk openexr > -double-precision -sdl -threads". > > SDL is reported to be broken at : > http://www.ogre3d.org/phpBB2/viewtopic.php?t=18347&highlight=ebuild >
I tested both examples and yat without the sdl and gtk flags, they seem to work. I have noting against, please remember to update the header line with date and your name (since you did the real work to make the ebuild).
dont bother changing $Header lines .... cvs will replace that automatically when the file is committed
I tried emerging the ogre-1.2.0.ebuild attached to this bug and the 'install' stage of the ebuild finished with the following error output: http://sh.nu/p/1756 Let me know if I should open up another bug. these are the USE flags settings: +cegui -cg +devil +double-precision -gtk -openexr -sdl* -threads
My guess is that this line is causing you trouble: " libtool: link: warning: `/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5//libstdc++.la' seems to be moved" Also, try building it without distCC, OGRE may not be distribution-friendly. (In reply to comment #28) > I tried emerging the ogre-1.2.0.ebuild attached to this bug and the 'install' > stage of the ebuild finished with the following error output: > > http://sh.nu/p/1756 > > Let me know if I should open up another bug. > > these are the USE flags settings: +cegui -cg +devil +double-precision -gtk > -openexr -sdl* -threads >
Created attachment 86995 [details] dev-games/ogre-1.2.0.ebuild It seems that CEGUI 0.4.1 works out of the box now, so the CEGUI patch has been removed, and the GCC patches are commented out pending build errors for those versions. The "sdl" and "gtk" USE flags have been removed, and the ebuild defaults to using the GLX config dialog and windowing creation. I've left the "examples" USE flag in, because it does install the compiled demos to /usr/share/doc/ogre-${PV}/Samples. The permissions aren't conducive to just running straight from the directory, but they're functional.
Please explain how do you run the examples built with examples flag (some einfo lines in the ebuild would help too)
Sure, this should help explain: cd /usr/share/doc/ogre-1.2.0/Samples/Common/bin sudo chown root:users * sudo chown root:users /usr/share/doc/ogre-1.2.0/Samples/Common/bin sudo chmod 775 * sudo nano plugins.cfg [ edit PluginFolder to read /usr/lib/OGRE ] ./Fresnel (In reply to comment #31) > Please explain how do you run the examples built with examples flag > (some einfo lines in the ebuild would help too) >
(In reply to comment #29) > My guess is that this line is causing you trouble: " > libtool: link: warning: `/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5//libstdc++.la' > seems to be moved" I'm not sure what I'm supposed to do with this. That file exists, and I have no idea where it could have been moved from. > Also, try building it without distCC, OGRE may not be distribution-friendly. > even though I have distcc enabled in make.conf there are no hosts to distribute compilation to
Created attachment 88756 [details] Updated package dependencies Updated dependencies for ogre-1.2.0 as read in the Readme.linux in the /Docs directory of the source tree. I wonder if the 'use_enable sdl sdltest' should be removed ?
(In reply to comment #34) > Created an attachment (id=88756) [edit] > Updated package dependencies > > Updated dependencies for ogre-1.2.0 as read in the Readme.linux in the /Docs > directory of the source tree. I wonder if the 'use_enable sdl sdltest' should > be removed ? > It should, I removed the sdl USE flag but missed that configure switch. I'll upload the corrected version in a minute.
Created attachment 88757 [details] dev-games/ogre-1.2.0.ebuild SDL finally scrubbed out.
(In reply to comment #36) > Created an attachment (id=88757) [edit] > dev-games/ogre-1.2.0.ebuild > > SDL finally scrubbed out. I notice that you did not take into account the updated deps for ogre-1.2.0. Don't we need those newer packages ?
Created attachment 88801 [details] dev-games/ogre-1.2.0.ebuild Thank you for checking on the updated dependencies. I've made the changes to match yours. I still have the CEGUI patch and the GCC 3.4 / 4.0 patches commented out since I'm no expert in compiler patching. I believe the CEGUI demo has been updated to work correctly with this new release.
> I still have the CEGUI patch and the GCC 3.4 / 4.0 patches > commented out since I'm no expert in compiler patching. I believe the CEGUI > demo has been updated to work correctly with this new release. The source compiled fine with gcc-3.4.4 on my machine without any patching. I don't know for CEGUI (never had the problem) nor gcc-4.0.x (don't have it on my machine). Now what is the next step to bring this new package into the portage tree ? Regards, Kevin
If you're still talking about the old "extra qualification" error of CEGUI with gcc-4.1.x, I've sent the patch upsteam weeks ago, after filling bug #126517 Other than this, the ebuild I provided in comment #24 was working fine on gcc-4.1.0.
Ok so the ebuild seems ok now ? Shall we submit it ?
Created attachment 89176 [details] dev-games/ogre-1.2.0.ebuild minor syntax changes to remove repoman errors
Created attachment 89177 [details] dev-games/ogre/ChangeLog Updated changelog
Created attachment 89179 [details] dev-games/ogre/metadata.xml Updated metadata.xml
I've tried to update as many files as I could :) following Gentoo guides. I don't know what to do next, as it seems that you need to be a Gentoo developper to commit package updates. I'm not, and I don't know who I should send the ebuild to.
You don't send it to anyone. There is already a bug report (this one) which is all that needs to be done. Also, you don't ever need to update metadata or ChangeLog entries. That's done totally on the developer side. This will get updated "when we get to it". There's nothing holding this back other than time, most likely. Besides seeing if an ebuild is agood, we also have to *test* that it is good before adding it to the tree, as ultimately, we're responsible for them. This particular ebuild has a maintainer listed, meaning it is up to that person to determine if this shuold be added as-is or if it needs modification. Either that, or it is up to him to give another developer permission to perform the work on his behalf.
Ok sorry for being a noob, but we haven't heard anything from the 'listed maintainer' for a while now. (In reply to comment #46) > You don't send it to anyone. There is already a bug report (this one) which is > all that needs to be done. Also, you don't ever need to update metadata or > ChangeLog entries. That's done totally on the developer side. > This particular ebuild has a maintainer listed, > meaning it is up to that person to determine if this shuold be added as-is or > if it needs modification. Either that, or it is up to him to give another > developer permission to perform the work on his behalf.
I do not understand why SDL platform have been deprecated? I cannot find any information about it at OGRE's web site (http://www.ogre3d.org). I successfuly emerge ogre-1.2.0 with platform changed to SDL (handly modified). And it works fine for me.
Created attachment 89246 [details] ebuild for OGRE 1.2.1 with sdl support Also ogre-1.2.1 fine compiles and works with sdl support. I return support of sdl platform to ebuild for this version...
This is in portage. Thanks for the bug report and ebuilds.
There's a problem with the ebuild. It can't compile without threads or double-precision use-flag. Due to double-precision use-flag there's a problem with a typedef defined by OGRE (typedef double Real) if defined double-precision and (typedef float Real) without double-precision. The only way to solve this issue I find is putting "#define OGRE_DOUBLE_PRECISION 1" in the SampleApp.cpp. I don't know if the ebuild need to put some extra CFLAGS in the compilation to solve this issue e.g ( -DOGRE_DOUBLE_PRECISION ). For the moment I can continue my lessons with OGRE. Thanks for all.