On Wed, 2 Jan 2019 18:59:30 +0100 Charlene Wendling wrote: > On Wed, 02 Jan 2019 17:52:25 +0100 > Jeremie Courreges-Anglas wrote: > > > On Wed, Jan 02 2019, George Koehler <kern...@gmail.com> wrote: > > > On Mon, 31 Dec 2018 14:26:10 +0100 > > > Jeremie Courreges-Anglas <j...@wxcvbn.org> wrote: > > > > > >> If you remove CFLAGS/CXXFLAGS = -mlongcall and restart the build > > >> from scratch, are clang and friends properly linked? Do you get > > >> a working llvm package? > > > > > > This actually worked! I cleaned the build, removed the > > > -mlongcall, and built llvm with gcc 6.5.0. The build of llvm > > > took about 28 hours 40 minutes with my PowerBook G4 at half speed > > > = 666 MHz. (gcc had taken about 28 h 30 m.) The removal of > > > -mlongcall also removed most or all compiler warnings from the > > > log. The build succeeded. I can now use clang++ to compile and > > > run a simple C++ program. > > > > Cool. Now if someone with a powerpc box could also try building > > llvm with gcc-4.9 and the diff below, that would be great. > > (REVISION bump not included.) > > Hi, > > I'm building it with your diff at the moment. > > Charlène.
Hi, Good news, the build is successful: https://transfer.sh/h0hB0/llvm.log Charlène. > > Index: Makefile > > =================================================================== > > RCS file: /cvs/ports/devel/llvm/Makefile,v > > retrieving revision 1.202 > > diff -u -p -r1.202 Makefile > > --- Makefile 15 Dec 2018 15:21:48 -0000 1.202 > > +++ Makefile 2 Jan 2019 16:51:19 -0000 > > @@ -83,8 +83,6 @@ CONFIGURE_ARGS = -DLLVM_ENABLE_FFI:Bool= > > > > # Workaround relocation overflow > > .if ${MACHINE_ARCH} == "powerpc" > > -CFLAGS += -mlongcall > > -CXXFLAGS += -mlongcall > > # As a workaround for the size only build the PowerPC backend > > CONFIGURE_ARGS += -DLLVM_TARGETS_TO_BUILD="PowerPC" > > .elif ${MACHINE_ARCH} == "arm" > > > > > > > I used the below diff in devel/llvm/Makefile. I also used > > > gcc-6-2.diff from my earlier mail to switch ports-gcc to > > > lang/gcc/6. > > > > > > (Pascal Stumpf recently posted lang/gcc/8, but I'm keeping 6.5.0 > > > for now because I want to try building other packages.) > > > > > > Now that I can run clang++, I can show the dependency problem from > > > my mail "Re: powerpc bulk build report" to ports [1]: > > > > > > ghostborough$ cat > > > loopy.cpp > > > #include <functional> > > > > > > struct Thing { > > > int get() const { return 0; } > > > }; > > > > > > int f(Thing t) { > > > return std::mem_fn(&Thing::get)(t); > > > } > > > ghostborough$ clang++ -c > > > loopy.cpp ghostborough$ doas pkg_delete g++ > > > doas (kern...@ghostborough.my.domain) password: > > > g++-6.5.0p0: ok > > > Read shared items: ok > > > ghostborough$ clang++ -c > > > loopy.cpp loopy.cpp:8:14: error: no member named 'mem_fn' in > > > namespace 'std' return std::mem_fn(&Thing::get)(t); > > > ~~~~~^ > > > 1 error generated. > > > > > > clang++ in the llvm package uses the headers from the g++ package, > > > but llvm has no dependency on g++. After I pkg_delete g++, then > > > clang++ seems to find the old headers from base-gcc, but those > > > headers don't have C++11 features like std::mem_fn. > > > > Noted, I'll take a look. > > > > > [1] https://marc.info/?l=openbsd-ports&m=154629731512667&w=2 > > > > > > Index: Makefile > > > =================================================================== > > > RCS file: /cvs/ports/devel/llvm/Makefile,v > > > retrieving revision 1.202 > > > diff -u -p -r1.202 Makefile > > > --- Makefile 15 Dec 2018 15:21:48 -0000 1.202 > > > +++ Makefile 31 Dec 2018 19:26:26 -0000 > > > @@ -83,8 +83,8 @@ CONFIGURE_ARGS = -DLLVM_ENABLE_FFI:Bool= > > > > > > # Workaround relocation overflow > > > .if ${MACHINE_ARCH} == "powerpc" > > > -CFLAGS += -mlongcall > > > -CXXFLAGS += -mlongcall > > > +#CFLAGS += -mlongcall > > > +#CXXFLAGS += -mlongcall > > > # As a workaround for the size only build the PowerPC backend > > > CONFIGURE_ARGS += -DLLVM_TARGETS_TO_BUILD="PowerPC" > > > .elif ${MACHINE_ARCH} == "arm" > > > @@ -101,7 +101,7 @@ PKG_ARGS += -Dpowerpc=0 > > > TEST_TARGET = check > > > > > > # XXX sync > > > -GCC_VER = 4.9.4 > > > +GCC_VER = 6.5.0 > > > .if ${MACHINE_ARCH} == "amd64" > > > GCC_CONFIG = x86_64-unknown-openbsd${OSREV} > > > .else > > > > -- > > jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE > > 1524 E7EE > > >