Comments (11)
See https://travis-ci.org/jrwagz/libkml/jobs/27096953 for failure log using clang
from libkml.
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.
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.
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.
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.
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.
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.
I agree.
from libkml.
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.
grr... tried adding AC_PROG_CC_C99
and still got no love
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libkml.