Clang without gcc?

I always use clang. Then I want to remove gcc.
$ sudo pacman -R gcc
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: clang: requires gcc=4.6.2
:: libtool: requires gcc=4.6.2
$
Any ideas?

pyknite wrote:
falcongg wrote:
The clang from extra repo depends on gcc, you can remove it with
pacman -Rddn
but clang will not work thus it needs gcc linker. I don't know why in the world author of clang package made it completely gcc dependable. It's hell. I'm looking for a way to run clang/llvm without gcc at all. Will post results if I achieve this.
That's weird... clang can (should) use the llvm linker insteand of gcc...
The words "linker" and "gcc" or "clang" do not go together...

Similar Messages

  • GCC as main compiler on 10.9

    Hello, I have been unable to succesfully install gcc 4.8 or 4.9 on Mac OS X Mavericks. Nor i can use clang anymore as well. I tried installing GCC with homebrew and followed some instructions to add plugin for XCode but it seems it broke both of the compilers. Mainly i want GCC because clang won't allow me to have definitions in separate cpp file. I get error that compiler can't 'read' symobls, but when i put definition in header file everything works fine.

    colask8 wrote:
    And so on, i have found that clang has bugs as ****.
    Such as? Clang has a very active development community. The possibility that it would have any bug that could impede the progress of a developer ranges from virtually zero for experts to absolute zero for beginners.
    So that might be the reason why i wanted to use gcc, but i see as you stated that they dont want to get involved with apple anymore.
    You are unsure about why you wanted to use GCC?
    GNU never wanted to be involved with Apple. It was only a bug in their licensing that allowed Apple to use GCC. When GNU fixed that bug with version 3 of the GPL, Apple started heavy developlent of LLVM and, eventually, CLang.
    So if you know the way to update to clang 3.5? Because i cannot seem to find a proper tutorial for it. Thank you
    There are no such tutorials. If you want to install a private build of Clang, or GCC for that matter, just do it. It is not a simple task and I doubt you will find any tutorials. That is something that the developers of those compilers might do.
    What I suggest you do is clearly explain what you are trying to do, at a very high level. What code are you trying to compile that the built-in compiler in Xcode cannot compile?

  • [SOLVED] Cannot upgrade because of clang

    I did pacman -Syu today and got the following:
    $ sudo pacman -Syu
    :: Synchronizing package databases...
    core                     35.9K  198.3K/s 00:00:00 [######################] 100%
    extra                   457.2K  518.1K/s 00:00:01 [######################] 100%
    community               414.6K  543.4K/s 00:00:01 [######################] 100%
    archlinuxfr is up to date
    :: Starting full system upgrade...
    resolving dependencies...
    looking for inter-conflicts...
    error: failed to prepare transaction (could not satisfy dependencies)
    :: clang: requires gcc=4.5.1
    $ pacman -Qi gcc
    Name           : gcc
    Version        : 4.5.1-2
    URL            : http://gcc.gnu.org
    Licenses       : GPL  LGPL  custom
    Groups         : base-devel
    Provides       : None
    Depends On     : binutils>=2.20.1  libmpc>=0.8.1-2  cloog-ppl>=0.15.9-2
                     elfutils
    Optional Deps  : None
    Required By    : chicken  clang  gcc-ada  gcc-fortran  gcc-objc  ghc  htmldoc
                     setconf  virtualbox
    Conflicts With : None
    Replaces       : None
    Installed Size : 58252.00 K
    Packager       : Unknown Packager
    Architecture   : i686
    Build Date     : Sat 27 Nov 2010 12:17:43 PM EET
    Install Date   : Mon 29 Nov 2010 11:56:15 PM EET
    Install Reason : Explicitly installed
    Install Script : Yes
    Description    : The GNU Compiler Collection
    Am I doing something wrong?
    Edit:
    Oops, I'll just have to wait for the clang update to hit my mirror.
    Sorry for the confusion.
    Last edited by mrshpot (2010-12-30 05:47:27)

    What the heck were you doing in that pacman transation?  1 GB was added, and nearly 2 GB removed?
    I can't help but suspect that was part of it.  But in either case, you should check what is filling up /var/ as the package cache should not be a major issue.  Are logs filling up?  In other words, are you ignoring your computer screaming at you about some other problem?

  • Ipmitool 1.8.14 can't install on MAC 10.9

    I used Macbook pro & MAC OS 10.9.4, and I tried to install ipmitool 1.8.14.. But installation is failed.
    I caught the install log and show them. Please help to check this issue, ths.
    my ipmitool 1.8.14 source link: http://sourceforge.net/projects/ipmitool/files/ipmitool/1.8.14/
    install log
    ===================
    CasparMBP:ipmitool-1.8.14 Caspar$ sudo sh configure
    checking build system type... x86_64-apple-darwin13.3.0
    checking host system type... x86_64-apple-darwin13.3.0
    checking target system type... x86_64-apple-darwin13.3.0
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... ./install-sh -c -d
    checking for gawk... no
    checking for mawk... no
    checking for nawk... no
    checking for awk... awk
    checking whether make sets $(MAKE)... yes
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking for style of include used by make... GNU
    checking dependency style of gcc... gcc3
    checking whether ln -s works... yes
    checking whether make sets $(MAKE)... (cached) yes
    checking for rpmbuild... rpm
    checking for sed... sed
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking for stdlib.h... (cached) yes
    checking for string.h... (cached) yes
    checking sys/ioctl.h usability... yes
    checking sys/ioctl.h presence... yes
    checking for sys/ioctl.h... yes
    checking for sys/stat.h... (cached) yes
    checking for unistd.h... (cached) yes
    checking paths.h usability... yes
    checking paths.h presence... yes
    checking for paths.h... yes
    checking arpa/inet.h usability... yes
    checking arpa/inet.h presence... yes
    checking for arpa/inet.h... yes
    checking fcntl.h usability... yes
    checking fcntl.h presence... yes
    checking for fcntl.h... yes
    checking netdb.h usability... yes
    checking netdb.h presence... yes
    checking for netdb.h... yes
    checking netinet/in.h usability... yes
    checking netinet/in.h presence... yes
    checking for netinet/in.h... yes
    checking sys/socket.h usability... yes
    checking sys/socket.h presence... yes
    checking for sys/socket.h... yes
    checking sys/byteorder.h usability... no
    checking sys/byteorder.h presence... no
    checking for sys/byteorder.h... no
    checking byteswap.h usability... no
    checking byteswap.h presence... no
    checking for byteswap.h... no
    checking for an ANSI C-conforming const... yes
    checking for inline... inline
    checking whether byte ordering is bigendian... no
    checking for stdlib.h... (cached) yes
    checking for GNU libc compatible malloc... yes
    checking sys/select.h usability... yes
    checking sys/select.h presence... yes
    checking for sys/select.h... yes
    checking for sys/socket.h... (cached) yes
    checking types of arguments for select... int,fd_set *,struct timeval *
    checking for working strtod... yes
    checking for alarm... yes
    checking for gethostbyname... yes
    checking for getaddrinfo... yes
    checking for getifaddrs... yes
    checking for socket... yes
    checking for select... yes
    checking for memmove... yes
    checking for memset... yes
    checking for strchr... yes
    checking for strdup... yes
    checking for strerror... yes
    checking for getpassphrase... no
    checking how to print strings... printf
    checking for a sed that does not truncate output... sed
    checking for fgrep... /usr/bin/grep -F
    checking for ld used by gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ usr/bin/ld
    checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain /usr/bin/ld) is GNU ld... no
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm
    checking the name lister (/usr/bin/nm) interface... BSD nm
    checking the maximum length of command line arguments... 196608
    checking whether the shell understands some XSI constructs... yes
    checking whether the shell understands "+="... yes
    checking how to convert x86_64-apple-darwin13.3.0 file names to x86_64-apple-darwin13.3.0 format... func_convert_file_noop
    checking how to convert x86_64-apple-darwin13.3.0 file names to toolchain format... func_convert_file_noop
    checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ usr/bin/ld option to reload object files... -r
    checking for objdump... no
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... no
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm output from gcc object... ok
    checking for sysroot... no
    checking for mt... no
    checking if : is a manifest tool... no
    checking for dsymutil... dsymutil
    checking for nmedit... nmedit
    checking for lipo... lipo
    checking for otool... otool
    checking for otool64... no
    checking for -single_module linker flag... yes
    checking for -exported_symbols_list linker flag... yes
    checking for -force_load linker flag... yes
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... yes
    checking for gcc option to produce PIC... -fno-common -DPIC
    checking if gcc PIC flag -fno-common -DPIC works... yes
    checking if gcc static flag -static works... no
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain /usr/bin/ld) supports shared libraries... yes
    checking dynamic linker characteristics... darwin13.3.0 dyld
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    checking for library containing gethostbyname... none required
    checking for library containing getaddrinfo... none required
    checking for library containing getifaddrs... none required
    checking for library containing socket... none required
    checking for EVP_aes_128_cbc in -lcrypto... yes
    checking for MD5_Init in -lcrypto... yes
    checking for MD2_Init in -lcrypto... yes
    checking for linux/compiler.h... no
    checking sys/ioccom.h usability... yes
    checking sys/ioccom.h presence... yes
    checking for sys/ioccom.h... yes
    checking linux/ipmi.h usability... no
    checking linux/ipmi.h presence... no
    checking for linux/ipmi.h... no
    checking sys/ipmi.h usability... no
    checking sys/ipmi.h presence... no
    checking for sys/ipmi.h... no
    ** Unable to find OpenIPMI header files.  Using internal version.
    checking for ipmi_open_inband in -lfreeipmi... no
    checking for ipmi_ctx_open_inband in -lfreeipmi... no
    checking termios.h usability... yes
    checking termios.h presence... yes
    checking for termios.h... yes
    checking sys/lipmi/lipmi_intf.h usability... no
    checking sys/lipmi/lipmi_intf.h presence... no
    checking for sys/lipmi/lipmi_intf.h... no
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating doc/Makefile
    config.status: creating contrib/Makefile
    config.status: creating control/Makefile
    config.status: creating control/pkginfo
    config.status: creating control/prototype
    config.status: creating control/rpmmacros
    config.status: creating control/ipmitool.spec
    config.status: creating lib/Makefile
    config.status: creating include/Makefile
    config.status: creating include/ipmitool/Makefile
    config.status: creating src/Makefile
    config.status: creating src/plugins/Makefile
    config.status: creating src/plugins/lan/Makefile
    config.status: creating src/plugins/lanplus/Makefile
    config.status: creating src/plugins/open/Makefile
    config.status: creating src/plugins/free/Makefile
    config.status: creating src/plugins/imb/Makefile
    config.status: creating src/plugins/bmc/Makefile
    config.status: creating src/plugins/lipmi/Makefile
    config.status: creating src/plugins/serial/Makefile
    config.status: creating src/plugins/dummy/Makefile
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    ipmitool 1.8.14
    Interfaces
      lan     : yes
      lanplus : yes
      open    : no
      free    : no
      imb     : no
      bmc     : no
      lipmi   : no
      serial  : yes
      dummy   : no
    Extra tools
      ipmievd   : yes
      ipmishell : no
    CasparMBP:ipmitool-1.8.14 Caspar$ sudo make
    /Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
    Making all in lib
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT helper.lo -MD -MP -MF .deps/helper.Tpo -c -o helper.lo helper.c
    mv -f .deps/helper.Tpo .deps/helper.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_sdr.lo -MD -MP -MF .deps/ipmi_sdr.Tpo -c -o ipmi_sdr.lo ipmi_sdr.c
    ipmi_sdr.c:3030:22: warning: implicit declaration of function
          'ipmi_intf_get_max_response_data_size' is invalid in C99 [-Wimplicit-function-declaration]
                    sdr_max_read_len = ipmi_intf_get_max_response_data_size(intf) - 2;
                                       ^
    1 warning generated.
    mv -f .deps/ipmi_sdr.Tpo .deps/ipmi_sdr.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_sel.lo -MD -MP -MF .deps/ipmi_sel.Tpo -c -o ipmi_sel.lo ipmi_sel.c
    ipmi_sel.c:1210:11: warning: 27 enumeration values not handled in switch: 'IPMI_OEM_UNKNOWN',
          'IPMI_OEM_HP', 'IPMI_OEM_SUN'... [-Wswitch]
                            switch(iana){
                                   ^
    ipmi_sel.c:1243:12: warning: 29 enumeration values not handled in switch: 'IPMI_OEM_UNKNOWN',
          'IPMI_OEM_HP', 'IPMI_OEM_SUN'... [-Wswitch]
                            switch (ipmi_get_oem(intf)) {
                                    ^
    ipmi_sel.c:1913:11: warning: 29 enumeration values not handled in switch: 'IPMI_OEM_UNKNOWN',
          'IPMI_OEM_HP', 'IPMI_OEM_SUN'... [-Wswitch]
                    switch (ipmi_get_oem(intf)) {
                            ^
    ipmi_sel.c:2384:31: warning: expression result unused [-Wunused-value]
                            evt.sel_type.standard_type.timestamp;
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~
    4 warnings generated.
    mv -f .deps/ipmi_sel.Tpo .deps/ipmi_sel.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_sol.lo -MD -MP -MF .deps/ipmi_sol.Tpo -c -o ipmi_sol.lo ipmi_sol.c
    mv -f .deps/ipmi_sol.Tpo .deps/ipmi_sol.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_pef.lo -MD -MP -MF .deps/ipmi_pef.Tpo -c -o ipmi_pef.lo ipmi_pef.c
    mv -f .deps/ipmi_pef.Tpo .deps/ipmi_pef.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_lanp.lo -MD -MP -MF .deps/ipmi_lanp.Tpo -c -o ipmi_lanp.lo ipmi_lanp.c
    mv -f .deps/ipmi_lanp.Tpo .deps/ipmi_lanp.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_fru.lo -MD -MP -MF .deps/ipmi_fru.Tpo -c -o ipmi_fru.lo ipmi_fru.c
    ipmi_fru.c:457:26: warning: implicit declaration of function
          'ipmi_intf_get_max_request_data_size' is invalid in C99 [-Wimplicit-function-declaration]
                    uint16_t max_rq_size = ipmi_intf_get_max_request_data_size(intf);
                                           ^
    ipmi_fru.c:627:26: warning: implicit declaration of function
          'ipmi_intf_get_max_response_data_size' is invalid in C99 [-Wimplicit-function-declaration]
                    uint16_t max_rs_size = ipmi_intf_get_max_response_data_size(intf) - 1;
                                           ^
    ipmi_fru.c:2798:8: warning: format specifies type 'long' but the argument has type 'unsigned int'
          [-Wformat]
                                                            freq, min_freq, max_freq);
                                                            ^~~~
    ipmi_fru.c:2798:14: warning: format specifies type 'long' but the argument has type
          'unsigned int' [-Wformat]
                                                            freq, min_freq, max_freq);
                                                                  ^~~~~~~~
    ipmi_fru.c:2798:24: warning: format specifies type 'long' but the argument has type
          'unsigned int' [-Wformat]
                                                            freq, min_freq, max_freq);
                                                                            ^~~~~~~~
    ipmi_fru.c:3035:8: warning: implicit declaration of function 'ipmi_spd_print_fru' is invalid in
          C99 [-Wimplicit-function-declaration]
                    rc = ipmi_spd_print_fru(intf, fru->device_id);
                         ^
    ipmi_fru.c:4966:46: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
          'const char *' converts between pointers to integer types with different sign
          [-Wpointer-sign]
            num_byte_change = strlen(f_string) - strlen(fru_area);
                                                        ^~~~~~~~
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S DKs/MacOSX10.9.sdk/usr/include/string.h:82:28: note:
          passing argument to parameter here
    size_t   strlen(const char *);
                                ^
    ipmi_fru.c:5082:73: warning: comparison of unsigned expression < 0 is always false
          [-Wtautological-compare]
                    if(((header.offset.product * 8) + product_len_new - remaining_offset) < 0)
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
    ipmi_fru.c:5127:11: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type
          'const char *' converts between pointers to integer types with different sign
          [-Wpointer-sign]
                            strlen(fru_area)),
                                   ^~~~~~~~
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S DKs/MacOSX10.9.sdk/usr/include/secure/_string.h:65:33: note:
          expanded from macro 'memcpy'
      __builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
                                    ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S DKs/MacOSX10.9.sdk/usr/include/string.h:82:28: note:
          passing argument to parameter here
    size_t   strlen(const char *);
                                ^
    9 warnings generated.
    mv -f .deps/ipmi_fru.Tpo .deps/ipmi_fru.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_chassis.lo -MD -MP -MF .deps/ipmi_chassis.Tpo -c -o ipmi_chassis.lo ipmi_chassis.c
    mv -f .deps/ipmi_chassis.Tpo .deps/ipmi_chassis.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_mc.lo -MD -MP -MF .deps/ipmi_mc.Tpo -c -o ipmi_mc.lo ipmi_mc.c
    ipmi_mc.c:137:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "recv_msg_intr",
                    ^~~~~
                    .name =
    ipmi_mc.c:138:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "Receive Message Queue Interrupt",
                    ^~~~~
                    .desc =
    ipmi_mc.c:139:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    mask:   1<<0,
                    ^~~~~
                    .mask =
    ipmi_mc.c:142:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "event_msg_intr",
                    ^~~~~
                    .name =
    ipmi_mc.c:143:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "Event Message Buffer Full Interrupt",
                    ^~~~~
                    .desc =
    ipmi_mc.c:144:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    mask:   1<<1,
                    ^~~~~
                    .mask =
    ipmi_mc.c:147:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "event_msg",
                    ^~~~~
                    .name =
    ipmi_mc.c:148:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "Event Message Buffer",
                    ^~~~~
                    .desc =
    ipmi_mc.c:149:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    mask:   1<<2,
                    ^~~~~
                    .mask =
    ipmi_mc.c:152:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "system_event_log",
                    ^~~~~
                    .name =
    ipmi_mc.c:153:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "System Event Logging",
                    ^~~~~
                    .desc =
    ipmi_mc.c:154:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    mask:   1<<3,
                    ^~~~~
                    .mask =
    ipmi_mc.c:157:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "oem0",
                    ^~~~~
                    .name =
    ipmi_mc.c:158:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "OEM 0",
                    ^~~~~
                    .desc =
    ipmi_mc.c:159:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    mask:   1<<5,
                    ^~~~~
                    .mask =
    ipmi_mc.c:162:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "oem1",
                    ^~~~~
                    .name =
    ipmi_mc.c:163:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "OEM 1",
                    ^~~~~
                    .desc =
    ipmi_mc.c:164:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    mask:   1<<6,
                    ^~~~~
                    .mask =
    ipmi_mc.c:167:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "oem2",
                    ^~~~~
                    .name =
    ipmi_mc.c:168:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "OEM 2",
                    ^~~~~
                    .desc =
    ipmi_mc.c:169:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    mask:   1<<7,
                    ^~~~~
                    .mask =
    ipmi_mc.c:1060:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts
          between pointers to integer types with different sign [-Wpointer-sign]
                                    strncpy(paramdata + 4, str + pos, IPMI_SYSINFO_SET0_SIZE);
                                            ^~~~~~~~~~~~~
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S DKs/MacOSX10.9.sdk/usr/include/secure/_string.h:119:28: note:
          expanded from macro 'strncpy'
      __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                               ^
    ipmi_mc.c:1064:13: warning: passing 'unsigned char *' to parameter of type 'char *' converts
          between pointers to integer types with different sign [-Wpointer-sign]
                                    strncpy(paramdata + 2, str + pos, IPMI_SYSINFO_SETN_SIZE);
                                            ^~~~~~~~~~~~~
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S DKs/MacOSX10.9.sdk/usr/include/secure/_string.h:119:28: note:
          expanded from macro 'strncpy'
      __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                               ^
    23 warnings generated.
    mv -f .deps/ipmi_mc.Tpo .deps/ipmi_mc.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT log.lo -MD -MP -MF .deps/log.Tpo -c -o log.lo log.c
    mv -f .deps/log.Tpo .deps/log.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT dimm_spd.lo -MD -MP -MF .deps/dimm_spd.Tpo -c -o dimm_spd.lo dimm_spd.c
    dimm_spd.c:734:9: warning: initializing 'char *' with an expression of type 'uint8_t *'
          (aka 'unsigned char *') converts between pointers to integer types with different sign
          [-Wpointer-sign]
                    char *pchPN = spd_data+128;
                          ^       ~~~~~~~~~~~~
    1 warning generated.
    mv -f .deps/dimm_spd.Tpo .deps/dimm_spd.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_sensor.lo -MD -MP -MF .deps/ipmi_sensor.Tpo -c -o ipmi_sensor.lo ipmi_sensor.c
    mv -f .deps/ipmi_sensor.Tpo .deps/ipmi_sensor.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_channel.lo -MD -MP -MF .deps/ipmi_channel.Tpo -c -o ipmi_channel.lo ipmi_channel.c
    mv -f .deps/ipmi_channel.Tpo .deps/ipmi_channel.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_event.lo -MD -MP -MF .deps/ipmi_event.Tpo -c -o ipmi_event.lo ipmi_event.c
    mv -f .deps/ipmi_event.Tpo .deps/ipmi_event.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_session.lo -MD -MP -MF .deps/ipmi_session.Tpo -c -o ipmi_session.lo ipmi_session.c
    mv -f .deps/ipmi_session.Tpo .deps/ipmi_session.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_strings.lo -MD -MP -MF .deps/ipmi_strings.Tpo -c -o ipmi_strings.lo ipmi_strings.c
    mv -f .deps/ipmi_strings.Tpo .deps/ipmi_strings.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_user.lo -MD -MP -MF .deps/ipmi_user.Tpo -c -o ipmi_user.lo ipmi_user.c
    mv -f .deps/ipmi_user.Tpo .deps/ipmi_user.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_raw.lo -MD -MP -MF .deps/ipmi_raw.Tpo -c -o ipmi_raw.lo ipmi_raw.c
    ipmi_raw.c:182:2: warning: implicit declaration of function 'ipmi_spd_print' is invalid in C99
          [-Wimplicit-function-declaration]
            ipmi_spd_print(spd_data, i);
            ^
    1 warning generated.
    mv -f .deps/ipmi_raw.Tpo .deps/ipmi_raw.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_oem.lo -MD -MP -MF .deps/ipmi_oem.Tpo -c -o ipmi_oem.lo ipmi_oem.c
    ipmi_oem.c:45:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "supermicro",
                    ^~~~~
                    .name =
    ipmi_oem.c:46:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "Supermicro IPMIv1.5 BMC with OEM LAN authentication support",
                    ^~~~~
                    .desc =
    ipmi_oem.c:47:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    setup:  ipmi_oem_supermicro,
                    ^~~~~~
                    .setup =
    ipmi_oem.c:50:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "intelwv2",
                    ^~~~~
                    .name =
    ipmi_oem.c:51:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "Intel SE7501WV2 IPMIv1.5 BMC with extra LAN communication support",
                    ^~~~~
                    .desc =
    ipmi_oem.c:54:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "intelplus",
                    ^~~~~
                    .name =
    ipmi_oem.c:55:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "Intel IPMI 2.0 BMC with RMCP+ communication support",
                    ^~~~~
                    .desc =
    ipmi_oem.c:58:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "icts",
                    ^~~~~
                    .name =
    ipmi_oem.c:59:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "IPMI 2.0 ICTS compliance support",
                    ^~~~~
                    .desc =
    ipmi_oem.c:62:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "ibm",
                    ^~~~~
                    .name =
    ipmi_oem.c:63:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "IBM OEM support",
                    ^~~~~
                    .desc =
    ipmi_oem.c:64:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    setup:  ipmi_oem_ibm,
                    ^~~~~~
                    .setup =
    ipmi_oem.c:67:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "i82571spt",
                    ^~~~~
                    .name =
    ipmi_oem.c:68:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "Intel 82571 MAC with integrated RMCP+ support in super pass-thro...
                    ^~~~~
                    .desc =
    ipmi_oem.c:71:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    name:   "kontron",
                    ^~~~~
                    .name =
    ipmi_oem.c:72:3: warning: use of GNU old-style field designator extension [-Wgnu-designator]
                    desc:   "Kontron OEM big buffer support"
                    ^~~~~
                    .desc =
    16 warnings generated.
    mv -f .deps/ipmi_oem.Tpo .deps/ipmi_oem.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_isol.lo -MD -MP -MF .deps/ipmi_isol.Tpo -c -o ipmi_isol.lo ipmi_isol.c
    ipmi_isol.c:618:42: warning: passing 'char *' to parameter of type 'uint8_t *'
          (aka 'unsigned char *') converts between pointers to integer types with different sign
          [-Wpointer-sign]
                                            int rc = processiSolUserInput(intf, buffer, numRead);
                                                                                ^~~~~~
    ipmi_isol.c:458:17: note: passing argument to parameter 'input' here
                        uint8_t * input,
                                  ^
    1 warning generated.
    mv -f .deps/ipmi_isol.Tpo .deps/ipmi_isol.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_sunoem.lo -MD -MP -MF .deps/ipmi_sunoem.Tpo -c -o ipmi_sunoem.lo ipmi_sunoem.c
    ipmi_sunoem.c:1443:6: warning: format specifies type 'unsigned int' but the argument has type
          'unsigned long' [-Wformat]
                                            sizeof(sunoem_echo_msg_t), echo_rsp->seq_num, resp_time);
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~
    ipmi_sunoem.c:2296:10: warning: passing 'unsigned char [32]' to parameter of type 'char *'
          converts between pointers to integer types with different sign [-Wpointer-sign]
            strncpy(getbehavior_req.behavior_id, argv[0], SUNOEM_BEHAVIORID_SIZE - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S DKs/MacOSX10.9.sdk/usr/include/secure/_string.h:119:28: note:
          expanded from macro 'strncpy'
      __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                               ^
    2 warnings generated.
    mv -f .deps/ipmi_sunoem.Tpo .deps/ipmi_sunoem.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_fwum.lo -MD -MP -MF .deps/ipmi_fwum.Tpo -c -o ipmi_fwum.lo ipmi_fwum.c
    mv -f .deps/ipmi_fwum.Tpo .deps/ipmi_fwum.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_picmg.lo -MD -MP -MF .deps/ipmi_picmg.Tpo -c -o ipmi_picmg.lo ipmi_picmg.c
    ipmi_picmg.c:1737:30: warning: passing 'unsigned char *' to parameter of type 'int8_t *'
          (aka 'signed char *') converts between pointers to integer types with different sign
          [-Wpointer-sign]
                     if (is_clk_resid(argv[6], &msg_data[10]) != 0) {
                                               ^~~~~~~~~~~~~
    ipmi_picmg.c:328:44: note: passing argument to parameter 'clk_resid_ptr' here
    is_clk_resid(const char *argv_ptr, int8_t *clk_resid_ptr)
                                               ^
    ipmi_picmg.c:1754:29: warning: format specifies type 'long' but the argument has type 'uint32_t'
          (aka 'unsigned int') [-Wformat]
    printf("## freq:    %ld\n", freq );
                        ~~~     ^~~~
                        %u
    ipmi_picmg.c:2306:15: warning: assigning to 'uint8_t *' (aka 'unsigned char *') from 'char *'
          converts between pointers to integer types with different sign [-Wpointer-sign]
            req.msg.data = &msg_data;
                         ^ ~~~~~~~~~
    ipmi_picmg.c:2344:16: warning: assigning to 'uint8_t *' (aka 'unsigned char *') from 'char *'
          converts between pointers to integer types with different sign [-Wpointer-sign]
                    req.msg.data = &msg_data;
                                 ^ ~~~~~~~~~
    4 warnings generated.
    mv -f .deps/ipmi_picmg.Tpo .deps/ipmi_picmg.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_main.lo -MD -MP -MF .deps/ipmi_main.Tpo -c -o ipmi_main.lo ipmi_main.c
    ipmi_main.c:329:11: warning: operator '<<' has lower precedence than '+'; '+' will be evaluated
          first [-Wshift-op-parentheses]
                    *q = *q + b << shift;
                         ~~~^~~ ~~
    ipmi_main.c:329:11: note: place parentheses around the '+' expression to silence this warning
                    *q = *q + b << shift;
                            ^
    ipmi_main.c:525:10: warning: assigning to 'unsigned char *' from 'char *' converts between
          pointers to integer types with different sign [-Wpointer-sign]
                            kgkey = strdup(optarg);
                                  ^ ~~~~~~~~~~~~~~
    ipmi_main.c:537:11: warning: assigning to 'unsigned char *' from 'char *' converts between
          pointers to integer types with different sign [-Wpointer-sign]
                                    kgkey = strdup(tmp_env);
                                          ^ ~~~~~~~~~~~~~~~
    ipmi_main.c:567:11: warning: assigning to 'unsigned char *' from 'char *' converts between
          pointers to integer types with different sign [-Wpointer-sign]
                                    kgkey = strdup(tmp_pass);
                                          ^ ~~~~~~~~~~~~~~~~
    ipmi_main.c:871:47: warning: passing 'unsigned char *' to parameter of type 'char *' converts
          between pointers to integer types with different sign [-Wpointer-sign]
                    ipmi_intf_session_set_kgkey(ipmi_main_intf, kgkey);
                                                                ^~~~~
    ../include/ipmitool/ipmi_intf.h:211:66: note: passing argument to parameter 'kgkey' here
    void ipmi_intf_session_set_kgkey(struct ipmi_intf * intf, char * kgkey);
                                                                     ^
    ipmi_main.c:988:4: warning: implicit declaration of function 'ipmi_kontronoem_set_large_buffer'
          is invalid in C99 [-Wimplicit-function-declaration]
                            ipmi_kontronoem_set_large_buffer(ipmi_main_intf,
                            ^
    ipmi_main.c:992:4: warning: implicit declaration of function
          'ipmi_intf_set_max_request_data_size' is invalid in C99 [-Wimplicit-function-declaration]
                            ipmi_intf_set_max_request_data_size(ipmi_main_intf,
                            ^
    7 warnings generated.
    mv -f .deps/ipmi_main.Tpo .deps/ipmi_main.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_tsol.lo -MD -MP -MF .deps/ipmi_tsol.Tpo -c -o ipmi_tsol.lo ipmi_tsol.c
    mv -f .deps/ipmi_tsol.Tpo .deps/ipmi_tsol.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_firewall.lo -MD -MP -MF .deps/ipmi_firewall.Tpo -c -o ipmi_firewall.lo ipmi_firewall.c
    ipmi_firewall.c:1049:10: warning: comparison of unsigned expression < 0 is always false
          [-Wtautological-compare]
            if (ret < 0) {
                ~~~ ^ ~
    ipmi_firewall.c:1127:10: warning: comparison of unsigned expression < 0 is always false
          [-Wtautological-compare]
            if (ret < 0) {
                ~~~ ^ ~
    2 warnings generated.
    mv -f .deps/ipmi_firewall.Tpo .deps/ipmi_firewall.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_kontronoem.lo -MD -MP -MF .deps/ipmi_kontronoem.Tpo -c -o ipmi_kontronoem.lo ipmi_kontronoem.c
    mv -f .deps/ipmi_kontronoem.Tpo .deps/ipmi_kontronoem.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_hpmfwupg.lo -MD -MP -MF .deps/ipmi_hpmfwupg.Tpo -c -o ipmi_hpmfwupg.lo ipmi_hpmfwupg.c
    ipmi_hpmfwupg.c:125:6: warning: implicit declaration of function 'toupper' is invalid in C99
          [-Wimplicit-function-declaration]
            if (toupper(userInput[0]) == 'Y') {
                ^
    ipmi_hpmfwupg.c:499:9: warning: implicit declaration of function 'HpmfwupgPreUpgradeCheck' is
          invalid in C99 [-Wimplicit-function-declaration]
                            rc = HpmfwupgPreUpgradeCheck(intf,
                                 ^
    ipmi_hpmfwupg.c:1125:16: warning: implicit declaration of function
          'ipmi_intf_get_max_request_data_size' is invalid in C99 [-Wimplicit-function-declaration]
            max_rq_size = ipmi_intf_get_max_request_data_size(intf);
                          ^
    ipmi_hpmfwupg.c:1993:3: warning: implicit declaration of function 'usleep' is invalid in C99
          [-Wimplicit-function-declaration]
                    usleep(100000);
                    ^
    4 warnings generated.
    mv -f .deps/ipmi_hpmfwupg.Tpo .deps/ipmi_hpmfwupg.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_sdradd.lo -MD -MP -MF .deps/ipmi_sdradd.Tpo -c -o ipmi_sdradd.lo ipmi_sdradd.c
    ipmi_sdradd.c:219:5: warning: implicit declaration of function 'sleep' is invalid in C99
          [-Wimplicit-function-declaration]
        sleep(1);
        ^
    ipmi_sdradd.c:590:10: warning: implicit declaration of function 'read' is invalid in C99
          [-Wimplicit-function-declaration]
      while (read(fd, binHdr, 5) == 5) {
             ^
    2 warnings generated.
    mv -f .deps/ipmi_sdradd.Tpo .deps/ipmi_sdradd.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_ekanalyzer.lo -MD -MP -MF .deps/ipmi_ekanalyzer.Tpo -c -o ipmi_ekanalyzer.lo ipmi_ekanalyzer.c
    ipmi_ekanalyzer.c:834:39: warning: equality comparison with extraneous parentheses
          [-Wparentheses-equality]
                if ((rsc_desc.resource_id == AMC_MODULE)){
                     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
    ipmi_ekanalyzer.c:834:39: note: remove extraneous parentheses around the comparison to silence
          this warning
                if ((rsc_desc.resource_id == AMC_MODULE)){
                    ~                     ^            ~
    ipmi_ekanalyzer.c:834:39: note: use '=' to turn this equality comparison into an assignment
                if ((rsc_desc.resource_id == AMC_MODULE)){
                                          ^~
                                          =
    ipmi_ekanalyzer.c:3386:10: warning: expression result unused [-Wunused-value]
       for ( offset;
             ^~~~~~
    ipmi_ekanalyzer.c:3555:12: warning: expression result unused [-Wunused-value]
          for (offset; offset < record->header.len;){
               ^~~~~~
    3 warnings generated.
    mv -f .deps/ipmi_ekanalyzer.Tpo .deps/ipmi_ekanalyzer.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_gendev.lo -MD -MP -MF .deps/ipmi_gendev.Tpo -c -o ipmi_gendev.lo ipmi_gendev.c
    mv -f .deps/ipmi_gendev.Tpo .deps/ipmi_gendev.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_ime.lo -MD -MP -MF .deps/ipmi_ime.Tpo -c -o ipmi_ime.lo ipmi_ime.c
    ipmi_ime.c:898:30: warning: comparison of unsigned expression < 0 is always false
          [-Wtautological-compare]
             if (pImageCtx->size < 0)
                 ~~~~~~~~~~~~~~~ ^ ~
    1 warning generated.
    mv -f .deps/ipmi_ime.Tpo .deps/ipmi_ime.Plo
    /bin/sh ../libtool --silent --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -g -O2 -fno-strict-aliasing -Wreturn-type -MT ipmi_delloem.lo -MD -MP -MF .deps/ipmi_delloem.Tpo -c -o ipmi_delloem.lo ipmi_delloem.c
    ipmi_delloem.c:1950:20: warning: implicit declaration of function 'get_nic_selection_mode_12g' is
          invalid in C99 [-Wimplicit-function-declaration]
                            nic_selection = get_nic_selection_mode_12g(intf, current_arg, argv,
                                            ^
    ipmi_delloem.c:1965:45: warning:

    Mac OS X now uses the clang compiler, and it is possible the package has not been ported to work with the pickier clang compiler.
    If your system has gcc, you could maybe try hacking the Makefile to use gcc instead of cc (or maybe export CC=gcc, again assuming you have an older copy of gcc on your system).  You might also try specifying some CFLAGS to disable some compiler checks.  It is possible you will need to modify the sources to fix obnoxious coding violations that both clang and gcc will not ignore.
    Or you might check if one of the Mac OS X package managers have already ported the package:  http://MacPorts.org, http://brew.sh, http://www.finkproject.org

  • 12.4 beta: private copy constructor in base class required to be called from temporary reference when -g option used

    Hi,
    We've got an abstract base class (StringBase) which various types of strings inherit from. The copy constructor for this base class is private, since we don't want to allow copying when this class shouldn't be directly instantiated. A number of our methods take specify the base class as a reference, but take a derived class temporary as a default argument (see code appended).
    This worked fine in 12.3, but in 12.4 beta, this now says:
       Error: StringBase::StringBase(const StringBase&) is not accessible from __dflt_argA().
    This works fine in clang and gcc, and indeed, this GNU document says it was a bug which was fixed in gcc 4.3.0:
        Copy constructor access check while initializing a reference
    which references http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#391
    It only appears to error when the "-g" option is used, however, which doesn't seem right, and compiles fine if the "-g" option is removed, which makes me think it's a bug. Presumably the optimizer is eliding the copy when not using -g, but it's left in for debug mode, causing the compile error?
    Many thanks,
    Jonathan.
    $ clang++ -std=c++11 defaultarg.cpp
    $ g++ -std=c++11 defaultarg.cpp
    $ /opt/SolarisStudio12.4-beta_mar14-solaris-x86/bin/CC -c defaultarg.cpp
    $ /opt/SolarisStudio12.4-beta_mar14-solaris-x86/bin/CC -g -c defaultarg.cpp
    "defaultarg.cpp", line 6: Error: StringBase::StringBase(const StringBase&) is not accessible from __dflt_argA().
    1 Error(s) detected.
    $ cat defaultarg.cpp
    #include "stringbase.h"
    #include "conststring.h"
    static const ConstString S_DEFAULT("default value");
    void SomeMethod( const StringBase& str = S_DEFAULT )
       (void) str;
    int main( void )
       SomeMethod();
    $ cat stringbase.h
    #ifndef STRINGBASE_H
    #define STRINGBASE_H
    class StringBase
    protected:
       StringBase() {}
    private:
       StringBase( const StringBase& );
    #endif
    $ cat conststring.h
    #ifndef CONSTSTRING_H
    #define CONSTSTRING_H
    #include "stringbase.h"
    class ConstString : public StringBase
    public:
       ConstString() {}
       ConstString( const char* ) {}
       ConstString( const ConstString& );
    #endif

    Thanks for reporting the problem!
    This looks like a compiler bug, I think an artifact of creating a helper function for the debugger for the default argument.
    I have filed bug 18505648 for you.

  • UCM 9.1 7975 Sets can't restrict user preferences

    We have CallManger 9.1 installed and just noticed that we can't restrict the settings on the 7975 sets to only User Preferences - all 7 options are showing
    Is there a patch with the 9.1 for the 7975 sets?

    Mac OS X now uses the clang compiler, and it is possible the package has not been ported to work with the pickier clang compiler.
    If your system has gcc, you could maybe try hacking the Makefile to use gcc instead of cc (or maybe export CC=gcc, again assuming you have an older copy of gcc on your system).  You might also try specifying some CFLAGS to disable some compiler checks.  It is possible you will need to modify the sources to fix obnoxious coding violations that both clang and gcc will not ignore.
    Or you might check if one of the Mac OS X package managers have already ported the package:  http://MacPorts.org, http://brew.sh, http://www.finkproject.org

  • Xcode 4 - last build phase "copy files" gets build stuck

    I really like the new XCode, but I'm having one really annoying issue. When I try to add new build phase "Copy Files" after every other build phases, which copies the final product component to some directory, the build just gets stuck.
    This is what I mean, try it yourself:
    1. Create a new project - choose System Plug-In - Audio Unit effect. Name it as, let's say "Doo"
    2. Open project target named as "Doo".
    3. Add new build phase - Add Copy Files to the end of the list.
    4. Press + and add Doo.component from the Products to the list.
    5. Select "Absolute path" as a destination (in this case I'd like to have the component in Library/Audio/Plug-Ins/Components-directory).
    6. Build.
    -> build gets stuck
    Build goes successful, if Doo.component is removed from the list.
    This was working in XCode 3.x. And regarding to documents this is meant to be like "make install" phase in the end of the build, and should work.
    Or, am I doing something wrong?

    There is a separate ongoing forum for Xcode 4 discussions:
    https://devforums.apple.com/community/xcode4 **Join the party!**
    Topics
    • iOS Development
    Installation, Provisioning, Simulator, iPhone SDK 4
    • Source Editing
    Assistant, Code completion, Fix-it, Settings, Keyboard Shortcuts
    • Interface Builder
    Xcode integration, Code connections, Library, Inspectors
    • Project Editing and Workspaces
    Schemes, Configuration, Build settings, Complex projects
    • Source Code Management
    Version editor, Git, Subversion, Branching and merging
    • Debugging
    LLDB, Stack compression, GCD and Threads, Watch lists
    • Instruments
    System Trace, Time Profile, OpenGl, Allocations and Heap
    • LLVM Compiler
    Clang, LLVM-GCC, C++, STL and Boost, Optimization

  • How to enable ada in xcode

    I'm studying computer science and I have to write my programs in ada. I know that xcode has langspec file for ada in it's Library but I dont't know how to enable it. It would be great if somebody could tell me how to enable it. I tried searching google but all I can find is old stuff that doesn't work for xcode 4.
    thanks,
    Simon

    Given that the Apple compiler is Clang, that GCC has been frozen at 4.2.1 and officially deprecated and that GCC will almost certainly be removed (sooner or later) from the developer tools...I think there will be no support for Ada in the future.
    In fact, Clang will almost certainly never support anything but "C" family languages.  You could always build a newer version of GCC yourself and use GCC or LLVM-GCC for Ada afterwards...but you still won't have all the bells and whistles available in Xcode, like syntax highlighting, because you're basically rolling your own development environment.
    You might want to look into DragonEgg.

  • Installing gcc without xcode?

    How can my students install the command-line gcc compiler into Lion without having to download the entire, huge xcode environment from AppStore?
    (up to 2-hour download)

    I would consider a different roll-your-own strategy; if you're going to invest in this effort, it's usually best pick your battles.
    You're clearly trying to optimize for network bandwidth, but at the cost of an older compiler (Clang is the path forward for Mac OS X, and not gcc) and at maintaining that part of your students' environments yourself, and at dealing with the usual errors and weirdnesses, and at an approach that's not integrated with Xcode; most industry work now arises with an IDE of some ilk. 
    Obviously you know your curriculum and your available time here for IT, of course.
    Here, I'd move to an approach based on mastering the entire Mac OS X installations, and loading those into the students' systems, and I'd incorporate the standard kits into the master including (for this case) Xcode.  There are other advantages here, too.  If something goes wrong with the student's environment or a disk fails or... you can blow away the contents and reload the master.
    For some discussions of mastering and managing your own distributions, see the MacEnterprise mailing list and mailing list archives, among other resources.  (With a server, you can run most of this stuff on-line.  Also hosting Apple software updates via Mac OS X Server and Software Update Services, or via Linux with the Reposado package, to cut down your bandwidth requirements.)
    It's also potentially possible to use a different distributions here as part of your mastering; check with Apple around the availability of that.
    And if these arem't your school's Mac systems, there's a whole 'nother discussion here around managing the Apple Ids and related on these systems.  (There are some of those discussions on the MacEnterprise list, as well.  Check the mailing list archives, among others.  It's a goldmine for these sorts of questions, and Xcode has specifically been discussed at length.)  

  • Process priority for make, gcc, clang, etc

    With Lion, when I compile software via make (calling gcc or clang), the desktop will regularly stall, or stutter. The spinning beachball will appear, switching to the next desktop will halt for half a second, Safari will not update the screen when I have keyboard input, etc.
    I used to be able to solve this by calling make via nice, for instance:
      nice -n 19 make
    I've also tried calling make with the -j 1 option, so there's only one job running at the same time
    Under Lion, it doesn't seem to have the same effect. Other apps still suffer.
    Is there a way to give a process real low priority in the sense that I don't get a laggy desktop?

    I have iStatMenu installed, so I can keep an eye on CPU usage. No heavy processes running before builds. I have 11 GB free, and I've recently doubled the memory to 8 GB.
    I've just tested it. When I use MacPorts, and install a simple utility such as "a2ps" (a utility for printing ASCII text, and pretty printing code), and the machine starts compiling, Lion will react to the keyboard with extreme delays, up to a second or two.

  • How do i install GCC without installing XCode

    Hello
    I am trying to install GCC without installing XCODE.
    How do i do that if possible?

    Use a binary distribution of fink to install the binary distribution of gcc4...
    Powerbook G4 1GHz   Mac OS X (10.3.9)  

  • Difference between 12.4 & gcc/clang w/regard to anonymous structs in unions

    I'm actually reporting two differences, but subjects can only be so long.
    union Blah {
      struct {
        unsigned char x[8];
      };  // Sun Studio error: A declaration does not specify a tag or an identifier
          // note: -features=extensions is required to get this to compile
      unsigned int y[2];
      void SwapBytes() {
        for( int ii = 0; /*...*/ ) {
          x[ii] = /*...*/;  // Sun Studio error: x is not defined
    int main( int argc, char *argv[] ) {
      Blah b = { 0xDEADBEEF, 0xBADBABE0 };  // clang/gcc warn that this is a narrowing conversion because the
                                            // default behavior for brace initialization is to initialize according
                                            // to the first type found in the union.
                                            // Sun Studio only warns with +w2, and only reports the more opaque msg:
                                            //   Warning: partially bracketed initialization for b
      return 0;
    There are two problems reported here:
    gcc/clang allow the anonymous struct -- it's useful for preventing access to the array of bytes but allowing union member functions access to it
    difference in when/why the bracketed initialization produces a warning
    -Brian

    First, a correction. The Studio 12.4 compiler allows anonymous structs by default, unlike earlier compilers. Apparently we decided to step to the other side of this line. :-) The compiler does issue a warning for the non-standard code.
    The narrowing conversions in the example
    Blah b = { 0xDEADBEEF, 0xBADBABE0 };
    are errors in C++11, not warnings. In the C++11 standard, refer to section 8.5.4 List-initialization. This rule is a change from the previous C++ standard, one of a very small number of cases where valid code becomes invalid.
    Not all narrowing conversions are errors, only narrowing conversions in initializer-lists. You can make the code valid by inserting an explicit cast.

  • How do I update gcc to 4.9 without an internet connection?

    Hi,
    I am trying to move my os over from running on a Lenovo Ideapad u260 to a Lenovo Ideapad yoga 13.
    Unfortunately, the wireless router in the new computer is not recognized, and the computer doesn't have an ethernet port. Nothing shows up under lspci -k
    I think the problem is the same one as here:
    http://askubuntu.com/questions/318608/l … ess-driver
    I followed the link to the github repository, and tried compiling.
    Unfortunately, I got the problem described here:
    https://github.com/lwfinger/rtl8723au/issues/39
    from what I can understand, the issue is that my compiler hasn't been updated to gcc4.9.
    I tried downloading gcc4.9 and compiling from source, but it appears that I am missing this library:
    https://aur.archlinux.org/packages/arm- … bi-eglibc/
    however, the download source link on this package does not work for me because I don't have svn on my computer (a windows 8 machine).
    I could download putty + tortoise svn, but before I do that, I just wanted to make sure that I'm on the right track, and that there's not a more obvious way of doing things that I'm ignoring.

    You could download and install the gcc package with dependencies manually. If you want a bit automated help, there is bacpac: http://xyne.archlinux.ca/projects/bacpac/

  • Plans for gcc 4.0.0?

    Just wondering what Archlinux plans are for gcc 4.0.0, now that it's released.  It seems rather interesting the new features for optimizing, which seems to be right up arch's alley.  An i686-optimized linux distribution, after all, would benefit from better optimizations.
    I'm just hoping that not too much is broken with this new release (everyone remembers gcc 2.95 -> 3), but since this release came much faster and isn't an almost complete rewrite like egcs was, hopefully we can expect a smoother transition.
    I for one am excited about this new gcc release, much more than a new kde, gnome or x.org or whatever...  Maybe it's just me that likes compilers so much and hates bytecode.  But still, what is Arch's stance on this?  Any plans to move forward?  Maybe provide a gcc 4 package but keep compiling arch packages with 3.x until bugs get ironed out?  Or be truly bleeding edge (it is stable software afterall though) and take the plunge and compile arch packages with this new fancy gcc?
    Autovectorization seems rather interesting ( http://gcc.gnu.org/projects/tree-ssa/vectorization.html there's the link for anyone interested), yet needs -msse or -msse2 flags to be set.  Is this feasible?  Would this binary nicely optimized for processors with sse or sse2 run that much worse on hardware without such instructions?
    What is arch's stance on instructions like sse or 3dnow?  Are packages compiled with such optimizations?  If so why or if not why not?  I personally think that most arch users use relatively recent hardware and would benefit...  But then again, I'm just wondering aloud.
    Anyways, sorry for all the questions...

    Duke wrote:What is arch's stance on instructions like sse or 3dnow?  Are packages compiled with such optimizations?  If so why or if not why not?  I personally think that most arch users use relatively recent hardware and would benefit...  But then again, I'm just wondering aloud.
    This has been discussed alot - my stance (not Arch's) is that Arch is i686 based - that's the common factor... if you start creeping with that, when will it stop? first we require SSE, then MMX, then SSE2... we may end up switching from "an i686 optimized distro" to "a distro optimized to run on AMD processors produced after November 12th 2004".
    In addition, SSE instructions only make sense in advanced math applications, FFT programs, and multimedia stuff... it's a small subset of the applications... think about it: how could something like vim benefit from loop vectorization? it really can't... sure you may get some things improved... but it's vim, you don't need to do 50 calculations in the time it takes to do 1 - it's not processor intensive.
    And let's look at the apps that do make use of SSE: multimedia - improve the performance of mpegs and mp3s? who watches that much porn?
    :shock:  :shock:
    FFT programs - anyone seriously doing complex FFT/DSP calcs on Arch? I doubt it
    Advanced Math - sure might make sense, but it doesn't warrant a recompile and optimization of the entire set of packages.
    So, in my opinion, enabling SSE/SSE2/MMX/MMX2/whatever else you get:
    - loss of some processor support
    + improvement in MP3 playback
    + faster calculation of PI
    - a bunch of apps you had to redownload with negligable performance gain

  • Creating JNI DLL on WinXP using MinGW and GCC

    Ohh man, I spent entire day fighting with "UnsatisfiedLinkError "while trying to cal my native method. After reading all the posts with similar problems, and checking for every little thing that was suggested I figured it out. So I'm reposting the solution here since no one else had suggested this.
    The solution to my problem was that g++/gcc compiler needed an option "-Wl,--add-stdcall-alias". This was the killer. I had the "-shared", but it wouldn't link without the "-Wl,--add-stdcall-alias" option!!!
    As a summary, while its fresh in my mind, here are the trouble shooting steps I used:
    1) Check package names and the generated .h file using javah. I checked and rechecked the names, even created simpler static void method to try and get it to link.
    2) Make sure to use the "jobject" parameter for dynamic methods and "jclass" for static methods in the signature as second argument.
    3) That method name starts with "Java_" and I stress the CAPITAL "J", can not be lowercase. Although if you are using javah, that should not be the problem, since javah can not ommit this kind of detail. The only thing that you need to check for is that if you change method from dynamic to static, and don't rerun the javah, or javah doesn't replace the previous file. So make sure you restart clean and that javah regenerated the file with "jclass" or "jobject" whichever is the case.
    4) Used the "java -verbose:jni" debug flag to see my native method loaded. In my case when it wasn't working I couldn't see the method load, but there were no error messages from "System.loadLibrary" or from the verbose output. Only the UnsatisfiedLinkError. Frustrating. After the fix it loads perfectly:
    [Dynamic-linking native method org.jnetpcap.Pcap.openVoid ... JNI]5) I used "nm" found at "c:/MinGW/bin/nm.exe" to dump the symbol table, and I could see all my methods, with the appropriate named marked as text (T) flag. They were not being loaded when viewed using "java -verbose:jni" though.
    6) I put "extern "C" {}" around all my JNI C++ methods.
    7) Tried a gazilion other gcc options, posted in various messages, none worked.
    8) Finally came accross the "-Wl,--add-stdcall-alias" flag which fixed it.
    Here is a portion of my Makefile for reference:
    $(LINK_TARGET) : $(OBJS)
         g++ \
              -shared \
              -Wl,--add-stdcall-alias \
              -o $@ $^ \
              $(LIBDIRS) $(LIBS)LIBDIR and LIBS point to a single external library dependency.
    My IDE environment is Eclipse 3.2, but I run everything from Makefiles as external programs.
    I wish this was documented somewhere, would have saved me an entire day of troubleshooting.
    Cheers,
    mark...
    Message was edited by:
    voytechs - added CODE tags

    Glad my post helped out at least a few people.
    Believe it or not, I'm in the same boat now on Linux.
    Atleast I know its the name mangling problem again. I
    see a few symbols unmangled with nm, but most are,
    and those are then one's JNI is complaining about
    with UnsatisfiedLinkError.
    So now I'm going through various post related to
    linux and trying to find the same type of flag. The
    "alias" flag doesn't work with RH4 g++ version
    4.0.2.You should not need a flag on Linux. A typical compile for me on my Linux box is:
    gcc -shared -o libjnitest.so -I/usr/java/jdk1.6.0_01/include -I/usr/java/jdk1.6.0_01/include/linux jnitest.c>
    Window builds perfectly fine, but now I'm creating a
    new platform target. Everything compiles and creates
    the shared library, just can't get JNI to be happy.
    BTW, my project: http://jnetpcap.sf.net
    Ah. You have .cpp extensions on your filenames. Are you using gcc or g++ to compile? If you don't use g++, you can get errors such as:
    undefined symbol: __gxx_personality_v0
    Jim S.

Maybe you are looking for