Le mercredi 21 mars 2018 à 13:43 +0000, David Chisnall a écrit : > > On 21 Mar 2018, at 13:34, bertrand <[email protected]> wrote: > > > > Le mercredi 21 mars 2018 à 07:29 +0000, David Chisnall a écrit : > >> On 20 Mar 2018, at 21:30, bertrand <[email protected]> wrote: > >>> > >>> Le mardi 20 mars 2018 à 10:46 +0000, David Chisnall a écrit : > >>>> There are two issues. The first is the warnings in the libobjc2 build. > >>>> These warnings are telling you that objc_msgSend and > >>>> imp_implementationWithBlock (neither of which can be implemented in C) > >>>> are not available on your platform. This means that you can’t use > >>>> blocks as IMPs and you must use the older two-stage dispatch mechanism > >>>> (which clang will default to for architectures where libobjc2 does not > >>>> implement the objc_msgSend family). > >>>> > >>>> I would be very happy to help anyone who wants to add PowerPC support to > >>>> these code paths, but I personally have a very low tolerance for PowerPC > >>>> assembly and no easy access to PowerPC hardware, so won’t be doing it > >>>> myself. > >>>> > >>>> The later errors are coming from gas, which appears not to be supporting > >>>> some of the assembly that clang is generating. You can try using > >>>> -integrated-as, which tells clang to generate object code directly > >>>> rather than via gas. I don’t know what the status is for PowerPC, but a > >>>> newer version might help here (PowerPC in LLVM has had a lot of work > >>>> from IBM and Argone National Labs recently). > >>>> > >>>> David > >>>> > >>> > >>> I've set CC to 'clang -integrated-as' and CXX as well. Not a complete > >>> success. But there is some progress. It fails at link times now in > >>> ManyManySelectors.m because objc_msgSend is called . See below. > >>> Thanks, > >> > >> It looks as if the library has built correctly, but some of the tests fail > >> to compile. The easiest thing to do is run ccmake and disable building > >> the tests. > >> > >> David > >> > > > > Hi David and the list; > > > > It would be usefull to run tests but I did this for now : I commented > > this at the end of your CMakeLists.txt : > > > > > > #if (TESTS) > > # enable_testing() > > # add_subdirectory(Test) > > #endif (TESTS) > > > > I'm pretty sure there is a better way to do, > > Yes, run ‘ccmake .’ and toggle the enable tests line. >
I've tried it. I could put this in my gnustep_install.sh script but the user will have to manually toggle off the tests. A commandline line would be better. Anyway, better than totally avoiding tests, I should try to see which build and which don't, to adapt them for ppc. > > but that's it : I've build > > and installed libobjc2 on debian ppc. :-) > > Yay! > > > I've got a few more questions for a complete install of gnustep on > > debian ppc. > > > > My goal is to have a complete script to do this, adapted from the one > > found on gnustep wiki found here : > > > > http://wiki.gnustep.org/index.php/GNUstep_under_Ubuntu_Linux > > > > > > Then I could contribute my result in it. > > > > > > > > Here are my questions : > > > > 1. Should I install libdispatch before or after libobjc2 ? I've seen > > this warning at the end libobjc2 install : > > Before, ideally. > > > failed to create symbolic link 'include/Block.h': No such file or > > directory > > -- Symlinking: include/Block.h -> include/objc/blocks_runtime.h > > failed to create symbolic link 'include/Block_private.h': No such file > > or directory > > -- Symlinking: include/Block_private.h -> include/objc/blocks_private.h > > That’s surprising. Do you already have an include/Block.h? Yes it's there : /usr/include/Block.h. Block_private.h also. > > > 2. Should I really build and install libdispatch from Nick Hutchinson on > > github, as the wiki says ? I tried to build it but it fails. Can I use > > libdispatch from debian repo instead ? > > Not sure about this. I use the one from FreeBSD packages and it appears to > work... Then I will try with it. > > > 3. If not can I install libobjc2 without libdispatch ? > > Yes, you can. I’m not sure if any of the live code paths actually use > libdispatch anymore - I’ll aim to remove that dependency at some point. > > > 4. The script on the wiki builds and install gnustep-make two times : > > before and after libobjc2 ? Is it still correct ? > > No, that’s definitely wrong. It dates back to when I tried to use GNUstep > Make to build libobjc2, but that led to circular dependencies. > Then should I build libobjc2 before of after gnustep-make ? > > 5. For gnustep-make build, is this line still mandatory ? > > "git checkout `git rev-list -1 --first-parent --before=2017-04-06 > > master` # fixes segfault, should probably be looked at." > > > > Has this bug in gnustep-make been fixed since 2017-04-06 > > I can’t speak for Ubuntu, but that definitely isn’t needed on FreeBSD. > > David > Thanks. Bertrand > _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
