> 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. > 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? > 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... > 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. > 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 _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
