# Missing compiler?



## dougs (Jan 3, 2014)

While trying to update the Perl 5.16 port, I ran into an issue where the update process complained of a missing compiler. I decided to uninstall and reinstall. That didn't work.


```
root@dorado:/usr/ports/lang/perl5.16# make install clean
===>  Configuring for perl5-5.16.3_6
First let's make sure your kit is complete.  Checking...
Would you like to see the instructions? [n]  
Locating common programs...
Checking compatibility between /bin/echo and builtin echo (if any)...
Symbolic links are supported.
Checking how to test for symbolic links...
You can test for symbolic links with 'test -h'.
Good, your tr supports [:lower:] and [:upper:] to convert case.
Using [:upper:] and [:lower:] to convert case.
3b1             dragonfly       irix_6_0        opus            super-ux   
aix             dynix           irix_6_1        os2             svr4   
aix_3           dynixptx        isc             os390           svr5   
aix_4           epix            isc_2           os400           ti1500   
altos486        esix4           linux           posix-bc        titanos   
amigaos         fps             lynxos          powerux         ultrix_4   
atheos          freebsd         midnightbsd     qnx             umips   
aux_3           genix           mips            rhapsody        unicos   
beos            gnu             mirbsd          riscos          unicosmk   
bsdos           gnukfreebsd     mpc             sco             unisysdynix   
catamount       gnuknetbsd      mpeix           sco_2_3_0       utekv   
convexos        greenhills      ncr_tower       sco_2_3_1       uts   
cxux            haiku           netbsd          sco_2_3_2       uwin   
cygwin          hpux            newsos4         sco_2_3_3       vmesa   
darwin          i386            next_3          sco_2_3_4       vos   
dcosx           interix         next_3_0        solaris_2   
dec_osf         irix_4          next_4          stellar   
dgux            irix_5          nonstopux       sunos_4_0   
dos_djgpp       irix_6          openbsd         sunos_4_1   
Which of these apply, if any? [freebsd]  

Some users have reported that Configure halts when testing for
the O_NONBLOCK symbol with a syntax error.  This is apparently a
sh error.  Rerunning Configure with ksh apparently fixes the
problem.  Try
        ksh Configure [your options]

Operating system name? [freebsd]  
Operating system version? [9.1-release-p3]  
Installation prefix to use? (~name ok) [/usr/local]  
AFS does not seem to be running...
What installation prefix should I use for installing files? (~name ok)
[/usr/local]  
Getting the current patchlevel...
Build a threading Perl? [y]  
Use which C compiler? [cc]  
/usr/lib/libpthread.so: undefined reference to `__fillcontextx2@FBSDprivate_1.0'
Uh-oh, the C compiler 'cc' doesn't seem to be working.
You seem to have a working gcc, though.
Would you like to use it? [y]  
/usr/lib/libpthread.so: undefined reference to `__fillcontextx2@FBSDprivate_1.0'
You need to find a working C compiler.
Either (purchase and) install the C compiler supplied by your OS vendor,
or for a free C compiler try http://gcc.gnu.org/
I cannot continue any further, aborting.
===>  Script "Configure" failed unexpectedly.
Please report the problem to perl@FreeBSD.org [maintainer] and attach the
"/usr/ports/lang/perl5.16/work/perl-5.16.3/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. a /usr/sbin/pkg_info
-Ea).
*** [do-configure] Error code 1

Stop in /usr/ports/lang/perl5.16.
*** [install] Error code 1

Stop in /usr/ports/lang/perl5.16.
root@dorado:/usr/ports/lang/perl5.16#
```

What happened to my compiler? The update process worked fine on all of my other systems.


```
root@dorado:/usr/ports/lang/perl5.16# less /etc/make.conf
#turn off graphic for server
WITHOUT_X11=YES
WITHOUT_FONTCONFIG=YES

#WITH_PKGNG=yes
root@dorado:/usr/ports/lang/perl5.16#
```


```
root@dorado:/usr/ports/lang/perl5.16# less /etc/sysctl.conf
# $FreeBSD: release/9.2.0/etc/sysctl.conf 112200 2003-03-13 18:43:50Z mux $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0

kern.maxfiles=16384
kern.maxfilesperproc=16384

# Increase number of vnodes; we've seen vfs.numvnodes reach 115,000
# at times.  Default max is a little over 200,000.  Playing it safe...
# If numvnodes reaches maxvnode performance substantially decreases.
kern.maxvnodes=250000

# Set TXG write limit to a lower threshold.  This helps "level out"
# the throughput rate (see "zpool iostat").  A value of 256MB works well
# for systems with 4 GB of RAM, while 1 GB works well for us w/ 8 GB on 
# disks which have 64 MB cache. <<BR>>

# NOTE: in <v28, this tunable is called 'vfs.zfs.txg.write_limit_override'.
vfs.zfs.write_limit_override=1073741824

# Be aware that the vfs.zfs.write_limit_override tuning you see above
# may need to be adjusted for your system.  It's up to you to figure out
# what works best in your environment.

kern.ipc.maxsockbuf=16777216
net.inet.tcp.sendspace=1048576
net.inet.tcp.recvspace=1048576
net.inet.tcp.sendbuf_max=8388608
net.inet.tcp.recvbuf_max=8388608
net.inet.tcp.delayed_ack=0
root@dorado:/usr/ports/lang/perl5.16#
```

I don't see anything amiss. This is a 9.1-RELEASE binary install on an amd64 machine. This is the system where I tried to upgrade to 9.2-RELEASE using freebsd-update and failed. I've just now managed to bring this machine back to where I now can run `freebsd-update fetch install` without errors (see viewtopic.php?f=4&t=44019 for more details). Perhaps the upgrade attempt borked the compiler?

~Doug


----------

