Hi, I'm trying to use pkgsrc in a Solaris 10 zone. I first tried to compile "fetch" however it always end up with an error :
checking *printf() support for %lld... yes checking for strtoll... (cached) yes checking if vsnprintf is standards compliant... yes configure: creating ./config.status config.status: creating Makefile config.status: creating nbcompat/config.h config.status: nbcompat/config.h is unchanged cr libnbcompat.a glob.o md5c.o md5hl.o rmd160.o rmd160hl.o sha1.o sha1hl.o sha2.o sha2hl.o vis.o unvis.o err.o fgetln.o fparseln.o getdelim.o getline.o lchflags.o lchmod.o lutimes.o setgroupent.o setpassent.o setprogname.o shquote.o strmode.o strsep.o warn.o setmode.o pwcache.o fts.o timegm.o bash: line 2: cr: command not found *** [libnbcompat.a] Error code 127 bmake: stopped in /usr/pkgsrc/net/libfetch/work/libnbcompat 1 error bmake: stopped in /usr/pkgsrc/net/libfetch/work/libnbcompat *** Error code 2 Stop. bmake[1]: stopped in /usr/pkgsrc/net/libfetch *** Error code 1 Stop. bmake: stopped in /usr/pkgsrc/net/libfetch Before you ask, I bootstraped pkgsrc and used SFW gcc to do so. I modified my mk.conf mostly according to https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_solaris/ : # Example /usr/pkg/etc/mk.conf file produced by bootstrap-pkgsrc # Wed May 10 20:34:09 EDT 2017 .ifdef BSD_PKG_MK # begin pkgsrc settings ABI= 32 PKGSRC_COMPILER= gcc PKG_DBDIR= /usr/pkg/pkgdb LOCALBASE= /usr/pkg VARBASE= /var PKG_TOOLS_BIN= /usr/pkg/sbin PKGINFODIR= info PKGMANDIR= man ACCEPTABLE_LICENSES= vim-license FETCH_USING= fetch #FETCH_CMD= /usr/sfw/bin/wget TOOLS_PLATFORM.install?= /usr/pkg/bin/bsdinstall TOOLS_PLATFORM.awk?= /usr/pkg/bin/nawk TOOLS_PLATFORM.sed?= /usr/pkg/bin/nbsed TOOLS_PLATFORM.sh?= /usr/bin/bash CFLAGS+=-O2 CXXFLAGS+=-O2 CC=/usr/sfw/bin/gcc CXX=/usr/sfw/bin/g++ X11_TYPE=modular PKG_DEVELOPER=yes PKG_DEFAULT_OPTIONS+=freetype truetype mmx subpixel official-mozilla-branding .endif # end pkgsrc settings I also did some research about that "cr: command not found" and I found that cr is indeed not a comamnd. cr is an arg that should be executed with "ar" command. So, I took a quick look to the Makefile and found that AR variable in /usr/pkgsrc/net/libfetch/work/libnbcompat/Makefile seems to be empty : [root@zone5 libnbcompat]$ grep AR Makefile* Makefile:AR= Makefile: $(AR) cr $@ $(OBJS) Makefile.in:AR= @AR@ Makefile.in: $(AR) cr $@ $(OBJS) So I tried to force the path to ar in /usr/pkgsrc/net/libfetch/work/libnbcompat/Makefile.in : [root@zone5 libfetch]$ grep AR /usr/pkgsrc/net/libfetch/work/libnbcompat/Makefile.in #AR= @AR@ AR= /usr/pkgsrc/bootstrap/work/wrk/pkgtools/cwrappers/work/.wrapper/bin/ar $(AR) cr $@ $(OBJS) I do end up with a different erro this time : configure: creating ./config.status config.status: creating Makefile config.status: creating nbcompat/config.h config.status: nbcompat/config.h is unchanged /usr/pkgsrc/bootstrap/work/wrk/pkgtools/cwrappers/work/.wrapper/bin/ar cr libnbcompat.a glob.o md5c.o md5hl.o rmd160.o rmd160hl.o sha1.o sha1hl.o sha2.o sha2hl.o vis.o unvis.o err.o fgetln.o fparseln.o getdelim.o getline.o lchflags.o lchmod.o lutimes.o setgroupent.o setpassent.o setprogname.o shquote.o strmode.o strsep.o warn.o setmode.o pwcache.o fts.o timegm.o : libnbcompat.a => Checking for portability problems in extracted files WARNING: [check-portability.sh] errlist.sh has /bin/sh as interpreter, which is horribly broken on Solaris. ===> Building for libfetch-2.38 sh /usr/pkgsrc/net/libfetch/work/libfetch-2.38/errlist.sh ftp_errlist FTP /usr/pkgsrc/net/libfetch/work/libfetch-2.38/ftp.errors > ftperr.h sh /usr/pkgsrc/net/libfetch/work/libfetch-2.38/errlist.sh http_errlist HTTP /usr/pkgsrc/net/libfetch/work/libfetch-2.38/http.errors > httperr.h gcc -O2 -O2 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wreturn-type -Wcast-qual -Wpointer-arith -Wwrite-strings -Wswitch -Wshadow -Werror -DHAVE_NBCOMPAT_H=1 -I/usr/pkgsrc/net/libfetch/work/libnbcompat -I. -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -DINET6 -DFTP_COMBINE_CWDS -c common.c exec failed *** Error code 255 Stop. bmake: stopped in /usr/pkgsrc/net/libfetch/work/libfetch-2.38 *** Error code 1 Stop. bmake[1]: stopped in /usr/pkgsrc/net/libfetch *** Error code 1 Stop. bmake: stopped in /usr/pkgsrc/net/libfetch I must say that beyond this point I'm out of idea and open to any suggestion... PS. I'm an humble sysadmin not a developper, so go easy on me.