|
Message-ID: <718adcbe-322a-22cf-1459-81ec78e677d4@in2p3.fr> Date: Tue, 3 Oct 2017 12:38:49 +0200 From: Didier Kryn <kryn@...p3.fr> To: musl@...ts.openwall.com Subject: Re: musl-cross-make doesn't install gcc binaries Le 03/10/2017 à 11:37, Szabolcs Nagy a écrit : > * Didier Kryn <kryn@...p3.fr> [2017-10-03 10:18:58 +0200]: > >> Le 03/10/2017 à 10:11, Didier Kryn a écrit : >>> Le 02/10/2017 à 17:57, Rich Felker a écrit : >>>>> I have recently discovered the existence of musl-cross-make and >>>>> thought it would be a great way to upgrade my toolchain (forgetting >>>>> temporarily Ada). I downloaded it in my musl chroot. It built >>>>> without error, which is a pretty new experience for me - >>>>> congratulations! But, after make install, only binutils' binaries >>>>> are installed: >>>>> >>>>> /# ls /usr/pkg/x86_64-linux-musl >>>>> bin include lib >>>>> /# ls /usr/pkg/x86_64-linux-musl/bin >>>>> ar as ld ld.bfd nm objcopy objdump ranlib readelf strip >>>>> >>>>> The gcc binaries seem to be in >>>>> musl-cross-make/build/local/x86_64-linux-musl/obj_toolchain/gcc >>>>> (cc1, cc1plus, gcc-ar, gcc-cross etc). Are these the final gcc >>>>> binaries or intermediate tools? >>>> What "make install" command line did you use, and what options (if >>>> any) in config.mak? You need to specify the output directory where the >>>> toolchain will be installed; it would not appear under /usr/pkg unless >>>> you configured it as such. >>>> >>> I just ran 'make'; and, when it was finished, 'make install' >>> >>> Everything is configured in config.mak. Here it is (I've removed the >>> comments): >>> >>> # config.mak >>> TARGET = x86_64-linux-musl >>> OUTPUT = /usr/pkg >>> DL_CMD = wget -c -O >>> >>> COMMON_CONFIG += CC="gcc -static --static" CXX="g++ -static --static" >>> COMMON_CONFIG += CFLAGS="-O2" CXXFLAGS="-O2" >>> COMMON_CONFIG += --disable-nls >>> GCC_CONFIG += --enable-languages=c,c++ >>> GCC_CONFIG += --disable-multilib >>> >>> 'make install' creates /usr/pkg/x86_64-linux-musl, and the subdirs >>> bin, include and lib. The issue is that, in bin, only binutils' >>> executables are installed. >>> >>> Thanks. >>> Didier >>> >> I forgot to mention that everything looks fine in subdirs include and >> lib. Only the gcc executables are missing. >> > it's a cross compiler, so you won't have gcc, but x86_64-linux-musl-gcc But it isn't installed and, BTW, the installed binutils executables aren't prefixed with x86_64-linux-musl- When I remove the line 'OUTPUT = /usr/pkg' in config.mak, to leave it use the default, then the installation occurs in subdir 'output' of the source tree, and it seems much more familiar to me, with more subdirs, such as libexec, share and x86_64-linux-musl, which are not present otherwise. And all the executables are correctly prefixed. Therefore the problem is restricted to the processing of the custom install dir. Given the cross-compiler is sysrooted, this isn't a big deal, but better to know. Didier
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.