Re: [oi-dev] Compiler migration #2
Hi Adam, Since the PSARC archive at opensolaris.org no longer works, I've objection for the arc_url removal. More comments below. On Thu, Feb 07, 2013 at 12:51:46AM +0100, Adam Števko wrote: HI Marcel, Thanks for review. I updated the changeset. m4: - minor nit: why a change at line 41 in the Makefile? 1.26 -CONFIGURE_PREFIX = /usr/gnu 1.27 +CONFIGURE_PREFIX =/usr/gnu - Some copyright related note removal in m4.license (see the MyGCN above) - Oracle copyright removed from m4.p5m (see the MyGCN above) - pkg.description removed from m4.p5m. why? - opensolaris.arc_url removed from m4.p5m. intentional? why? - otherwise: LGTM https://hg.openindiana.org/users/xenol/oi-build/rev/a62dd54980b1 This is still unanswered: - pkg.description removed from m4.p5m. why? Otherwise: LGTM. automake: - shouldn't the automake-1.13/automake.p5m go to a separate directory? something like automake/automake.p5m. With the current implementation once we will integrate version 1.14 we will need to move this file to a new location - otherwise LGTM https://hg.openindiana.org/users/xenol/oi-build/rev/c7c3eed4d97b What changed here? The previous chset is no longer available si I cannot compare myself... I will create meta-packages/automake in the near future alongside with other packages. For now, I am leaving it as is. Sorry, I do not understand this. Please explain. Thanks. autoconf: - Basically LGTM - Oracle copyright removed from autoconf.p5m (see the MyGCN above) - is opensolaris.arc_url removal from autoconf.p5m intentional? https://hg.openindiana.org/users/xenol/oi-build/rev/e8e84559f159 Nope, it wasn't removed intentionally. I regenerated p5m file with sample-manifest and it wasn't generated, so I didn't bother to add it there. Did you generated the autoconf.p5m with LC_COLLATE=C? I think you'll get less differences... help2man: - since there is no conflict with other Solaris/illumos/OI tools I'd put this into /usr/bin/ (insteadd of /usr/gnu) - otherwise: LGTM https://hg.openindiana.org/users/xenol/oi-build/rev/3e7752f531e1 I removed 'g' prefixed version of help2man. However, I left it in /usr/gnu as it is part of the gnu userland. The rule (IIRC) is: if there is no name conflict with existing Solaris tool, put it in /usr/bin (without prefix). If there is a conflict, put it into /usr/gnu (w/o prefix) and into /usr/bin with the g-prefix. Examples: bash, gettext. Thanks. -- +---+ | Marcel Telka e-mail: mar...@telka.sk | |homepage: http://telka.sk/ | |jabber: mar...@jabber.sk | +---+ ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Hi Chris, status can be found here - https://hg.openindiana.org/users/xenol/oi-build/file/1dcbf893845c/status More or less around 60% of stuff compiles with GCC with minor changes (removing Studio related bits). Adam On Jan 28, 2013, at 2:20 AM, Christopher Chan christopher.c...@bradbury.edu.hk wrote: Just curious, is there a list of packages that need massaging to build with gcc? On Monday, January 28, 2013 07:42 AM, Adam Števko wrote: Hi guys, I have just few things to say. First of all, this thread was meant to get the code review for my set of patches and not trash talking about which version of GCC should be used. As OpenIndiana doesn't have userland fully buildable by GCC, I see no point in debating which version of GCC should be used. Once everything compiles with the version we currently have (gcc 4.4.4, not the one used for compiling illumos-gate), I will try to work on that as well. For now, the priority is to get rid of studio and have oi-build fully buildable by GCC. Does anyone think differently? Secondly, I would like to ask people to stay out of this thread if it is not directly related to the code review. If you want to discuss other topics, please create new thread on the mailing list. I mean no offense to anyone, but let's stay focused on the code review. Lastly, thanks to people who reviewed stuff. I will work on your comments tomorrow (later today) as I want to move with this stuff forward. Thanks for understanding and cooperation. Cheers, Adam On Jan 27, 2013, at 9:05 PM, Sašo Kiselkov skiselkov...@gmail.com wrote: On 01/27/2013 02:57 PM, Luca De Pandis wrote: For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). From GCC website: 3.4.3 November 4, 2004 --- (~8 years and 9 months ago) It's not relatively recent. It's paleolithic, man. I mean no offense Luca, but you really need to read what I wrote, not what you *think* I wrote: I agree with Bayard here, the difference between using GCC 4.4.4 and 4.7 is largely academic at this point. For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). So I wasn't talking about GCC 3.4.3. The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. SSE2 was introduced in 2001 and almost every CPU sold since 2003 includes them. We're talking 10+ years old CPUs. FFS, could we please move on? So, not every users are able to use that compiler/runtime. We're talking about hardware that is seriously stone-age. The questions that i asked are: 1) Since OI has two default compilers (one for illumos development and one for the rest), are there technical reasons that push back oi devs to upgrade gcc? 2) Would not it be better for all of us release OI with two compilers, one for Illumos development (4.4.4) and one for the rest (latest release)? Where are your webrevs for the new versions of GCC? Seriously people, you need to stop bickering and start contributing. I have no problem with using a newer GCC for userland - whatever, I'm do Illumos development anyway, so this discussion affects me only marginally. I'm just getting tired of the endless stream of armchair experts who will nonetheless sit with their arms folded waiting for somebody else to implement their brilliant ideas. Cheers, -- Saso ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev smime.p7s Description: S/MIME cryptographic signature ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Thanks On Friday, February 01, 2013 03:36 AM, Adam S(tevko wrote: Hi Chris, status can be found here - https://hg.openindiana.org/users/xenol/oi-build/file/1dcbf893845c/status More or less around 60% of stuff compiles with GCC with minor changes (removing Studio related bits). Adam On Jan 28, 2013, at 2:20 AM, Christopher Chan christopher.c...@bradbury.edu.hk mailto:christopher.c...@bradbury.edu.hk wrote: Just curious, is there a list of packages that need massaging to build with gcc? On Monday, January 28, 2013 07:42 AM, Adam S(tevko wrote: Hi guys, I have just few things to say. First of all, this thread was meant to get the code review for my set of patches and not trash talking about which version of GCC should be used. As OpenIndiana doesn't have userland fully buildable by GCC, I see no point in debating which version of GCC should be used. Once everything compiles with the version we currently have (gcc 4.4.4, not the one used for compiling illumos-gate), I will try to work on that as well. For now, the priority is to get rid of studio and have oi-build fully buildable by GCC. Does anyone think differently? Secondly, I would like to ask people to stay out of this thread if it is not directly related to the code review. If you want to discuss other topics, please create new thread on the mailing list. I mean no offense to anyone, but let's stay focused on the code review. Lastly, thanks to people who reviewed stuff. I will work on your comments tomorrow (later today) as I want to move with this stuff forward. Thanks for understanding and cooperation. Cheers, Adam On Jan 27, 2013, at 9:05 PM, Sas(o Kiselkovskiselkov...@gmail.com wrote: On 01/27/2013 02:57 PM, Luca De Pandis wrote: For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). From GCC website: 3.4.3 November 4, 2004 --- (~8 years and 9 months ago) It's not relatively recent. It's paleolithic, man. I mean no offense Luca, but you really need to read what I wrote, not what you *think* I wrote: I agree with Bayard here, the difference between using GCC 4.4.4 and 4.7 is largely academic at this point. For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). So I wasn't talking about GCC 3.4.3. The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. SSE2 was introduced in 2001 and almost every CPU sold since 2003 includes them. We're talking 10+ years old CPUs. FFS, could we please move on? So, not every users are able to use that compiler/runtime. We're talking about hardware that is seriously stone-age. The questions that i asked are: 1) Since OI has two default compilers (one for illumos development and one for the rest), are there technical reasons that push back oi devs to upgrade gcc? 2) Would not it be better for all of us release OI with two compilers, one for Illumos development (4.4.4) and one for the rest (latest release)? Where are your webrevs for the new versions of GCC? Seriously people, you need to stop bickering and start contributing. I have no problem with using a newer GCC for userland - whatever, I'm do Illumos development anyway, so this discussion affects me only marginally. I'm just getting tired of the endless stream of armchair experts who will nonetheless sit with their arms folded waiting for somebody else to implement their brilliant ideas. Cheers, -- Saso ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org mailto:oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
On 01/27/2013 08:05 AM, Bayard Bell wrote: Folks, what we're talking about here is migrating from Studio to gcc on a version we already have. Updating to the latest and greatest GCC can happen subsequent to that. OI needs people who contribute code a lot more than it needs people with strong opinions about what someone else should do, so I take Adam to be owed code review or coded alternatives more than anything else. I, for one, will respond to the CR request within the next few days. I agree with Bayard here, the difference between using GCC 4.4.4 and 4.7 is largely academic at this point. For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). All those who wish to split hairs on what minor revision of the compiler should be used, please contribute packages for the relevant compiler of your choice before going on to recommend its use. Talk is cheap, let's see some work. Cheers, -- Saso ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). From GCC website: 3.4.3 November 4, 2004 --- (~8 years and 9 months ago) It's not relatively recent. It's paleolithic, man. The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. So, not every users are able to use that compiler/runtime. The questions that i asked are: 1) Since OI has two default compilers (one for illumos development and one for the rest), are there technical reasons that push back oi devs to upgrade gcc? 2) Would not it be better for all of us release OI with two compilers, one for Illumos development (4.4.4) and one for the rest (latest release)? Best regards, Luca De Pandis ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
All good points. Just want to chime in and say that for userland C code development, gcc3 is adequate. I don't think anyone will see some huge, practical benefit from a bleeding edge C compiler. For C++11 development, it seems that there is no choice but use the latest and greatest. It's a shame that major apps are written in C++ and not C (like firefox). Although I do have a question. If gcc3 is deemed more desirable than gcc4 because it generates code that can run on i386, and isn't specialized, then why did the Illumos engineers switch the kernel compiler to gcc4 from sunstudio, and not to gcc3 from sunstudio. Thanks. On Sun, Jan 27, 2013 at 9:10 AM, Jim Klimov jimkli...@cos.ru wrote: On 2013-01-26 20:57, Bob Friesenhahn wrote: GCC 4.4 does not produce code for modern CPUs whereas GCC is continually enhanced to be able to produce code which targets modern CPUs. And in terms of prepackaged generic distribution that works on i386 and above, how can targeting of modern CPUs be a useful bonus and not a drawback? This was stressed by Luca's question: The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. So, not every users are able to use that compiler/runtime. I do know that there are solutions to my questions, and a couple of months ago we've discussed them (i.e. prebuilt HW-specific libraries lofs-mounted over a common filename, as is libc.so; or usage of UBE unified binary executables). I just wanted to raise this concern - that newest is not always the best when you deal with such heterogenous environments. I am for the optimized code running on machines and using their CPUs in the best possible manner, but this should be specially catered for by the distro - so that these newest CPUs aren't the only ones capable of running this distro ;) My 2c, //Jim Klimov ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Adam, Notes below in (): autoconf: https://hg.openindiana.org/users/xenol/oi-build/rev/2bcc9f5561c6 (good) help2man: https://hg.openindiana.org/users/xenol/oi-build/rev/1dcbf893845c (good) m4: https://hg.openindiana.org/users/xenol/oi-build/rev/c4d08e3efd26 (good) For your further team feedback and review: automake: https://hg.openindiana.org/users/xenol/oi-build/rev/72207fade556 (good, but update to 1.13.1) libtorrent: https://hg.openindiana.org/users/xenol/oi-build/file/95915ef8b395/components/libtorrent/Makefile (good, but update to 0.13.3) python: https://hg.openindiana.org/users/xenol/oi-build/file/95915ef8b395/components/python/python26/Makefile (good, but update to 2.6.8) quagga: https://hg.openindiana.org/users/xenol/oi-build/file/95915ef8b395/components/quagga/Makefile (good, but update to 0.99.21) readline: https://hg.openindiana.org/users/xenol/oi-build/file/95915ef8b395/components/readline/Makefile (good, but update to 6.2) rtorrent: https://hg.openindiana.org/users/xenol/oi-build/file/95915ef8b395/components/rtorrent/Makefile (good, but update to 0.9.3) Good work overall... Thanks, Ken Mays From: Adam Števko adam.ste...@gmail.com To: OpenIndiana Developer mailing list oi-dev@openindiana.org Sent: Tuesday, January 22, 2013 4:00 PM Subject: [oi-dev] Compiler migration #2 Hi guys, I am continuing on completing studio - gcc compiler migration. As this is something, which will take a century to complete, I have come to a conclusion that I will directly update stuff and make sure it is buildable by gcc44. At the moment, I have upgrade build-related GNU stuff: m4, automaker, autoconf and some software, which I didn't commit, but builds with gcc44 cleanly. I would like review for these: m4: https://hg.openindiana.org/users/xenol/oi-build/rev/c4d08e3efd26 automake: https://hg.openindiana.org/users/xenol/oi-build/rev/72207fade556 autoconf: https://hg.openindiana.org/users/xenol/oi-build/rev/2bcc9f5561c6 help2man: https://hg.openindiana.org/users/xenol/oi-build/rev/1dcbf893845c python, quagga, readline, rtorrent: https://hg.openindiana.org/users/xenol/oi-build/rev/95915ef8b395 I will push libtool update in the near future. I am sorry that I have everything in one repository, but this way it is more comfortable for me. Thanks for understanding. Cheers, Adam ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
On Sun, 27 Jan 2013, Luca De Pandis wrote: For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). From GCC website: 3.4.3 November 4, 2004 --- (~8 years and 9 months ago) It's not relatively recent. It's paleolithic, man. The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. SSE2 appeared with the Pentium 4 in 2001. It is not likely that OI users will be encountering CPUs which don't support SSE2. Besides that, in Illumos-list discussions I have heard mention that the Illumos kernel requires SSE2. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
On 01/27/13 07:10 AM, Jim Klimov wrote: On 2013-01-26 20:57, Bob Friesenhahn wrote: GCC 4.4 does not produce code for modern CPUs whereas GCC is continually enhanced to be able to produce code which targets modern CPUs. And in terms of prepackaged generic distribution that works on i386 and above, You're not working on one of those. The OpenSolaris/illumos kernel has no support for i386, i486 or early Pentiums (I don't remember exactly where the cutoff for support was in the OpenSolaris code base at the time of the final release - it's much easier to remember in Solaris 11 where it's simply amd64 as the minimum to boot). uname still reports i386 for backwards compatibility, and because you can still run i386 binaries, even if you can't boot on an i386 processor. -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Hello, This actually should forego another thread, but anyhow: For overall 'general purpose' usage, a 'patched' GCC 4.7.2 version is requested. All interim releases of GCC =4.4.4 can build Illumos-gate - if properly patched. RFE: Patch and update SFEgcc to GCC 4.7.2, for a unified C/C++ compiler effort for 'all' https://hg.openindiana.org/upstream -based building efforts and FOSS-based porting projects. ~ Ken Mays From: Nick Zivkovic zivkovic.n...@gmail.com To: OpenIndiana Developer mailing list oi-dev@openindiana.org Sent: Sunday, January 27, 2013 10:24 AM Subject: Re: [oi-dev] Compiler migration #2 All good points. Just want to chime in and say that for userland C code development, gcc3 is adequate. I don't think anyone will see some huge, practical benefit from a bleeding edge C compiler. For C++11 development, it seems that there is no choice but use the latest and greatest. It's a shame that major apps are written in C++ and not C (like firefox). Although I do have a question. If gcc3 is deemed more desirable than gcc4 because it generates code that can run on i386, and isn't specialized, then why did the Illumos engineers switch the kernel compiler to gcc4 from sunstudio, and not to gcc3 from sunstudio. Thanks. On Sun, Jan 27, 2013 at 9:10 AM, Jim Klimov jimkli...@cos.ru wrote: On 2013-01-26 20:57, Bob Friesenhahn wrote: GCC 4.4 does not produce code for modern CPUs whereas GCC is continually enhanced to be able to produce code which targets modern CPUs. And in terms of prepackaged generic distribution that works on i386 and above, how can targeting of modern CPUs be a useful bonus and not a drawback? This was stressed by Luca's question: The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. So, not every users are able to use that compiler/runtime. I do know that there are solutions to my questions, and a couple of months ago we've discussed them (i.e. prebuilt HW-specific libraries lofs-mounted over a common filename, as is libc.so; or usage of UBE unified binary executables). I just wanted to raise this concern - that newest is not always the best when you deal with such heterogenous environments. I am for the optimized code running on machines and using their CPUs in the best possible manner, but this should be specially catered for by the distro - so that these newest CPUs aren't the only ones capable of running this distro ;) My 2c, //Jim Klimov ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
That's not exactly true. It appeared in 2001 on Intel CPUs, but most AMD i686 CPUs were not SSE2- capable. E.g., my old PC was powered by an AMD Athlon XP 2400+ ~2.00 GHz and it not supported SSE2 instruction set. So, SFE and SFE-encumbered repository was not usable on my machine. Now i have an Intel Sandy Bridge...so, that problem for me no more exists. But, as Jim Klimov said, OI could be used also on older machines (as home server or as desktop, with fluxbox or other wm/de). So, have a not fully functional compiler is a huge problem.* In my experience, Illumos and OI didn't require SSE2. In fact, i used without any problem all packages from openindiana.org repository. * Actually, the very main problem of sfe repository is not the compiler, but the sfe gmp library, which was compiled with native machine flags. Best regards, Luca De Pandis In data domenica 27 gennaio 2013 10:19:10, Bob Friesenhahn ha scritto: SSE2 appeared with the Pentium 4 in 2001. It is not likely that OI users will be encountering CPUs which don't support SSE2. Besides that, in Illumos-list discussions I have heard mention that the Illumos kernel requires SSE2. Bob ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Adam, Tks for your hard work here. Have not yet had an oppty to review specifics, but... During our last threaten-to-publish-a-repo episode, I'd put some work into these build tools as well. Specifically, was in extensive dialog with the authors to remediate various errors from automake test suites. Believe I put up the submission - on our issues list(?) - which included patches. In addition, in another email/submission to the list, I'd referenced results of these tests - for virtually everything in oi-build at that point. I think we should be trying to use at least the best parts(?) of our earlier attempts at process in order to ease the way forward - are we using the issues list any more? Specifically, I'd done a lot of work on patching and packaging automake - these were virtually ready-to-go at that point; may be due a version bump by now. I'd like that work to not be lost now. I also feel that we should be sticking with Rich Lowe's Illumos-specific bump to gcc; we have to get through the growing pains of figuring out how best to make it all 'hang together'. From there, the version bump to newer gccs should be much easier. (Glad to see there is a core group of us here still quite interested in OI's future...) Regards, Lou Picciano - Original Message - From: adam stevko adam.ste...@gmail.com To: OpenIndiana Developer mailing list oi-dev@openindiana.org Sent: Sat, 26 Jan 2013 19:03:46 - (UTC) Subject: Re: [oi-dev] Compiler migration #2 Bumping for reviews. AdamOn Saturday, 26 January 2013 at 17:14, Gordon Ross wrote:I'm pretty sure some distros would like the consistency ofusing the same gcc version the OS uses. (Just for theconvenience. I know they don't need to be the same.) Gordon On Sat, Jan 26, 2013 at 7:59 AM, Adam Števko adam.ste...@gmail.com wrote:Hi Peter, On Jan 26, 2013, at 1:01 PM, Peter Tribble peter.trib...@gmail.com wrote: Adam, Just one question - why gcc44? In other words, why not jump straightto gcc 4.7?Getting new compiler into oi-build would be nice, but it doesn't solve the problem with migrating stuff away from Sun Studio. Once, we are sure, that everything is buildable by GCC 4.4 (which we have already packaged), I have no doubt that transitioning to newer GCC painless. Correct me if I am wrong. Yes, I know that Illumos has 4.4.4, but that's a custom versionspecific to building Illumos. I think SmartOS has gone to 4.7,and for Tribblix I went straight to 4.7.2.As I said, I am using GCC 4.4 because it is available. Cheers, Adam ---Peter Tribblehttp://www.petertribble.co.uk/ - http://ptribble.blogspot.com/ ___oi-dev mailing listoi-dev@openindiana.orghttp://openindiana.org/mailman/listinfo/oi-dev ___oi-dev mailing listoi-dev@openindiana.orghttp://openindiana.org/mailman/listinfo/oi-dev -- Gordon Ross g...@nexenta.comNexenta Systems, Inc. www.nexenta.comEnterprise class storage for everyone ___oi-dev mailing listoi-dev@openindiana.orghttp://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Hi Adam, My general copyright note (MyGCN): Since IANAL, I am not sure whether it is okay to remove previous Oracle copyrights from some files. I personally would leave the copyrights there, just to be safe. From: Adam Števko adam.ste...@gmail.com To: OpenIndiana Developer mailing list oi-dev@openindiana.org Sent: Tuesday, January 22, 2013 4:00 PM Subject: [oi-dev] Compiler migration #2 Hi guys, I am continuing on completing studio - gcc compiler migration. As this is something, which will take a century to complete, I have come to a conclusion that I will directly update stuff and make sure it is buildable by gcc44. At the moment, I have upgrade build-related GNU stuff: m4, automaker, autoconf and some software, which I didn't commit, but builds with gcc44 cleanly. I would like review for these: m4: https://hg.openindiana.org/users/xenol/oi-build/rev/c4d08e3efd26 m4: - minor nit: why a change at line 41 in the Makefile? 1.26 -CONFIGURE_PREFIX =/usr/gnu 1.27 +CONFIGURE_PREFIX = /usr/gnu - Some copyright related note removal in m4.license (see the MyGCN above) - Oracle copyright removed from m4.p5m (see the MyGCN above) - pkg.description removed from m4.p5m. why? - opensolaris.arc_url removed from m4.p5m. intentional? why? - otherwise: LGTM automake: https://hg.openindiana.org/users/xenol/oi-build/rev/72207fade556 automake: - shouldn't the automake-1.13/automake.p5m go to a separate directory? something like automake/automake.p5m. With the current implementation once we will integrate version 1.14 we will need to move this file to a new location - otherwise LGTM autoconf: https://hg.openindiana.org/users/xenol/oi-build/rev/2bcc9f5561c6 autoconf: - Basically LGTM - Oracle copyright removed from autoconf.p5m (see the MyGCN above) - is opensolaris.arc_url removal from autoconf.p5m intentional? help2man: https://hg.openindiana.org/users/xenol/oi-build/rev/1dcbf893845c help2man: - since there is no conflict with other Solaris/illumos/OI tools I'd put this into /usr/bin/ (insteadd of /usr/gnu) - otherwise: LGTM python, quagga, readline, rtorrent: https://hg.openindiana.org/users/xenol/oi-build/rev/95915ef8b395 python, quagga, readline, rtorrent: - LGTM I will push libtool update in the near future. I am sorry that I have everything in one repository, but this way it is more comfortable for me. Thanks for understanding. Thanks. -- +---+ | Marcel Telka e-mail: mar...@telka.sk | |homepage: http://telka.sk/ | |jabber: mar...@jabber.sk | +---+ ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
On Sun, Jan 27, 2013 at 02:57:28PM +0100, Luca De Pandis wrote: [...] The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. So, not every users are able to use that compiler/runtime. If that is strongly needed, the SFE project could try to add support to the gmp lib for older CPUs. BTW: with packages in SFE, you are always free to recompile the packages with different switches. Everything is open and done in a way that enables all users to recompile. The spec-files used in OI-SFE are kept in sync as good as possible between the SFE svn repo and the repository copies used for OI-SFE. About which compiler version to use. SFE follows the path to use its own gcc copy (4.6.3 currently) and tries to stay away from gcc runtime libraries the OS provides. That way the OS can update the compiler almost independently from SFE and vice versa. That is an advantage in large projects where you have less chance to synchronize everything. In SFE we've seen several times that some of the packages need a more fresh version of the compiler and some need the older gcc. In practise most of the packages work with all compiler versions, but we've seen that it helps to actually use both compilers in parallel for a while. Even within SFE we can use gcc 4.5, 4.6.3, 4.7.x in parallel and the componenty compiled find the right runtime libs. If one copies the SFE gcc implementation, then one would design the compiler packages in a way so that different versions can be used at the same time. Just compile your actual work with the gcc version that works and save time+effort and not burn days and weeks on patching sources. Alignment to a single compiler version can be done later once you have time or the source code in question got better. For gcc 4.4.4 that one would compile the core OS, for stuff on top the other sub-projects would use a more fresh compiler version, preferably have say 4.6.3 at hand and latest+greatest 4.7.x for selected C++ stuff. Thomas ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
On 01/27/2013 02:57 PM, Luca De Pandis wrote: For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). From GCC website: 3.4.3 November 4, 2004 --- (~8 years and 9 months ago) It's not relatively recent. It's paleolithic, man. I mean no offense Luca, but you really need to read what I wrote, not what you *think* I wrote: I agree with Bayard here, the difference between using GCC 4.4.4 and 4.7 is largely academic at this point. For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). So I wasn't talking about GCC 3.4.3. The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. SSE2 was introduced in 2001 and almost every CPU sold since 2003 includes them. We're talking 10+ years old CPUs. FFS, could we please move on? So, not every users are able to use that compiler/runtime. We're talking about hardware that is seriously stone-age. The questions that i asked are: 1) Since OI has two default compilers (one for illumos development and one for the rest), are there technical reasons that push back oi devs to upgrade gcc? 2) Would not it be better for all of us release OI with two compilers, one for Illumos development (4.4.4) and one for the rest (latest release)? Where are your webrevs for the new versions of GCC? Seriously people, you need to stop bickering and start contributing. I have no problem with using a newer GCC for userland - whatever, I'm do Illumos development anyway, so this discussion affects me only marginally. I'm just getting tired of the endless stream of armchair experts who will nonetheless sit with their arms folded waiting for somebody else to implement their brilliant ideas. Cheers, -- Saso ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Hi guys, I have just few things to say. First of all, this thread was meant to get the code review for my set of patches and not trash talking about which version of GCC should be used. As OpenIndiana doesn't have userland fully buildable by GCC, I see no point in debating which version of GCC should be used. Once everything compiles with the version we currently have (gcc 4.4.4, not the one used for compiling illumos-gate), I will try to work on that as well. For now, the priority is to get rid of studio and have oi-build fully buildable by GCC. Does anyone think differently? Secondly, I would like to ask people to stay out of this thread if it is not directly related to the code review. If you want to discuss other topics, please create new thread on the mailing list. I mean no offense to anyone, but let's stay focused on the code review. Lastly, thanks to people who reviewed stuff. I will work on your comments tomorrow (later today) as I want to move with this stuff forward. Thanks for understanding and cooperation. Cheers, Adam On Jan 27, 2013, at 9:05 PM, Sašo Kiselkov skiselkov...@gmail.com wrote: On 01/27/2013 02:57 PM, Luca De Pandis wrote: For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). From GCC website: 3.4.3 November 4, 2004 --- (~8 years and 9 months ago) It's not relatively recent. It's paleolithic, man. I mean no offense Luca, but you really need to read what I wrote, not what you *think* I wrote: I agree with Bayard here, the difference between using GCC 4.4.4 and 4.7 is largely academic at this point. For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). So I wasn't talking about GCC 3.4.3. The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. SSE2 was introduced in 2001 and almost every CPU sold since 2003 includes them. We're talking 10+ years old CPUs. FFS, could we please move on? So, not every users are able to use that compiler/runtime. We're talking about hardware that is seriously stone-age. The questions that i asked are: 1) Since OI has two default compilers (one for illumos development and one for the rest), are there technical reasons that push back oi devs to upgrade gcc? 2) Would not it be better for all of us release OI with two compilers, one for Illumos development (4.4.4) and one for the rest (latest release)? Where are your webrevs for the new versions of GCC? Seriously people, you need to stop bickering and start contributing. I have no problem with using a newer GCC for userland - whatever, I'm do Illumos development anyway, so this discussion affects me only marginally. I'm just getting tired of the endless stream of armchair experts who will nonetheless sit with their arms folded waiting for somebody else to implement their brilliant ideas. Cheers, -- Saso ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev smime.p7s Description: S/MIME cryptographic signature ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Just curious, is there a list of packages that need massaging to build with gcc? On Monday, January 28, 2013 07:42 AM, Adam S(tevko wrote: Hi guys, I have just few things to say. First of all, this thread was meant to get the code review for my set of patches and not trash talking about which version of GCC should be used. As OpenIndiana doesn't have userland fully buildable by GCC, I see no point in debating which version of GCC should be used. Once everything compiles with the version we currently have (gcc 4.4.4, not the one used for compiling illumos-gate), I will try to work on that as well. For now, the priority is to get rid of studio and have oi-build fully buildable by GCC. Does anyone think differently? Secondly, I would like to ask people to stay out of this thread if it is not directly related to the code review. If you want to discuss other topics, please create new thread on the mailing list. I mean no offense to anyone, but let's stay focused on the code review. Lastly, thanks to people who reviewed stuff. I will work on your comments tomorrow (later today) as I want to move with this stuff forward. Thanks for understanding and cooperation. Cheers, Adam On Jan 27, 2013, at 9:05 PM, Sas(o Kiselkov skiselkov...@gmail.com wrote: On 01/27/2013 02:57 PM, Luca De Pandis wrote: For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). From GCC website: 3.4.3 November 4, 2004 --- (~8 years and 9 months ago) It's not relatively recent. It's paleolithic, man. I mean no offense Luca, but you really need to read what I wrote, not what you *think* I wrote: I agree with Bayard here, the difference between using GCC 4.4.4 and 4.7 is largely academic at this point. For practical purposes, the important thing is to get OI repos to build with *any* relatively recent free compiler (be it GCC or clang). So I wasn't talking about GCC 3.4.3. The only possible workarounds are build a recent gcc version yourself or use SFEgcc package, but the last option is not a viable alternative if your CPU is not SSE2-capable. SSE2 was introduced in 2001 and almost every CPU sold since 2003 includes them. We're talking 10+ years old CPUs. FFS, could we please move on? So, not every users are able to use that compiler/runtime. We're talking about hardware that is seriously stone-age. The questions that i asked are: 1) Since OI has two default compilers (one for illumos development and one for the rest), are there technical reasons that push back oi devs to upgrade gcc? 2) Would not it be better for all of us release OI with two compilers, one for Illumos development (4.4.4) and one for the rest (latest release)? Where are your webrevs for the new versions of GCC? Seriously people, you need to stop bickering and start contributing. I have no problem with using a newer GCC for userland - whatever, I'm do Illumos development anyway, so this discussion affects me only marginally. I'm just getting tired of the endless stream of armchair experts who will nonetheless sit with their arms folded waiting for somebody else to implement their brilliant ideas. Cheers, -- Saso ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Hi Peter, On Jan 26, 2013, at 1:01 PM, Peter Tribble peter.trib...@gmail.com wrote: Adam, Just one question - why gcc44? In other words, why not jump straight to gcc 4.7? Getting new compiler into oi-build would be nice, but it doesn't solve the problem with migrating stuff away from Sun Studio. Once, we are sure, that everything is buildable by GCC 4.4 (which we have already packaged), I have no doubt that transitioning to newer GCC painless. Correct me if I am wrong. Yes, I know that Illumos has 4.4.4, but that's a custom version specific to building Illumos. I think SmartOS has gone to 4.7, and for Tribblix I went straight to 4.7.2. As I said, I am using GCC 4.4 because it is available. Cheers, Adam -- -Peter Tribble http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/ ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev smime.p7s Description: S/MIME cryptographic signature ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
I'm pretty sure some distros would like the consistency of using the same gcc version the OS uses. (Just for the convenience. I know they don't need to be the same.) Gordon On Sat, Jan 26, 2013 at 7:59 AM, Adam Števko adam.ste...@gmail.com wrote: Hi Peter, On Jan 26, 2013, at 1:01 PM, Peter Tribble peter.trib...@gmail.com wrote: Adam, Just one question - why gcc44? In other words, why not jump straight to gcc 4.7? Getting new compiler into oi-build would be nice, but it doesn't solve the problem with migrating stuff away from Sun Studio. Once, we are sure, that everything is buildable by GCC 4.4 (which we have already packaged), I have no doubt that transitioning to newer GCC painless. Correct me if I am wrong. Yes, I know that Illumos has 4.4.4, but that's a custom version specific to building Illumos. I think SmartOS has gone to 4.7, and for Tribblix I went straight to 4.7.2. As I said, I am using GCC 4.4 because it is available. Cheers, Adam -- -Peter Tribble http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/ ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev -- Gordon Ross g...@nexenta.com Nexenta Systems, Inc. www.nexenta.com Enterprise class storage for everyone ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Hi Adam, What exactly should be reviewed here? I see no url below... Thanks. On Sat, Jan 26, 2013 at 08:03:46PM +0100, adam.ste...@gmail.com wrote: Bumping for reviews. Adam On Saturday, 26 January 2013 at 17:14, Gordon Ross wrote: I'm pretty sure some distros would like the consistency of using the same gcc version the OS uses. (Just for the convenience. I know they don't need to be the same.) Gordon On Sat, Jan 26, 2013 at 7:59 AM, Adam Števko adam.ste...@gmail.com wrote: Hi Peter, On Jan 26, 2013, at 1:01 PM, Peter Tribble peter.trib...@gmail.com wrote: Adam, Just one question - why gcc44? In other words, why not jump straight to gcc 4.7? Getting new compiler into oi-build would be nice, but it doesn't solve the problem with migrating stuff away from Sun Studio. Once, we are sure, that everything is buildable by GCC 4.4 (which we have already packaged), I have no doubt that transitioning to newer GCC painless. Correct me if I am wrong. Yes, I know that Illumos has 4.4.4, but that's a custom version specific to building Illumos. I think SmartOS has gone to 4.7, and for Tribblix I went straight to 4.7.2. As I said, I am using GCC 4.4 because it is available. Cheers, Adam -- -Peter Tribble http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/ -- +---+ | Marcel Telka e-mail: mar...@telka.sk | |homepage: http://telka.sk/ | |jabber: mar...@jabber.sk | +---+ ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
On Sat, 26 Jan 2013, Peter Tribble wrote: Adam, I am continuing on completing studio - gcc compiler migration. As this is something, which will take a century to complete, I have come to a conclusion that I will directly update stuff and make sure it is buildable by gcc44. Just one question - why gcc44? In other words, why not jump straight to gcc 4.7? I agree that there is no (or should be no) technical reason to prefer 4.4.4 (4.4.0 was released on April 21, 2009) for user-space code outside of core Illumos. In fact, there is good reason to keep up with GCC major releases and use a similar GCC for building user-space code as popular stable Linux distributions use. This would ease porting of Linux applications which are typically developed/tested with the GCC provided with Linux. On open-source development lists, I am seeing considerable interest from developers to use the latest C and C++ standards which implies that the code they write will prefer compilers implementing those standards. The main concern is with C++ ABIs, which may require that libraries/applications depending on a particular C++ standard library and ABI be updated in a consistent way on a periodic basis (e.g. every two years). If there is actual instability (yet to be demonstrated), then this has consequences for independently packaged software. Illumos uses (patched) 4.4.4 because that is what there was available developer time to use and the kernel has special needs. GCC 4.4 does not produce code for modern CPUs whereas GCC is continually enhanced to be able to produce code which targets modern CPUs. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
On 01/26/13 11:57 AM, Bob Friesenhahn wrote: The main concern is with C++ ABIs, which may require that libraries/applications depending on a particular C++ standard library and ABI be updated in a consistent way on a periodic basis (e.g. every two years). If there is actual instability (yet to be demonstrated), then this has consequences for independently packaged software. And apparently, that programs are compiled with the same flags for which C++ standard to follow as the C++ libraries they link with: http://gcc.gnu.org/wiki/Cxx11AbiCompatibility http://www.mentby.com/Group/gcc-discuss/c98c11-abi-compatibility-for-gcc-47.html (Just saw this today, don't really know much more about it, but figured it was worth passing on as you make your plans.) -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
I think it would be better to use, for now, a specific version of GCC for Illumos development (4.4.4) and a later version of that for userland tools and other stuff. Basically, it's the same concept that Illumos and OI have now: GCC 4.4.4 for the kernel and GCC 3.x for the rest. But, instead of use a very very obsolete and (in most cases) useless version (some applications need a recent version of the compiler, i.e. aMule, GNUstep etc.), we could use one of the latest releases. Solaris 11 ships with GCC 4.5 compiler/runtime in their publisher. So, i think it's time to going forward also for Illumos and related distributions. Maintaining an obsolete version of the compiler is not a good thing. Best regards, Luca De Pandis In data sabato 26 gennaio 2013 13:59:40, Adam Števko ha scritto: Hi Peter, On Jan 26, 2013, at 1:01 PM, Peter Tribble peter.trib...@gmail.com wrote: Adam, Just one question - why gcc44? In other words, why not jump straight to gcc 4.7? Getting new compiler into oi-build would be nice, but it doesn't solve the problem with migrating stuff away from Sun Studio. Once, we are sure, that everything is buildable by GCC 4.4 (which we have already packaged), I have no doubt that transitioning to newer GCC painless. Correct me if I am wrong. Yes, I know that Illumos has 4.4.4, but that's a custom version specific to building Illumos. I think SmartOS has gone to 4.7, and for Tribblix I went straight to 4.7.2. As I said, I am using GCC 4.4 because it is available. Cheers, Adam ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
Re: [oi-dev] Compiler migration #2
Folks, what we're talking about here is migrating from Studio to gcc on a version we already have. Updating to the latest and greatest GCC can happen subsequent to that. OI needs people who contribute code a lot more than it needs people with strong opinions about what someone else should do, so I take Adam to be owed code review or coded alternatives more than anything else. I, for one, will respond to the CR request within the next few days. Cheers, Bayard On 26 Jan 2013, at 12:31, Luca De Pandis lucadepan...@gmail.com wrote: I think it would be better to use, for now, a specific version of GCC for Illumos development (4.4.4) and a later version of that for userland tools and other stuff. Basically, it's the same concept that Illumos and OI have now: GCC 4.4.4 for the kernel and GCC 3.x for the rest. But, instead of use a very very obsolete and (in most cases) useless version (some applications need a recent version of the compiler, i.e. aMule, GNUstep etc.), we could use one of the latest releases. Solaris 11 ships with GCC 4.5 compiler/runtime in their publisher. So, i think it's time to going forward also for Illumos and related distributions. Maintaining an obsolete version of the compiler is not a good thing. Best regards, Luca De Pandis In data sabato 26 gennaio 2013 13:59:40, Adam Števko ha scritto: Hi Peter, On Jan 26, 2013, at 1:01 PM, Peter Tribble peter.trib...@gmail.com wrote: Adam, Just one question - why gcc44? In other words, why not jump straight to gcc 4.7? Getting new compiler into oi-build would be nice, but it doesn't solve the problem with migrating stuff away from Sun Studio. Once, we are sure, that everything is buildable by GCC 4.4 (which we have already packaged), I have no doubt that transitioning to newer GCC painless. Correct me if I am wrong. Yes, I know that Illumos has 4.4.4, but that's a custom version specific to building Illumos. I think SmartOS has gone to 4.7, and for Tribblix I went straight to 4.7.2. As I said, I am using GCC 4.4 because it is available. Cheers, Adam ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev
[oi-dev] Compiler migration #2
Hi guys, I am continuing on completing studio - gcc compiler migration. As this is something, which will take a century to complete, I have come to a conclusion that I will directly update stuff and make sure it is buildable by gcc44. At the moment, I have upgrade build-related GNU stuff: m4, automaker, autoconf and some software, which I didn't commit, but builds with gcc44 cleanly. I would like review for these: m4: https://hg.openindiana.org/users/xenol/oi-build/rev/c4d08e3efd26 automake: https://hg.openindiana.org/users/xenol/oi-build/rev/72207fade556 autoconf: https://hg.openindiana.org/users/xenol/oi-build/rev/2bcc9f5561c6 help2man: https://hg.openindiana.org/users/xenol/oi-build/rev/1dcbf893845c python, quagga, readline, rtorrent: https://hg.openindiana.org/users/xenol/oi-build/rev/95915ef8b395 I will push libtool update in the near future. I am sorry that I have everything in one repository, but this way it is more comfortable for me. Thanks for understanding. Cheers, Adam smime.p7s Description: S/MIME cryptographic signature ___ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev