Something is wrong with the plist. # make package ===> Fetching all distfiles required by p5-NetAddr-IP-4.069 for building ===> Extracting for p5-NetAddr-IP-4.069 => SHA256 Checksum OK for NetAddr-IP-4.069.tar.gz. ===> p5-NetAddr-IP-4.069 depends on file: /usr/local/bin/perl5.14.4 - found ===> Patching for p5-NetAddr-IP-4.069 ===> p5-NetAddr-IP-4.069 depends on file: /usr/local/bin/perl5.14.4 - found /usr/local/bin/perl -ni -e 'print unless /^=head1/../^=cut/' /rw/usr/ports/net-mgmt/p5-NetAddr-IP/work/NetAddr-IP-4.069/Lite/Util/Makefile.PL ===> p5-NetAddr-IP-4.069 depends on file: /usr/local/bin/perl5.14.4 - found ===> Configuring for p5-NetAddr-IP-4.069 This build requires a C compiler by default except on Windows where the Pure Perl version is mandatory. The Pure Perl version, which does not require compilation of XS code, can be used by invoking this as: perl Makefile.PL -noxs ====================================================================== W A R N I N G - Please do read below if you have legacy code ====================================================================== Versions 3.21 and above of NetAddr::IP, include hooks for the Storable class that are incompatible with the old (automatic) method of storing data. To regain backwards compatibility, the module must be use()d as use NetAddr::IP ':old_storable'; which will disable the new hooks and revert back to the old ways. If you do not use Storable along with NetAddr::IP, or just don't know what this all means, most likely you're safe to go ahead. Versions before 3.25 recognized by default IP addresses as returned by inet_aton. This is no longer the default. To enable this behavior again, the module must be use()d as use NetAddr::IP ':aton'; Versions before 4.008 recognized the above syntax. This behavior is fundamentally broken, is DEPRECATED and WILL BE REMOVED in version 5.0 Use this method to create new objects from 'aton's $ip = new_from_aton NetAddr::IP(inet_aton('1.2.3.4')) Checking if your kit is complete... Looks good Checking if your kit is complete... Looks good building for freebsd Testing if you have a C compiler and the needed header files.... gcc compile.c -o compile.output I cannot determine if you have a C compiler. I will install the perl-only implementation. You can force installation of the XS version with: perl Makefile.PL --xs Checking if your kit is complete... Looks good Writing Makefile for NetAddr::IP::Util Writing MYMETA.yml Writing Makefile for NetAddr::IP::Lite Writing MYMETA.yml Writing Makefile for NetAddr::IP Writing MYMETA.yml ===> Building for p5-NetAddr-IP-4.069 cp IP.pm blib/lib/NetAddr/IP.pm AutoSplitting blib/lib/NetAddr/IP.pm (blib/lib/auto/NetAddr/IP) cp Lite.pm ../blib/lib/NetAddr/IP/Lite.pm cp lib/NetAddr/IP/UtilPP.pm ../../blib/lib/NetAddr/IP/UtilPP.pm AutoSplitting ../../blib/lib/NetAddr/IP/UtilPP.pm (../../blib/lib/auto/NetAddr/IP/UtilPP) cp Util.pm ../../blib/lib/NetAddr/IP/Util.pm AutoSplitting ../../blib/lib/NetAddr/IP/Util.pm (../../blib/lib/auto/NetAddr/IP/Util) cp Util_IS.pm ../../blib/lib/NetAddr/IP/Util_IS.pm cp lib/NetAddr/IP/InetBase.pm ../../blib/lib/NetAddr/IP/InetBase.pm AutoSplitting ../../blib/lib/NetAddr/IP/InetBase.pm (../../blib/lib/auto/NetAddr/IP/InetBase) Manifying ../../blib/man3/NetAddr::IP::UtilPP.3 Manifying ../../blib/man3/NetAddr::IP::Util.3 Manifying ../../blib/man3/NetAddr::IP::InetBase.3 Manifying ../blib/man3/NetAddr::IP::Lite.3 Manifying blib/man3/NetAddr::IP.3 ===> Installing for p5-NetAddr-IP-4.069 ===> p5-NetAddr-IP-4.069 depends on file: /usr/local/bin/perl5.14.4 - found ===> Generating temporary packing list ===> Checking if net-mgmt/p5-NetAddr-IP already installed Installing /usr/local/lib/perl5/site_perl/5.14/NetAddr/IP.pm Installing /usr/local/lib/perl5/site_perl/5.14/NetAddr/IP/Util.pm Installing /usr/local/lib/perl5/site_perl/5.14/NetAddr/IP/UtilPP.pm Installing /usr/local/lib/perl5/site_perl/5.14/NetAddr/IP/Util_IS.pm Installing /usr/local/lib/perl5/site_perl/5.14/NetAddr/IP/Lite.pm Installing /usr/local/lib/perl5/site_perl/5.14/NetAddr/IP/InetBase.pm ===> Compressing manual pages for p5-NetAddr-IP-4.069 ===> Registering installation for p5-NetAddr-IP-4.069 ===> Building package for p5-NetAddr-IP-4.069 tar: lib/perl5/site_perl/5.14/mach/NetAddr/IP.pm: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/NetAddr/IP/InetBase.pm: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/NetAddr/IP/Lite.pm: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/NetAddr/IP/Util.pm: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/NetAddr/IP/UtilPP.pm: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/NetAddr/IP/Util_IS.pm: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/_inet_ntop.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/_inet_pton.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/_packzeros.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/autosplit.ix: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/inet_any2n.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/inet_n2ad.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/inet_n2dx.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/inet_ntoa.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/ipv6_aton.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/InetBase/ipv6_ntoa.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/Util/Util.bs: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/Util/Util.so: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/Util/autosplit.ix: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/_128x10.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/_128x2.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/_bcd2bin.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/_bcdcheck.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/_bin2bcdn.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/_deadlen.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/_sa128.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/add128.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/addconst.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/autosplit.ix: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/bcd2bin.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/bcdn2bin.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/bcdn2txt.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/bin2bcd.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/bin2bcdn.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/comp128.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/hasbits.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/ipanyto6.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/ipv4to6.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/ipv6to4.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/mask4to6.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/maskanyto6.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/notcontiguous.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/shiftleft.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/simple_pack.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/slowadd128.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/UtilPP/sub128.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/_compV6.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/_compact_v6.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/_splitplan.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/_splitref.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/autosplit.ix: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/coalesce.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/compactref.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/do_prefix.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/hostenum.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/mod_version.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/nprefix.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/prefix.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/re.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/re6.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/short.al: Cannot stat: No such file or directory tar: lib/perl5/site_perl/5.14/mach/auto/NetAddr/IP/wildcard.al: Cannot stat: No such file or directory tar: Error exit delayed from previous errors. pkg_create: make_dist: tar command failed with code 256 *** [do-package] Error code 1 Stop in /rw/usr/ports/net-mgmt/p5-NetAddr-IP. zfsraid# How-To-Repeat: # cd /usr/ports/net-mgmt/p5-NetAddr-IP # make package
Responsible Changed From-To: freebsd-ports-bugs->tobez Over to maintainer (via the GNATS Auto Assign Tool)
On Tue, Jul 02, 2013 at 11:39:18PM +0000, Dave Hayes wrote: > Something is wrong with the plist. > > # make package > Testing if you have a C compiler and the needed header files.... > gcc compile.c -o compile.output > > I cannot determine if you have a C compiler. I will install the > perl-only implementation. I am unable to reproduce this. Something is wrong with your C compiler. What happens if you manually recreate a file called compile.c, put the following in there: ----------8<-----------8<-----------8<-----------8<-----------8<------ int main() { return 0; } ----------8<-----------8<-----------8<-----------8<-----------8<------ and then run $ gcc compile.c -o compile.output ; echo $? ? The module compilation fails at this stage. \Anton. -- Our society can survive even a large amount of irrational regulation. -- John McCarthy
On 07/09/13 02:40, Anton Berezin wrote: > On Tue, Jul 02, 2013 at 11:39:18PM +0000, Dave Hayes wrote: >> Something is wrong with the plist. >> >> # make package >> Testing if you have a C compiler and the needed header files.... >> gcc compile.c -o compile.output >> >> I cannot determine if you have a C compiler. I will install the >> perl-only implementation. > > I am unable to reproduce this. Something is wrong with your C compiler. > > What happens if you manually recreate a file called compile.c, > put the following in there: > > ----------8<-----------8<-----------8<-----------8<-----------8<------ > int main() { return 0; } > ----------8<-----------8<-----------8<-----------8<-----------8<------ > > and then run > > $ gcc compile.c -o compile.output ; echo $? > > ? > > The module compilation fails at this stage. # cc -v FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 20121221 Target: x86_64-unknown-freebsd9.1 Thread model: posix # cat compile.c int main() { return 0; } # cc compile.c -o compile.output ; echo $? 0 Just for grins: # ./compile.output ; echo $? 0 Does this help? It's unexpected to me that a compiler failure would affect the package stage...I'd have thought it would affect the build stage. -- Dave Hayes - Consultant - Altadena CA, USA - dave@jetcafe.org >>>> *The opinions expressed above are entirely my own* <<<< We do not stumble over mountains, but over molehills.
On Tue, Jul 09, 2013 at 01:37:45PM -0700, Dave Hayes wrote: > On 07/09/13 02:40, Anton Berezin wrote: > > On Tue, Jul 02, 2013 at 11:39:18PM +0000, Dave Hayes wrote: > >> Something is wrong with the plist. > >> > >> # make package > >> Testing if you have a C compiler and the needed header files.... > >> gcc compile.c -o compile.output > >> > >> I cannot determine if you have a C compiler. I will install the > >> perl-only implementation. > > > > I am unable to reproduce this. Something is wrong with your C compiler. > > > > What happens if you manually recreate a file called compile.c, > > put the following in there: > > > > ----------8<-----------8<-----------8<-----------8<-----------8<------ > > int main() { return 0; } > > ----------8<-----------8<-----------8<-----------8<-----------8<------ > > > > and then run > > > > $ gcc compile.c -o compile.output ; echo $? > > > > ? > > > > The module compilation fails at this stage. > > # cc -v > FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 20121221 > Target: x86_64-unknown-freebsd9.1 > Thread model: posix > # cat compile.c > int main() { return 0; } > # cc compile.c -o compile.output ; echo $? > 0 > > Just for grins: > > # ./compile.output ; echo $? > 0 > > Does this help? It's unexpected to me that a compiler failure would > affect the package stage...I'd have thought it would affect the build > stage. You perl was compiled with gcc, not clang. During configuration of the module, it tries to make a choice between a faster "XS" code, which requires C compiler, or to use a pure Perl version, which does not. It so happens, that the XS version installs a lot more files than the pure Perl does. In the ports collection, we assume that the C compiler is available and works, and thus, for this module, totally discount the possibility of not having the XS portion available. This is what you see happening, and what we'd like to find out, is why a simple "gcc compile.c" fails on your box, and then we should be able to fix it one way or another. \Anton. -- Our society can survive even a large amount of irrational regulation. -- John McCarthy
On 07/09/13 13:56, Anton Berezin wrote: > On Tue, Jul 09, 2013 at 01:37:45PM -0700, Dave Hayes wrote: >> On 07/09/13 02:40, Anton Berezin wrote: >>> On Tue, Jul 02, 2013 at 11:39:18PM +0000, Dave Hayes wrote: >>>> Something is wrong with the plist. >>>> >>>> # make package >>>> Testing if you have a C compiler and the needed header files.... >>>> gcc compile.c -o compile.output >>>> >>>> I cannot determine if you have a C compiler. I will install the >>>> perl-only implementation. >>> >>> I am unable to reproduce this. Something is wrong with your C compiler. >>> >>> What happens if you manually recreate a file called compile.c, >>> put the following in there: >>> >>> ----------8<-----------8<-----------8<-----------8<-----------8<------ >>> int main() { return 0; } >>> ----------8<-----------8<-----------8<-----------8<-----------8<------ >>> >>> and then run >>> >>> $ gcc compile.c -o compile.output ; echo $? >>> >>> ? >>> >>> The module compilation fails at this stage. >> >> # cc -v >> FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 20121221 >> Target: x86_64-unknown-freebsd9.1 >> Thread model: posix >> # cat compile.c >> int main() { return 0; } >> # cc compile.c -o compile.output ; echo $? >> 0 >> >> Just for grins: >> >> # ./compile.output ; echo $? >> 0 >> >> Does this help? It's unexpected to me that a compiler failure would >> affect the package stage...I'd have thought it would affect the build >> stage. > > You perl was compiled with gcc, not clang. Actually I believe it was, in fact, compiled with clang: # perl -V Summary of my perl5 (revision 5 version 14 subversion 4) configuration: Platform: osname=freebsd, osvers=9.1-stable, archname=amd64-freebsd uname='freebsd zfsraid 9.1-stable freebsd 9.1-stable #0 r251391m: tue jun 4 17:17:33 pdt 2013 unixwiz@cdbuilder:usrobj.1.8r1-amd64usrsrc.amd64sysfbcd64 amd64 ' config_args='-sde -Dprefix=/usr/local -Darchlib=/usr/local/lib/perl5/5.14/mach -Dprivlib=/usr/local/lib/perl5/5.14 -Dman3dir=/usr/local/lib/perl5/5.14/perl/man/man3 -Dman1dir=/usr/local/man/man1 -Dsitearch=/usr/local/lib/perl5/site_perl/5.14/mach -Dsitelib=/usr/local/lib/perl5/site_perl/5.14 -Dscriptdir=/usr/local/bin -Dsiteman3dir=/usr/local/lib/perl5/5.14/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dcc=cc -Duseshrplib -Dinc_version_list=none -Dccflags=-DAPPLLIB_EXP="/usr/local/lib/perl5/5.14/BSDPAN" -Doptimize=-O2 -pipe -fno-strict-aliasing -Ui_gdbm -Dusethreads=n -Dusemymalloc=n -Duse64bitint' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.14/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include', optimize='-O2 -pipe -fno-strict-aliasing', cppflags='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.14/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.2.1 Compatible FreeBSD Clang 3.2 (tags/RELEASE_32/final 170710)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags ='-pthread -Wl,-E -fstack-protector -L/usr/local/lib' libpth=/usr/lib /usr/local/lib libs=-lm -lcrypt -lutil perllibs=-lm -lcrypt -lutil libc=, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -Wl,-R/usr/local/lib/perl5/5.14/mach/CORE' cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF Built under freebsd Compiled at Jun 27 2013 17:07:53 @INC: /usr/local/lib/perl5/5.14/BSDPAN /usr/local/lib/perl5/site_perl/5.14/mach /usr/local/lib/perl5/site_perl/5.14 /usr/local/lib/perl5/5.14/mach /usr/local/lib/perl5/5.14 > During configuration of the > module, it tries to make a choice between a faster "XS" code, which requires > C compiler, or to use a pure Perl version, which does not. It so happens, > that the XS version installs a lot more files than the pure Perl does. > > In the ports collection, we assume that the C compiler is available and > works, and thus, for this module, totally discount the possibility of not > having the XS portion available. > > This is what you see happening, and what we'd like to find out, is why > a simple "gcc compile.c" fails on your box, and then we should be able to > fix it one way or another. Heh. The "why" is because it's not there: # gcc gcc: Command not found. This is a box with clang as cc, so there is no gcc. -- Dave Hayes - Consultant - Altadena CA, USA - dave@jetcafe.org >>>> *The opinions expressed above are entirely my own* <<<< Love thy neighbor as thyself, but choose your neighborhood.
On Tue, Jul 09, 2013 at 02:03:52PM -0700, Dave Hayes wrote: > > You perl was compiled with gcc, not clang. > > Actually I believe it was, in fact, compiled with clang: Right. The relevant configuration used by NetAddr::IP is: my $CC = $ENV{CC} || $Config{ccname}; my $command = qq|$CC compile.c -o compile.output|; %Config comes from Config.pm; what happens if you run $ perl -MConfig -le 'print $Config{ccname}' ? Same question for $ perl -MConfig -le 'print $Config{cc}' I cannot imagine your system having CC=gcc set in the environment, right? If ccname is gcc, and cc is cc, then congratulations, you have found a bug in NetAddr::IP, which should be reported. According to Config.pm's documentation: "cc" This variable holds the name of a command to execute a C compiler which can resolve multiple global references that happen to have the same name. Usual values are "cc" and "gcc". Fervent "ANSI" compilers may be called "c89". "AIX" has xlc. "ccname" This can set either by hints files or by Configure. If using gcc, this is gcc, and if not, usually equal to cc, unimpressive, no? Some platforms, however, make good use of this by storing the flavor of the C compiler being used here. For example if using the Sun WorkShop suite, ccname will be "workshop". While these descriptions do not answer the question "which one should be used" exactly, the Sun WorkShop suite example kinda hints that using ccname is wrongish. Additionally, perlembed(1) tells us to use cc: You'll have to choose the appropriate compiler (cc, gcc, et al.) for your machine: "perl -MConfig -e 'print $Config{cc}'" will tell you what to use. I'll see about patching the port, and reporting the bug to the module author. In the meantime, as a workaround, set CC=cc in your environment. \Anton. -- Our society can survive even a large amount of irrational regulation. -- John McCarthy
On 07/09/13 14:35, Anton Berezin wrote: > On Tue, Jul 09, 2013 at 02:03:52PM -0700, Dave Hayes wrote: > >>> You perl was compiled with gcc, not clang. >> >> Actually I believe it was, in fact, compiled with clang: > > Right. The relevant configuration used by NetAddr::IP is: > > my $CC = $ENV{CC} || $Config{ccname}; > my $command = qq|$CC compile.c -o compile.output|; > > %Config comes from Config.pm; what happens if you run > > $ perl -MConfig -le 'print $Config{ccname}' > > ? Ah ha. Look: # perl -MConfig -le 'print $Config{ccname}' gcc # perl -MConfig -le 'print $Config{cc}' cc You are in luck for debugging here because I am using poudriere and I have two jails, one is 9.1 with clang and one is 9.1 with stock cc. The 9.1 stock cc succeeds fine. The 9.1. with clang does not. Inside the 9.1 clang jail: # perl -MConfig -le 'print $Config{ccname}' gcc # perl -MConfig -le 'print $Config{cc}' cc # cc -v FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 20121221 Target: x86_64-unknown-freebsd9.1 Thread model: posix # gcc gcc: Command not found. > Same question for > > $ perl -MConfig -le 'print $Config{cc}' > > I cannot imagine your system having CC=gcc set in the environment, right? Not exactly. I found this tidbit on a mailing list and altered it for my ports. In /etc/make.conf just for the clang jail I have: For ports that don't build with clang _MANUAL_USE_GCC_49_PORTS_LIST+= \ _MANUAL_USE_GCC_46_PORTS_LIST+= \ emulators/virtualbox-ose-additions \ devel/kBuild .if defined(_MANUAL_USE_GCC_49_PORTS_LIST) . for _DIR in ${_MANUAL_USE_GCC_49_PORTS_LIST} . if empty(${_PORTSDIR:M/${_DIR}}) _USE_GCC_49_ON_PORT_=YES . endif . endfor .endif .if defined(_MANUAL_USE_GCC_46_PORTS_LIST) . for _DIR in ${_MANUAL_USE_GCC_49_PORTS_LIST} . if empty(${_PORTSDIR:M/${_DIR}}) _USE_GCC_46_ON_PORT_=YES . endif . endfor .endif .if defined(_USE_GCC_49_ON_PORT_) CC=gcc49 CXX=g++49 CPP=cpp49 CFLAGS+=-mssse3 .endif .if defined(_USE_GCC_46_ON_PORT_) CC=gcc46 CXX=g++46 CPP=cpp46 CFLAGS+=-mssse3 .endif # added by use.perl 2013-06-27 17:11:38 PERL_VERSION=5.14.4 This should not ever cause CC to be "gcc" but to be "gcc46" or "gcc49", even if there is a bug in the above. Right? Additionally, I built the NetAddr port both on the clang jail and the main machine just to check. The main machine is just like the clang jail machine except that I've installed various ports manually so as to be able to use the machine to build ports from poudriere. Here's further evidence no CC=gcc is in the environment. When I grep through the build logs created by trying to build NetAddr: # grep CC p5-NetAddr-IP-4.069.log INSTALLDIRS="site" CC="cc" CCFLAGS="-O2 -pipe -fno-strict-aliasing" PREFIX="/usr/local" INSTALLPRIVLIB="/usr/local/lib" INSTALLARCHLIB="/usr/local/lib" TMPDIR="/tmp" SHELL=/bin/sh CONFIG_SHELL=/bin/sh PERL_EXTUTILS_AUTOINSTALL="--skipdeps" PERL_MM_USE_DEFAULT="YES" PATH=/usr/local/libexec/ccache:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin CCACHE_DIR="/root/.ccache" TMPDIR="/tmp" SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local MOTIFLIB="-L/usr/local/lib -lXm -lXp" LIBDIR="/usr/lib" CC="cc" CFLAGS="-O2 -pipe -fno-strict-aliasing" CPP="cpp" CPPFLAGS="" LDFLAGS="" CXX="c++" CXXFLAGS="-O2 -pipe -fno-strict-aliasing" MANPREFIX="/usr/local" PATH=/usr/local/libexec/ccache:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin CCACHE_DIR="/root/.ccache" BSD_INSTALL_PROGRAM="install -s -o root -g wheel -m 555" BSD_INSTALL_LIB="install -s -o root -g wheel -m 444" BSD_INSTALL_SCRIPT="install -o root -g wheel -m 555" BSD_INSTALL_DATA="install -o root -g wheel -m 444" BSD_INSTALL_MAN="install -o root -g wheel -m 444" WITH_CCACHE_BUILD=yes CCACHE_DIR=/root/.ccache I think, if anything, that CC=cc. > I'll see about patching the port, and reporting the bug to the module > author. In the meantime, as a workaround, set CC=cc in your environment. This already appears to be the case from the above, sadly. My canonical workaround for these issues is to copy the package that builds in the gcc'd 9.1 to the list of packages for the clang'd 9.1. I'd imagine that is kind of naive, but it's working so far. Do you see any problems with this? -- Dave Hayes - Consultant - Altadena CA, USA - dave@jetcafe.org >>>> *The opinions expressed above are entirely my own* <<<< A philosopher called on Nasrudin and found him away from home. Infuriated, he wrote 'Stupid Oaf' on his door. As soon as Nasrudin got home and saw this, he rushed to the philosopher's house. "I'd forgotten", he said, "that you were to call. And I apologize for not having been at home. I remembered our appointment as soon as I saw that you'd left your name on my door..."
Author: tobez Date: Wed Jul 10 13:42:41 2013 New Revision: 322696 URL: http://svnweb.freebsd.org/changeset/ports/322696 Log: Make it package correctly on clang-only boxes. PR: 180220 Submitted by: Dave Hayes <dave@jetcafe.org> Added: head/net-mgmt/p5-NetAddr-IP/files/ head/net-mgmt/p5-NetAddr-IP/files/patch-Lite-Util-Makefile.PL (contents, props changed) Modified: head/net-mgmt/p5-NetAddr-IP/Makefile Modified: head/net-mgmt/p5-NetAddr-IP/Makefile ============================================================================== --- head/net-mgmt/p5-NetAddr-IP/Makefile Wed Jul 10 13:40:57 2013 (r322695) +++ head/net-mgmt/p5-NetAddr-IP/Makefile Wed Jul 10 13:42:41 2013 (r322696) @@ -3,6 +3,7 @@ PORTNAME= NetAddr-IP PORTVERSION= 4.069 +PORTREVISION= 1 CATEGORIES= net-mgmt perl5 MASTER_SITES= CPAN PKGNAMEPREFIX= p5- Added: head/net-mgmt/p5-NetAddr-IP/files/patch-Lite-Util-Makefile.PL ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-mgmt/p5-NetAddr-IP/files/patch-Lite-Util-Makefile.PL Wed Jul 10 13:42:41 2013 (r322696) @@ -0,0 +1,11 @@ +--- ./Lite/Util/Makefile.PL.orig 2013-07-10 15:38:50.000000000 +0200 ++++ ./Lite/Util/Makefile.PL 2013-07-10 15:38:55.000000000 +0200 +@@ -205,7 +205,7 @@ sub test_cc { + return; + } + +- my $CC = $ENV{CC} || $Config{ccname}; ++ my $CC = $ENV{CC} || $Config{cc}; + my $command = qq|$CC compile.c -o compile.output|; + + print F <<'EOF'; _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed The fix has been committed. Thank you for your submission.