Vanilla 1455 Posted February 6, 2014 Share Posted February 6, 2014 Hello dear users, I've a small question for you regarding the future of my vanilla project. FreeBSD has the well-known compiler "gcc" installed by default (only after 10.0-RELEASE it's gone). YMIR developed and compiled the source on this default gcc-version. It's the 4.2 version. But wait, why is it so old? We have 4.8 and currently developing 4.9! It's all about the license. gcc used to have the GNU GPL v2 license. But since 4.3 it's changed to GNU GPL v3. FreeBSD didn't want to adapt to these new license agreements so that's why they decided to go with 4.2 anyway. It's now clearly deprecated (that's why in 10.0 it's changed to clang compiler). Why do I tell you all these information? Because it's an imporant fact for the question I'm going to ask. gcc made some great improvements during the development. There is a huge performance boost and boost on file size from 4.2 to 4.8. I've managed to compile it with your help on 4.8. Now it's about 42mb big unstriped. So what do we have for the future vanilla versions? Better performance, more stability and code optimizations and even a smaller file size! But there's also a bad site about this. I told you FreeBSD isn't updating gcc higher than 4.2 - which clearly indicates the problem. 4.8 or even 4.9 uses newer libraries (for example libstdc++.so.6) These newer libraries can only be achieved by installing the newer gcc version and adding them to /etc/libmap.conf It's very easy and I'd write a small guide (you just have to install and then copy'n'paste one list). But since I stated earlier that I want to make vanilla more compatible with every system it's now a fact that with this new big feature we're creating a dependency on the new gcc version. So what's your point about it? What do you prefer? Having the old compiling methods with no need to install a newer gcc or do you prefer a much faster binary but with the need to install it? And another question: Do you prefer 4.8 or the newer 4.9 which is currently under development (4.9 COULD have some stability bugs but I didn't monitor any problems like that, compiling worked without any problem too) but a little bit faster (and in the future when it'll be released it'll outclass 4.8)? We are the tortured. We're not your friends. As long as we're not visible. We are unfixable. Link to comment Share on other sites More sharing options...
Rumor 2607 Posted February 6, 2014 Share Posted February 6, 2014 I think you should move forward and go ahead and make it for 4.8's improvements and use 4.8 rather than 4.9 to keep it as stable as possible. Link to comment Share on other sites More sharing options...
Tim 20 Posted February 6, 2014 Share Posted February 6, 2014 I'd just use GCC 4.8 and ship the necessary libraries (libstdc++, ...) with your released game. Using the -rpath Linker-Option you can force the loader to search one of your custom library-paths first, allowing you to leave libmap.conf / ldconfig unchanged. The user just needs to place all custom libraries into this directory, which shouldn't be too hard. Example: (Obviously I use /usr/local/lib32/metin2 for my libraries) [...] -Wl,-rpath,/usr/local/lib32/metin2 Kind Regards, Tim 3 Link to comment Share on other sites More sharing options...
Vanilla 1455 Posted February 6, 2014 Author Share Posted February 6, 2014 You're right. I'll try that since on 64 bit system it won't be that easy. 1 We are the tortured. We're not your friends. As long as we're not visible. We are unfixable. Link to comment Share on other sites More sharing options...
Saddler 680 Posted February 6, 2014 Share Posted February 6, 2014 You're right. I'll try that since on 64 bit system it won't be that easy. I'm glad you continue the work. Good luck Link to comment Share on other sites More sharing options...
Vanilla 1455 Posted February 6, 2014 Author Share Posted February 6, 2014 it's working and it's stable. Compiled with gcc4.9 for testing purpose. I'll make a difference list and then choose with you what version to use. Then it'll be released. Oh, and I forgot: In the new version you can use more attributes on your skills (e. g. you can enhance your attributues like str, con, int and dex with your skills..) 1 We are the tortured. We're not your friends. As long as we're not visible. We are unfixable. Link to comment Share on other sites More sharing options...
Saddler 680 Posted February 6, 2014 Share Posted February 6, 2014 it's working and it's stable. Compiled with gcc4.9 for testing purpose. I'll make a difference list and then choose with you what version to use. Then it'll be released. Oh, and I forgot: In the new version you can use more attributes on your skills (e. g. you can enhance your attributues like str, con, int and dex with your skills..) I hope now i can run that Because old version's i can't run because libs and more libs. I hope now everything is ok. Regards. Link to comment Share on other sites More sharing options...
Vanilla 1455 Posted February 6, 2014 Author Share Posted February 6, 2014 New libs will be included from more than one source. The main source is now /usr/local/lib32/metin2 as Tim mentioned in a post earlier. I've used his suggestion so it won't be a problem anymore. You don't need to install devil or any other software anymore, I'll provide every lib within my package. 2 We are the tortured. We're not your friends. As long as we're not visible. We are unfixable. Link to comment Share on other sites More sharing options...
anorian 21 Posted February 16, 2014 Share Posted February 16, 2014 New libs will be included from more than one source. The main source is now /usr/local/lib32/metin2 as Tim mentioned in a post earlier. I've used his suggestion so it won't be a problem anymore. You don't need to install devil or any other software anymore, I'll provide every lib within my package. so awesome we watching direly from here so thanks for all Link to comment Share on other sites More sharing options...
.Xero 2 Posted July 19, 2014 Share Posted July 19, 2014 I'd just use GCC 4.8 and ship the necessary libraries (libstdc++, ...) with your released game. Using the -rpath Linker-Option you can force the loader to search one of your custom library-paths first, allowing you to leave libmap.conf / ldconfig unchanged. The user just needs to place all custom libraries into this directory, which shouldn't be too hard. Example: (Obviously I use /usr/local/lib32/metin2 for my libraries) [...] -Wl,-rpath,/usr/local/lib32/metin2 Kind Regards, Tim Have you add the -rpath to your CFLAGS or on an other point? I have the big problem that when I want to use my gamefile on an other root they dont work. Link to comment Share on other sites More sharing options...
Originale 134 Posted July 19, 2014 Share Posted July 19, 2014 .Xero must make a mandatory install on a new machine otherwise pkg install gcc48 or take the lib What need the db and game Link to comment Share on other sites More sharing options...
.Xero 2 Posted July 19, 2014 Share Posted July 19, 2014 I use this vm http://metin2dev.org/board/topic/389-not-really-a-rlsvm-with-freebsd-92-src-compileable/ When I compile it on this all works fine with gcc48 but on other Roots/VM they not work because the missing libs, but the libs are on the other root too. That is the reaseon why I want to build the gamefile with specific lib path. I hope you understand what I meens ^^ Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now