MantisBT - CMake
View Issue Details
0003637CMakeModulespublic2006-08-18 11:152014-06-02 08:37
Gheorghe Postelnicu 
Bill Hoffman 
highminoralways
closedfixed 
 
CMake-2-8 
0003637: FindSWIG Fails
On my work system, the FindSWIG routine fails, although manually setting SWIG_DIR to /usr/bin works. Below is the result of rpm -q and rpm -ql respectively.

[postelni@asterix install ]$ rpm -q swig
swig-1.3.21-6
[postelni@asterix install ]$ rpm -ql swig
/usr/bin/swig
/usr/lib64/libswigguile.la
/usr/lib64/libswigguile.so
/usr/lib64/libswigguile.so.0
/usr/lib64/libswigguile.so.0.0.0
/usr/lib64/libswigguilescm.la
/usr/lib64/libswigguilescm.so
/usr/lib64/libswigguilescm.so.0
/usr/lib64/libswigguilescm.so.0.0.0
/usr/lib64/libswigphp4.la
/usr/lib64/libswigphp4.so
/usr/lib64/libswigphp4.so.0
/usr/lib64/libswigphp4.so.0.0.0
/usr/lib64/libswigpl.la
/usr/lib64/libswigpl.so
/usr/lib64/libswigpl.so.0
/usr/lib64/libswigpl.so.0.0.0
/usr/lib64/libswigpy.la
/usr/lib64/libswigpy.so
/usr/lib64/libswigpy.so.0
/usr/lib64/libswigpy.so.0.0.0
/usr/lib64/libswigrb.la
/usr/lib64/libswigrb.so
/usr/lib64/libswigrb.so.0
/usr/lib64/libswigrb.so.0.0.0
/usr/lib64/swig1.3
/usr/lib64/swig1.3/_std_deque.i
/usr/lib64/swig1.3/allkw.swg
/usr/lib64/swig1.3/carrays.i
/usr/lib64/swig1.3/cdata.i
/usr/lib64/swig1.3/chicken
/usr/lib64/swig1.3/chicken/chicken.swg
/usr/lib64/swig1.3/chicken/chickenkw.swg
/usr/lib64/swig1.3/chicken/chickenrun.swg
/usr/lib64/swig1.3/chicken/fragments.i
/usr/lib64/swig1.3/chicken/precommon.swg
/usr/lib64/swig1.3/chicken/typemaps.i
/usr/lib64/swig1.3/cmalloc.i
/usr/lib64/swig1.3/common.swg
/usr/lib64/swig1.3/constraints.i
/usr/lib64/swig1.3/cpointer.i
/usr/lib64/swig1.3/csharp
/usr/lib64/swig1.3/csharp/csharp.swg
/usr/lib64/swig1.3/csharp/csharphead.swg
/usr/lib64/swig1.3/csharp/csharpkw.swg
/usr/lib64/swig1.3/csharp/std_string.i
/usr/lib64/swig1.3/csharp/typemaps.i
/usr/lib64/swig1.3/cstring.i
/usr/lib64/swig1.3/exception.i
/usr/lib64/swig1.3/guile
/usr/lib64/swig1.3/guile/common.scm
/usr/lib64/swig1.3/guile/cplusplus.i
/usr/lib64/swig1.3/guile/ghinterface.i
/usr/lib64/swig1.3/guile/guile.i
/usr/lib64/swig1.3/guile/guile_gh.swg
/usr/lib64/swig1.3/guile/guile_gh_run.swg
/usr/lib64/swig1.3/guile/guile_scm.swg
/usr/lib64/swig1.3/guile/guile_scm_run.swg
/usr/lib64/swig1.3/guile/guilemain.i
/usr/lib64/swig1.3/guile/interpreter.i
/usr/lib64/swig1.3/guile/list-vector.i
/usr/lib64/swig1.3/guile/pointer-in-out.i
/usr/lib64/swig1.3/guile/ports.i
/usr/lib64/swig1.3/guile/precommon.swg
/usr/lib64/swig1.3/guile/std_common.i
/usr/lib64/swig1.3/guile/std_map.i
/usr/lib64/swig1.3/guile/std_pair.i
/usr/lib64/swig1.3/guile/std_string.i
/usr/lib64/swig1.3/guile/std_vector.i
/usr/lib64/swig1.3/guile/typemaps.i
/usr/lib64/swig1.3/java
/usr/lib64/swig1.3/java/arrays_java.i
/usr/lib64/swig1.3/java/director.swg
/usr/lib64/swig1.3/java/java.swg
/usr/lib64/swig1.3/java/javahead.swg
/usr/lib64/swig1.3/java/javakw.swg
/usr/lib64/swig1.3/java/std_common.i
/usr/lib64/swig1.3/java/std_map.i
/usr/lib64/swig1.3/java/std_pair.i
/usr/lib64/swig1.3/java/std_string.i
/usr/lib64/swig1.3/java/std_vector.i
/usr/lib64/swig1.3/java/typemaps.i
/usr/lib64/swig1.3/java/various.i
/usr/lib64/swig1.3/math.i
/usr/lib64/swig1.3/mzscheme
/usr/lib64/swig1.3/mzscheme/mzrun.swg
/usr/lib64/swig1.3/mzscheme/mzscheme.swg
/usr/lib64/swig1.3/mzscheme/precommon.swg
/usr/lib64/swig1.3/mzscheme/std_common.i
/usr/lib64/swig1.3/mzscheme/std_map.i
/usr/lib64/swig1.3/mzscheme/std_pair.i
/usr/lib64/swig1.3/mzscheme/std_string.i
/usr/lib64/swig1.3/mzscheme/std_vector.i
/usr/lib64/swig1.3/mzscheme/typemaps.i
/usr/lib64/swig1.3/ocaml
/usr/lib64/swig1.3/ocaml/carray.i
/usr/lib64/swig1.3/ocaml/class.swg
/usr/lib64/swig1.3/ocaml/cstring.i
/usr/lib64/swig1.3/ocaml/director.swg
/usr/lib64/swig1.3/ocaml/mlheading.swg
/usr/lib64/swig1.3/ocaml/mliheading.swg
/usr/lib64/swig1.3/ocaml/ocaml.i
/usr/lib64/swig1.3/ocaml/ocaml.swg
/usr/lib64/swig1.3/ocaml/ocamldec.swg
/usr/lib64/swig1.3/ocaml/ocamlkw.swg
/usr/lib64/swig1.3/ocaml/preamble.swg
/usr/lib64/swig1.3/ocaml/std_common.i
/usr/lib64/swig1.3/ocaml/std_complex.i
/usr/lib64/swig1.3/ocaml/std_deque.i
/usr/lib64/swig1.3/ocaml/std_list.i
/usr/lib64/swig1.3/ocaml/std_map.i
/usr/lib64/swig1.3/ocaml/std_pair.i
/usr/lib64/swig1.3/ocaml/std_string.i
/usr/lib64/swig1.3/ocaml/std_vector.i
/usr/lib64/swig1.3/ocaml/swig.ml
/usr/lib64/swig1.3/ocaml/swig.mli
/usr/lib64/swig1.3/ocaml/swigp4.ml
/usr/lib64/swig1.3/ocaml/typecheck.i
/usr/lib64/swig1.3/ocaml/typemaps.i
/usr/lib64/swig1.3/ocaml/typeregister.swg
/usr/lib64/swig1.3/perl5
/usr/lib64/swig1.3/perl5/Makefile.pl
/usr/lib64/swig1.3/perl5/noembed.h
/usr/lib64/swig1.3/perl5/perl5.swg
/usr/lib64/swig1.3/perl5/perlmain.i
/usr/lib64/swig1.3/perl5/perlrun.swg
/usr/lib64/swig1.3/perl5/precommon.swg
/usr/lib64/swig1.3/perl5/std_common.i
/usr/lib64/swig1.3/perl5/std_map.i
/usr/lib64/swig1.3/perl5/std_pair.i
/usr/lib64/swig1.3/perl5/std_string.i
/usr/lib64/swig1.3/perl5/std_vector.i
/usr/lib64/swig1.3/perl5/typemaps.i
/usr/lib64/swig1.3/php4
/usr/lib64/swig1.3/php4/php4.swg
/usr/lib64/swig1.3/php4/php4kw.swg
/usr/lib64/swig1.3/php4/php4run.swg
/usr/lib64/swig1.3/php4/precommon.swg
/usr/lib64/swig1.3/php4/std_common.i
/usr/lib64/swig1.3/php4/std_map.i
/usr/lib64/swig1.3/php4/std_pair.i
/usr/lib64/swig1.3/php4/std_string.i
/usr/lib64/swig1.3/php4/std_vector.i
/usr/lib64/swig1.3/php4/typemaps.i
/usr/lib64/swig1.3/php4/utils.i
/usr/lib64/swig1.3/pike
/usr/lib64/swig1.3/pike/pike.swg
/usr/lib64/swig1.3/pike/pikekw.swg
/usr/lib64/swig1.3/pike/pikerun.swg
/usr/lib64/swig1.3/pike/precommon.swg
/usr/lib64/swig1.3/pike/std_string.i
/usr/lib64/swig1.3/pointer.i
/usr/lib64/swig1.3/python
/usr/lib64/swig1.3/python/cstring.i
/usr/lib64/swig1.3/python/defarg.swg
/usr/lib64/swig1.3/python/director.swg
/usr/lib64/swig1.3/python/embed.i
/usr/lib64/swig1.3/python/embed15.i
/usr/lib64/swig1.3/python/fragments.i
/usr/lib64/swig1.3/python/precommon.swg
/usr/lib64/swig1.3/python/pyrun.swg
/usr/lib64/swig1.3/python/python.swg
/usr/lib64/swig1.3/python/pythonkw.swg
/usr/lib64/swig1.3/python/std_common.i
/usr/lib64/swig1.3/python/std_complex.i
/usr/lib64/swig1.3/python/std_deque.i
/usr/lib64/swig1.3/python/std_list.i
/usr/lib64/swig1.3/python/std_map.i
/usr/lib64/swig1.3/python/std_pair.i
/usr/lib64/swig1.3/python/std_string.i
/usr/lib64/swig1.3/python/std_vector.i
/usr/lib64/swig1.3/python/typemaps.i
/usr/lib64/swig1.3/ruby
/usr/lib64/swig1.3/ruby/Makefile.swig
/usr/lib64/swig1.3/ruby/director.swg
/usr/lib64/swig1.3/ruby/embed.i
/usr/lib64/swig1.3/ruby/extconf.rb
/usr/lib64/swig1.3/ruby/fragments.i
/usr/lib64/swig1.3/ruby/precommon.swg
/usr/lib64/swig1.3/ruby/ruby.swg
/usr/lib64/swig1.3/ruby/rubydec.swg
/usr/lib64/swig1.3/ruby/rubydef.swg
/usr/lib64/swig1.3/ruby/rubyhead.swg
/usr/lib64/swig1.3/ruby/rubykw.swg
/usr/lib64/swig1.3/ruby/std_common.i
/usr/lib64/swig1.3/ruby/std_deque.i
/usr/lib64/swig1.3/ruby/std_map.i
/usr/lib64/swig1.3/ruby/std_pair.i
/usr/lib64/swig1.3/ruby/std_string.i
/usr/lib64/swig1.3/ruby/std_vector.i
/usr/lib64/swig1.3/ruby/typemaps.i
/usr/lib64/swig1.3/std_deque.i
/usr/lib64/swig1.3/stl.i
/usr/lib64/swig1.3/swig.swg
/usr/lib64/swig1.3/swigrun.i
/usr/lib64/swig1.3/tcl
/usr/lib64/swig1.3/tcl/cstring.i
/usr/lib64/swig1.3/tcl/precommon.swg
/usr/lib64/swig1.3/tcl/std_common.i
/usr/lib64/swig1.3/tcl/std_map.i
/usr/lib64/swig1.3/tcl/std_pair.i
/usr/lib64/swig1.3/tcl/std_string.i
/usr/lib64/swig1.3/tcl/std_vector.i
/usr/lib64/swig1.3/tcl/swigtcl8.swg
/usr/lib64/swig1.3/tcl/tcl8.swg
/usr/lib64/swig1.3/tcl/tcl8kw.swg
/usr/lib64/swig1.3/tcl/tclsh.i
/usr/lib64/swig1.3/tcl/typemaps.i
/usr/lib64/swig1.3/tcl/wish.i
/usr/share/aclocal/swig.m4
/usr/share/doc/swig-1.3.21
/usr/share/doc/swig-1.3.21/ANNOUNCE
/usr/share/doc/swig-1.3.21/CHANGES
/usr/share/doc/swig-1.3.21/Devel
/usr/share/doc/swig-1.3.21/Devel/engineering.html
/usr/share/doc/swig-1.3.21/Devel/index.html
/usr/share/doc/swig-1.3.21/Devel/internals.html
/usr/share/doc/swig-1.3.21/Devel/migrate.txt
/usr/share/doc/swig-1.3.21/FUTURE
/usr/share/doc/swig-1.3.21/INSTALL
/usr/share/doc/swig-1.3.21/LICENSE
/usr/share/doc/swig-1.3.21/Manual
/usr/share/doc/swig-1.3.21/Manual/About.html
/usr/share/doc/swig-1.3.21/Manual/Advanced.html
/usr/share/doc/swig-1.3.21/Manual/Arguments.html
/usr/share/doc/swig-1.3.21/Manual/CSharp.html
/usr/share/doc/swig-1.3.21/Manual/Chicken.html
/usr/share/doc/swig-1.3.21/Manual/Contents.html
/usr/share/doc/swig-1.3.21/Manual/Contract.html
/usr/share/doc/swig-1.3.21/Manual/Copyright.html
/usr/share/doc/swig-1.3.21/Manual/Customization.html
/usr/share/doc/swig-1.3.21/Manual/Documentation.html
/usr/share/doc/swig-1.3.21/Manual/Extending.html
/usr/share/doc/swig-1.3.21/Manual/Guile.html
/usr/share/doc/swig-1.3.21/Manual/Introduction.html
/usr/share/doc/swig-1.3.21/Manual/Java.html
/usr/share/doc/swig-1.3.21/Manual/Library.html
/usr/share/doc/swig-1.3.21/Manual/Modules.html
/usr/share/doc/swig-1.3.21/Manual/Ocaml.html
/usr/share/doc/swig-1.3.21/Manual/Perl5.html
/usr/share/doc/swig-1.3.21/Manual/Php.html
/usr/share/doc/swig-1.3.21/Manual/Pike.html
/usr/share/doc/swig-1.3.21/Manual/Preface.html
/usr/share/doc/swig-1.3.21/Manual/Preprocessor.html
/usr/share/doc/swig-1.3.21/Manual/Python.html
/usr/share/doc/swig-1.3.21/Manual/README
/usr/share/doc/swig-1.3.21/Manual/Ruby.html
/usr/share/doc/swig-1.3.21/Manual/SWIG.html
/usr/share/doc/swig-1.3.21/Manual/SWIGPlus.html
/usr/share/doc/swig-1.3.21/Manual/Scripting.html
/usr/share/doc/swig-1.3.21/Manual/Tcl.html
/usr/share/doc/swig-1.3.21/Manual/Typemaps.html
/usr/share/doc/swig-1.3.21/Manual/Varargs.html
/usr/share/doc/swig-1.3.21/Manual/Warnings.html
/usr/share/doc/swig-1.3.21/Manual/Windows.html
/usr/share/doc/swig-1.3.21/Manual/ch11.1.png
/usr/share/doc/swig-1.3.21/Manual/ch11.2.png
/usr/share/doc/swig-1.3.21/Manual/ch11.3.png
/usr/share/doc/swig-1.3.21/Manual/ch12.1.png
/usr/share/doc/swig-1.3.21/Manual/ch2.1.png
/usr/share/doc/swig-1.3.21/Manual/ch9.table.2.png
/usr/share/doc/swig-1.3.21/Manual/chapters
/usr/share/doc/swig-1.3.21/Manual/index.html
/usr/share/doc/swig-1.3.21/Manual/makechap.py
/usr/share/doc/swig-1.3.21/Manual/maketoc.py
/usr/share/doc/swig-1.3.21/NEW
/usr/share/doc/swig-1.3.21/README
/usr/share/doc/swig-1.3.21/TODO
No tags attached.
Issue History
2013-11-30 19:30jschuellerNote Added: 0034615
2013-11-30 19:31jschuellerStatusassigned => resolved
2013-11-30 19:31jschuellerFixed in Version => CMake-2-8
2013-11-30 19:31jschuellerResolutionopen => fixed
2014-06-02 08:37Robert MaynardNote Added: 0036042
2014-06-02 08:37Robert MaynardStatusresolved => closed

