Code Monkey home page Code Monkey logo

Comments (11)

jrwagz avatar jrwagz commented on September 27, 2024

See https://travis-ci.org/jrwagz/libkml/jobs/27096953 for failure log using clang

from libkml.

kubark42 avatar kubark42 commented on September 27, 2024

It looks like the compiler is being pedantic. The compiler flags -Werror,-Wunused-const-variable are causing the error with the unused variable. It might be that the right action is simply to remove this variable.

from libkml.

jrwagz avatar jrwagz commented on September 27, 2024

Agreed, I'm trying to get to the bottom of this locally right now. I've modified the source files that have unused variables and now I'm getting one last lamo error from clang:

Making all in examples
Making all in domviewer
make[3]: Nothing to be done for `all'.
Making all in engine
g++ -DHAVE_CONFIG_H -I. -I../../../examples/engine -I../..  -I../../../src -I../../../third_party/boost_1_34_1  -Wall -Werror -ansi -pedantic -Wno-long-long -fno-rtti -g -O2 -MT balloonwalker.o -MD -MP -MF .deps/balloonwalker.Tpo -c -o balloonwalker.o ../../../examples/engine/balloonwalker.cc
mv -f .deps/balloonwalker.Tpo .deps/balloonwalker.Po
/bin/sh ../../libtool  --tag=CXX   --mode=link g++ -Wall -Werror -ansi -pedantic -Wno-long-long -fno-rtti -g -O2   -o balloonwalker balloonwalker.o ../../src/kml/engine/libkmlengine.la ../../src/kml/dom/libkmldom.la ../../src/kml/base/libkmlbase.la -lexpat 
libtool: link: g++ -Wall -Werror -ansi -pedantic -Wno-long-long -fno-rtti -g -O2 -o .libs/balloonwalker balloonwalker.o -Wl,-bind_at_load  ../../src/kml/engine/.libs/libkmlengine.dylib /Users/jwagner/Dropbox/Developer/stake_clerk/libkml/build/src/kml/base/.libs/libkmlbase.dylib ../../src/kml/dom/.libs/libkmldom.dylib ../../src/kml/base/.libs/libkmlbase.dylib /Users/jwagner/Dropbox/Developer/stake_clerk/libkml/build/third_party/.libs/libminizip.dylib -lz /Users/jwagner/Dropbox/Developer/stake_clerk/libkml/build/third_party/.libs/liburiparser.dylib -lexpat
clang: error: argument unused during compilation: '-ansi'
make[3]: *** [balloonwalker] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Justins-MacBook-Air:build jwagner$

I've tried adding CFLAGS="$CFLAGS -Qunused-arguments" to configure.ac per http://stackoverflow.com/a/14248722/1709223 but it's still not getting past this error.

from libkml.

kubark42 avatar kubark42 commented on September 27, 2024

Crazy, I've never heard of a compiler failing on an unused argument. In any case, I don't think there's a strong reason to limit ourselves to the 1989 ANSI C implementation, so this flag can probably be removed completely, or at the least replaced by -std=c89

from libkml.

kubark42 avatar kubark42 commented on September 27, 2024

As expected, Travis failed on clang: https://travis-ci.org/kubark42/libkml/jobs/27100230

(The good news is that it succeeded on gcc, so we know Travis is configured properly.)

from libkml.

jrwagz avatar jrwagz commented on September 27, 2024

So I tried to figure out where the -ansi was coming from in our config, but it wasn't clear. I agree we can remove it, any idea how to do that?

from libkml.

kubark42 avatar kubark42 commented on September 27, 2024

No ideas yet, but I'll poke around at it a bit, as well.

To be honest, I'd be perfectly fine to get rid of autoconf. In my experience it's just one more thing to break. Since Travis can do cross-platform CI, it should be easy to make sure cross-platform always works.

from libkml.

jrwagz avatar jrwagz commented on September 27, 2024

I agree.

from libkml.

kubark42 avatar kubark42 commented on September 27, 2024

In the meantime, https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/C-Compiler.html indicates how to use macros like AC_PROG_CC_C99, which should call a different compiler standard.

from libkml.

jrwagz avatar jrwagz commented on September 27, 2024

grr... tried adding AC_PROG_CC_C99 and still got no love

screen shot 2014-06-08 at 10 59 09 pm

make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in examples
Making all in domviewer
make[3]: Nothing to be done for `all'.
Making all in engine
g++ -DHAVE_CONFIG_H -I. -I../../../examples/engine -I../..  -I../../../src -I../../../third_party/boost_1_34_1  -Wall -Werror -ansi -pedantic -Wno-long-long -fno-rtti -g -O2 -MT balloonwalker.o -MD -MP -MF .deps/balloonwalker.Tpo -c -o balloonwalker.o ../../../examples/engine/balloonwalker.cc
mv -f .deps/balloonwalker.Tpo .deps/balloonwalker.Po
/bin/sh ../../libtool  --tag=CXX   --mode=link g++ -Wall -Werror -ansi -pedantic -Wno-long-long -fno-rtti -g -O2   -o balloonwalker balloonwalker.o ../../src/kml/engine/libkmlengine.la ../../src/kml/dom/libkmldom.la ../../src/kml/base/libkmlbase.la -lexpat 
libtool: link: g++ -Wall -Werror -ansi -pedantic -Wno-long-long -fno-rtti -g -O2 -o .libs/balloonwalker balloonwalker.o -Wl,-bind_at_load  ../../src/kml/engine/.libs/libkmlengine.dylib /Users/jwagner/Dropbox/Developer/stake_clerk/libkml/build/src/kml/base/.libs/libkmlbase.dylib ../../src/kml/dom/.libs/libkmldom.dylib ../../src/kml/base/.libs/libkmlbase.dylib /Users/jwagner/Dropbox/Developer/stake_clerk/libkml/build/third_party/.libs/libminizip.dylib -lz /Users/jwagner/Dropbox/Developer/stake_clerk/libkml/build/third_party/.libs/liburiparser.dylib -lexpat
clang: error: argument unused during compilation: '-ansi'
make[3]: *** [balloonwalker] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Justins-MacBook-Air:build jwagner$

from libkml.

jrwagz avatar jrwagz commented on September 27, 2024

It just clicked to me, I'm seeing this error in the linking stage, not the compiling stage. So I need to look at modifying the linker flags, not the compiler flags.

from libkml.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.