Sou novo no NetBSD, apesar de usar frequentemente o pkgsrc no Ubuntu. Eu posso construir e instalar pacotes a partir do código-fonte sem afetar as dependências de pacotes do Ubuntu.
Por exemplo, mesmo que o Ruby 2.2 seja instalado pelo apt-get, eu posso construir e instalar o Ruby 2.3 em $HOME/pkg/bin
pelo pkgsrc. Eu posso usar o ruby 2.3 sem nenhum problema de dependência.
Este recurso tem sido muito útil para mim e é por isso que eu amo o pkgsrc até agora.
Agora eu instalei o NetBSD 7.1 no meu outro PC.
Eu quero baixar o pkgsrc como meu próprio gerenciador de pacotes e quero construir pacotes em meu diretório home ( $HOME/pkg/bin
), sem nenhum efeito em todo o sistema como eu estou fazendo no Ubuntu, mesmo que o próprio NetBSD use o pkgsrc.
Quando tentei ./bootstrap --unpriviledged
no diretório inicial, não funcionou.
Antes de perguntar por que, com mensagens de erro detalhadas, deixe-me perguntar se o NetBSD foi projetado ou considerado o download e o uso de outro pkgsrc para cada usuário sem qualquer efeito no ambiente do sistema.
P.S Inglês não é minha língua nativa; por favor, desculpe digitação, gramática ou / e palavra selecionando erros.
ATUALIZAÇÃO (2017/04/08)
Graças à resposta de Greg A. Woods, eu entendi que tenho que mostrar mensagens de erro detalhadas.
Inicialmente, eu sempre instalei do binário usando o pkg_add com uma conta root.
-bash-4.4$ uname -a
NetBSD hello-netbsd 7.1 NetBSD 7.1 (GENERIC.201703111743Z) amd64
-bash-4.4$ pkg_info -a
sudo-1.8.17p1 Allow others to run commands as root
bash-4.4.012 The GNU Bourne Again Shell
cvs-1.12.13nb4 Concurrent Versions System
gcc6-6.3.0 The GNU Compiler Collection (GCC) - 6 Release Series
Então eu loginei como um usuário não root, baixei o pkgsrc e o bootstrap.
-bash-4.4$ cvs -q -z2 -d [email protected]:/cvsroot checkout -r pkgsrc-2017Q1 -P pkgsrc
-bash-4.4$ cd pkgsrc/bootstrap
-bash-4.4$ ./bootstrap --unprivileged
...
...
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in '/home/vagrant/pkgsrc/bootstrap/work/bmake':
configure: error: no acceptable C compiler found in $PATH
See 'config.log' for more details.
===> exited with status 1
aborted.
Eu modifiquei $PATH
.
-bash-4.4$ vi ~/.profile
PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/pkg/bin
PATH=${PATH}:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin
GCC_PATH=/usr/pkg/gcc6/bin
PATH=${PATH}:${GCC_PATH}
-bash-4.4$ . ~/.profile
-bash-4.4$ echo $PATH
/home/vagrant/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin:/usr/pkg/gcc6/bin
tente novamente.
-bash-4.4$ rm -fr work
-bash-4.4$ ./bootstrap --unprivileged
...
...
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: in '/home/vagrant/pkgsrc/bootstrap/work/bmake':
configure: error: C compiler cannot create executables
See 'config.log' for more details.
===> exited with status 77
aborted.
config.log foi assim:
-bash-4.4$ view work/bmake/config.log
1 This file contains any messages produced by compilers while
2 running configure, to aid debugging if configure makes a mistake.
3
4 It was created by bmake configure 20140214, which was
5 generated by GNU Autoconf 2.64. Invocation command line was
6
7 $ configure --prefix=/home/vagrant/pkgsrc/bootstrap/work --with-default-sys-path=/home/vagrant/pkgsrc/bootstrap/work
/share/mk --with-machine-arch=x86_64
8
9 ## --------- ##
10 ## Platform. ##
11 ## --------- ##
12
13 hostname = hello-netbsd
14 uname -m = amd64
15 uname -r = 7.1
16 uname -s = NetBSD
17 uname -v = NetBSD 7.1 (GENERIC.201703111743Z)
18
19 /usr/bin/uname -p = x86_64
20 /bin/uname -X = unknown
21
22 /bin/arch = unknown
23 /usr/bin/arch -k = unknown
24 /usr/convex/getsysinfo = unknown
25 /usr/bin/hostinfo = unknown
26 /bin/machine = unknown
27 /usr/bin/oslevel = unknown
28 /bin/universe = unknown
29
30 PATH: /home/vagrant/pkg/bin
31 PATH: /home/vagrant/pkg/sbin
32 PATH: .
33 PATH: /home/vagrant/bin
34 PATH: /bin
34 PATH: /bin
35 PATH: /sbin
36 PATH: /usr/bin
37 PATH: /usr/sbin
38 PATH: /usr/X11R7/bin
39 PATH: /usr/X11R6/bin
40 PATH: /usr/pkg/bin
41 PATH: /usr/pkg/sbin
42 PATH: /usr/games
43 PATH: /usr/local/bin
44 PATH: /usr/local/sbin
45 PATH: /usr/pkg/gcc6/bin
46 PATH: /sbin
47 PATH: /usr/sbin
48
49
50 ## ----------- ##
51 ## Core tests. ##
52 ## ----------- ##
53
54 configure:2371: checking for gcc
55 configure:2387: found /usr/pkg/gcc6/bin/gcc
56 configure:2398: result: gcc
57 configure:2627: checking for C compiler version
58 configure:2636: gcc --version >&5
59 gcc (GCC) 6.3.0
60 Copyright (C) 2016 Free Software Foundation, Inc.
61 This is free software; see the source for copying conditions. There is NO
62 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
63
64 configure:2647: $? = 0
65 configure:2636: gcc -v >&5
66 Using built-in specs.
67 COLLECT_GCC=gcc
68 COLLECT_LTO_WRAPPER=/usr/pkg/gcc6/libexec/gcc/x86_64--netbsd/6.3.0/lto-wrapper
69 Target: x86_64--netbsd
70 Configured with: ../gcc-6.3.0/configure --disable-libstdcxx-pch --enable-nls --with-libiconv-prefix=/usr --enable-__cx
a_atexit --with-gxx-include-dir=/usr/pkg/gcc6/include/c++/ --enable-languages='c obj-c++ objc fortran c++' --enable-shared --e
nable-long-long --with-local-prefix=/usr/pkg/gcc6 --disable-libssp --enable-threads=posix --with-boot-ldflags='-static-libstdc
++ -static-libgcc -Wl,-R/usr/pkg/lib ' --with-arch=nocona --with-tune=nocona --with-fpmath=sse --with-gnu-ld --with-ld=/usr/bi
n/ld --with-gnu-as --with-as=/usr/bin/as --prefix=/usr/pkg/gcc6 --build=x86_64--netbsd --host=x86_64--netbsd --infodir=/usr/pk
g/gcc6/info --mandir=/usr/pkg/gcc6/man
71 Thread model: posix
72 gcc version 6.3.0 (GCC)
73 configure:2647: $? = 0
74 configure:2636: gcc -V >&5
75 gcc: error: unrecognized command line option '-V'
76 gcc: fatal error: no input files
77 compilation terminated.
78 configure:2647: $? = 1
79 configure:2636: gcc -qversion >&5
80 gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
81 gcc: fatal error: no input files
82 compilation terminated.
83 configure:2647: $? = 1
84 configure:2669: checking for C compiler default output file name
85 configure:2691: gcc conftest.c >&5
86 In file included from conftest.c:9:0:
87 /usr/pkg/gcc6/lib/gcc/x86_64--netbsd/6.3.0/include-fixed/stdio.h:54:23: fatal error: sys/cdefs.h: No such file or dire
ctory
88 #include <sys/cdefs.h>
89 ^
90 compilation terminated.
91 configure:2695: $? = 1
92 configure:2732: result:
93 configure: failed program was:
94 | /* confdefs.h */
95 | #define PACKAGE_NAME "bmake"
96 | #define PACKAGE_TARNAME "bmake"
97 | #define PACKAGE_VERSION "20140214"
98 | #define PACKAGE_STRING "bmake 20140214"
99 | #define PACKAGE_BUGREPORT "[email protected]"
100 | #define PACKAGE_URL ""
101 | /* end confdefs.h. */
102 | #include <stdio.h>
103 | int
104 | main ()
105 | {
106 | FILE *f = fopen ("conftest.out", "w");
107 | return ferror (f) || fclose (f) != 0;
108 |
109 | ;
110 | return 0;
111 | }
112 configure:2738: error: in '/home/vagrant/pkgsrc/bootstrap/work/bmake':
113 configure:: error: C compiler cannot create executables
114 See 'config.log' for more details.
115
116 ## ---------------- ##
117 ## Cache variables. ##
118 ## ---------------- ##
119
120 ac_cv_env_CC_set=
121 ac_cv_env_CC_value=
122 ac_cv_env_CFLAGS_set=
123 ac_cv_env_CFLAGS_value=
124 ac_cv_env_CPPFLAGS_set=
125 ac_cv_env_CPPFLAGS_value=
126 ac_cv_env_CPP_set=
127 ac_cv_env_CPP_value=
128 ac_cv_env_LDFLAGS_set=
129 ac_cv_env_LDFLAGS_value=
130 ac_cv_env_LIBS_set=
131 ac_cv_env_LIBS_value=
132 ac_cv_env_build_alias_set=
133 ac_cv_env_build_alias_value=
134 ac_cv_env_host_alias_set=
135 ac_cv_env_host_alias_value=
136 ac_cv_env_target_alias_set=
137 ac_cv_env_target_alias_value=
138 ac_cv_prog_ac_ct_CC=gcc
139
140 ## ----------------- ##
141 ## Output variables. ##
142 ## ----------------- ##
143
144 CC='gcc'
145 CFLAGS=''
146 CPP=''
147 CPPFLAGS=''
148 DEFS=''
149 ECHO_C=''
150 ECHO_N='-n'
151 ECHO_T=''
152 EGREP=''
153 EXEEXT=''
154 GCC=''
155 GREP=''
156 INSTALL=''
157 INSTALL_DATA=''
158 INSTALL_PROGRAM=''
159 INSTALL_SCRIPT=''
160 LDFLAGS=''
161 LIBOBJS=''
162 LIBS=''
163 LTLIBOBJS=''
164 OBJEXT=''
165 PACKAGE_BUGREPORT='[email protected]'
166 PACKAGE_NAME='bmake'
167 PACKAGE_STRING='bmake 20140214'
168 PACKAGE_TARNAME='bmake'
169 PACKAGE_URL=''
170 PACKAGE_VERSION='20140214'
171 PATH_SEPARATOR=':'
172 SHELL='/bin/sh'
173 ac_ct_CC='gcc'
174 ac_exe_suffix=''
175 bindir='${exec_prefix}/bin'
176 bmake_path_max=''
177 build_alias=''
178 datadir='${datarootdir}'
179 datarootdir='${prefix}/share'
180 default_sys_path=''
181 diff_u=''
182 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
183 dvidir='${docdir}'
184 exec_prefix='NONE'
185 filemon_h='no'
186 force_machine=''
187 host_alias=''
188 htmldir='${docdir}'
189 includedir='${prefix}/include'
190 infodir='${datarootdir}/info'
191 libdir='${exec_prefix}/lib'
192 libexecdir='${exec_prefix}/libexec'
193 localedir='${datarootdir}/locale'
194 localstatedir='${prefix}/var'
195 machine=''
196 machine_arch=''
197 mandir='${datarootdir}/man'
198 mksrc=''
199 oldincludedir='/usr/include'
200 pdfdir='${docdir}'
201 prefix='/home/vagrant/pkgsrc/bootstrap/work'
202 program_transform_name='s,x,x,'
203 psdir='${docdir}'
204 sbindir='${exec_prefix}/sbin'
205 sharedstatedir='${prefix}/com'
206 sysconfdir='${prefix}/etc'
207 target_alias=''
208 use_meta='yes'
209
210 ## ----------- ##
211 ## confdefs.h. ##
212 ## ----------- ##
213
214 /* confdefs.h */
215 #define PACKAGE_NAME "bmake"
216 #define PACKAGE_TARNAME "bmake"
217 #define PACKAGE_VERSION "20140214"
218 #define PACKAGE_STRING "bmake 20140214"
219 #define PACKAGE_BUGREPORT "[email protected]"
220 #define PACKAGE_URL ""
221
222 configure: exit 77
Eu imaginei que alguns arquivos estavam faltando, mas não consegui entender o que fazer.
update2 (2017/04/11)
o seguinte é o resultado de 'gcc -v'
-bash-4.4$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/pkg/gcc6/libexec/gcc/x86_64--netbsd/6.3.0/lto-wrapper
Target: x86_64--netbsd
Configured with: ../gcc-6.3.0/configure --disable-libstdcxx-pch --enable-nls --with-libiconv-prefix=/usr --enable-__cxa_atexit --with-gxx-include-dir=/usr/pkg/gcc6/include/c++/ --enable-languages='c obj-c++ objc fortran c++' --enable-shared --enable-long-long --with-local-prefix=/usr/pkg/gcc6 --disable-libssp --enable-threads=posix --with-boot-ldflags='-static-libstdc++ -static-libgcc -Wl,-R/usr/pkg/lib ' --with-arch=nocona --with-tune=nocona --with-fpmath=sse --with-gnu-ld --with-ld=/usr/bin/ld --with-gnu-as --with-as=/usr/bin/as --prefix=/usr/pkg/gcc6 --build=x86_64--netbsd --host=x86_64--netbsd --infodir=/usr/pkg/gcc6/info --mandir=/usr/pkg/gcc6/man
Thread model: posix
gcc version 6.3.0 (GCC)
E eu escolhi a instalação mínima no processo de instalação. Isso está errado?