Notes
(0004694)
Brad King   
2006-08-18 11:24   
I'm assigning this bug to myself, though I may not get to it for a while.

The problem is that FIND_PATH is used to search for swig.swg in /usr/lib but not /usr/lib64. The automatic translation of "lib" to "lib64" during searching is done only for FIND_LIBRARY.
(0004744)
Brad King   
2006-08-25 10:00   
The current lib->lib64 conversion is done in cmFindLibrary::AddLib64Paths. This conversion should be done for all search paths by all FIND_* commands.

I'm assigning this to Bill because he wrote the auto lib->lib64 conversion and the FIND_* commands that need to be updated.
(0004979)
Steven Loomis   
2006-09-20 02:18   
Why doesn't FindSWIG.cmake execute "swig -swiglib" ?
I have cmake version 2.4-patch 3 on MacOSX/intel.
Swig version 1.3.29, installed by DarwinPorts (as was cmake)
"swig -swiglib" returns /opt/local/share/swig/1.3.29
I worked around the problem by symlinking /opt/local/share/swig/1.3.29 to /opt/local/share/swig1.3 ( which is the same as /usr/local/share/swig1.3 ) and so it found it. but "swig" was on the PATH, no reason it couldn have found it by executing swig.

Thanks.
(0004981)
Steven Loomis   
2006-09-20 02:27   
You might take a look at bug 3297, FindRuby.cmake - there is an attachment (or even a checkin to svn) that does a more dynamic search. Could be useful for fixing this one.
(0004983)
Brad King   
2006-09-20 11:59   
The reason it doesn't execute "swig -swiglib" is because the author didn't write it that way. Many of the Find*.cmake modules need to be updated to find an executable first and then run it to get the other locations (ex. the python finder). This is one of them too.
(0034615)
jschueller   
2013-11-30 19:30   
It uses -swiglib now, I close the ticket.
(0036042)
Robert Maynard   
2014-06-02 08:37   
Closing resolved issues that have not been updated in more than 4 months.