From: Susana Tomasio (susietomasio_at_gmail.com)
Date: Fri Mar 18 2011 - 11:21:56 CDT

Yes,
there is a file called "tester". I know that that's what is supposed to
happen,
but I think there is something wrong because when I try to execute it, it
gives
that error regarding the libtcl8.5.so library:

./tester: error while loading shared libraries: libtcl8.5.so: cannot open
shared object file: No such file or directory

But maybe I'm missing something here.

Thank you,

Susana

On Fri, Mar 18, 2011 at 4:14 PM, Axel Kohlmeyer <akohlmey_at_gmail.com> wrote:

> susana,
>
> >
> > When I type "make" this is what appears on the screen (which is not very
> > helpful):
> > gfortran -c -O2 -Wall tester.f -o tester.o
> >
> > "gcc -c -I/home/tomasio/plugins/include -I/home/tomasio/plugins/LINUX/
> -O2
> > -Wall f77_molfile.c -o f77_molfile.o
> > gfortran -o tester -L/home/tomasio/plugins/LINUX/molfile
> -L/usr/local/lib/
> > -L/home/tomasio/local/lib/ tester.o f77_molfile.o -lmolfile_plugin
> -lnetcdf
> > -ltcl8.5 -L/usr/share/doc -lstdc++ -ldl"
>
> so is there a file "tester" as a result of that???
> that is what is supposed to happen. and there is no indication that there
> isn't.
>
>
> > I tried the following:
> > touch empty.cxx
> > g++ -v empty.cxx
> >
> > And the output is:
> [...]
>
> > (.text+0x18): undefined reference to `main'
> > collect2: ld returned 1 exit status
> >
> > I think it is a problem with the -L flags but I don't know
> > how to fix it.
>
> there is nothing that needs to be fixed. the empty file is only
> needed to so you can see g++ -v execute all steps of the
> compilation up to the linking. and scoop up any necessary
> flags in the process. it is supposed to fail at the linking stage.
>
> axel.
>
>
> > If anyone has any suggestions I'd be grateful.
> >
> > Thank you,
> >
> > Susana
> >
> >
> >
> > On Mon, Mar 14, 2011 at 11:08 PM, Axel Kohlmeyer <akohlmey_at_gmail.com>
> wrote:
> >>
> >> On Mon, Mar 14, 2011 at 5:49 PM, Susana Tomasio <susietomasio_at_gmail.com
> >
> >> wrote:
> >> > Hi John,
> >> >
> >> > I see what you mean, but when I add the space between "-ltc8.5"
> >> > and "-L/usr/lib/" it gives me the previous error:
> >> >
> >> > ld: library not found for -lstdc++
> >> > collect2: ld returned 1 exit status
> >>
> >> so you have to find where your c++ library is located.
> >>
> >> i don't know much about macosx and it is doing
> >> a lot of things different from other operating systems.
> >> what you can try for example is to do the following:
> >>
> >> touch empty.cxx
> >> g++ -v empty.cxx
> >>
> >> that will stop with an error, but thanks to the '-v' it will
> >> print the full command line at each step. on my linux
> >> box this is:
> >>
> >> Using built-in specs.
> >> Target: x86_64-redhat-linux
> >> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> >> --infodir=/usr/share/info
> >> --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap
> >> --enable-shared --enable-threads=posix --enable-checking=release
> >> --with-system-zlib --enable-__cxa_atexit
> >> --disable-libunwind-exceptions --enable-gnu-unique-object
> >> --enable-languages=c,c++,objc,obj-c++,java,fortran,ada
> >> --enable-java-awt=gtk --disable-dssi --enable-plugin
> >> --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
> >> --enable-libgcj-multifile --enable-java-maintainer-mode
> >> --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
> >> --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic
> >> --with-arch_32=i686 --build=x86_64-redhat-linux
> >> Thread model: posix
> >> gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC)
> >> COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic'
> >> /usr/libexec/gcc/x86_64-redhat-linux/4.4.4/cc1plus -quiet -v
> >> -D_GNU_SOURCE empty.cxx -quiet -dumpbase empty.cxx -mtune=generic
> >> -auxbase empty -version -o /tmp/cckHewnV.s
> >> ignoring nonexistent directory
> >> "/usr/lib/gcc/x86_64-redhat-linux/4.4.4/include-fixed"
> >> ignoring nonexistent directory
> >>
> >>
> "/usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../x86_64-redhat-linux/include"
> >> #include "..." search starts here:
> >> #include <...> search starts here:
> >> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../include/c++/4.4.4
> >>
> >>
> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../include/c++/4.4.4/x86_64-redhat-linux
> >>
> >>
> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../include/c++/4.4.4/backward
> >> /usr/local/include
> >> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/include
> >> /usr/include
> >> End of search list.
> >> GNU C++ (GCC) version 4.4.4 20100630 (Red Hat 4.4.4-10)
> >> (x86_64-redhat-linux)
> >> compiled by GNU C version 4.4.4 20100630 (Red Hat 4.4.4-10), GMP
> >> version 4.3.1, MPFR version 2.4.1.
> >> GGC heuristics: --param ggc-min-expand=100 --param
> ggc-min-heapsize=131072
> >> Compiler executable checksum: 921aa223d38d78a20e67c4037f50d7c9
> >> COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic'
> >> as -V -Qy -o /tmp/ccY7JKAw.o /tmp/cckHewnV.s
> >> GNU assembler version 2.19.51.0.14 (x86_64-redhat-linux) using BFD
> >> version version 2.19.51.0.14-37.fc12 20090722
> >>
> >>
> COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.4.4/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.4/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.4/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.4/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.4/:/usr/lib/gcc/x86_64-redhat-linux/
> >>
> >>
> LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.4/:/usr/lib/gcc/x86_64-redhat-linux/4.4.4/:/usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../:/lib/:/usr/lib/
> >> COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic'
> >> /usr/libexec/gcc/x86_64-redhat-linux/4.4.4/collect2 --eh-frame-hdr
> >> --build-id -m elf_x86_64 --hash-style=gnu -dynamic-linker
> >> /lib64/ld-linux-x86-64.so.2
> >> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../lib64/crt1.o
> >> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../lib64/crti.o
> >> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/crtbegin.o
> >> -L/usr/lib/gcc/x86_64-redhat-linux/4.4.4
> >> -L/usr/lib/gcc/x86_64-redhat-linux/4.4.4
> >> -L/usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../lib64
> >> -L/lib/../lib64 -L/usr/lib/../lib64
> >> -L/usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../.. /tmp/ccY7JKAw.o
> >> -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc
> >> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/crtend.o
> >> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../lib64/crtn.o
> >> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../../lib64/crt1.o: In
> >> function `_start':
> >> (.text+0x20): undefined reference to `main'
> >> collect2: ld returned 1 exit status
> >>
> >> the last step is the linking and there you see all the -L flags that are
> >> added
> >> when linking a c++ code. now you can add the -v flag when linking with
> >> gfortran and you can compare.
> >>
> >> cheers,
> >> axel.
> >>
> >> > Thank you,
> >> >
> >> > Susana
> >> >
> >> >
> >> > On Mon, Mar 14, 2011 at 9:22 PM, John Stone <johns_at_ks.uiuc.edu>
> wrote:
> >> >>
> >> >> Susana,
> >> >> You need a space between "-ltcl8.5" and "-L/usr/lib/", they are
> >> >> separate command parameters. You may need to edit your makefile
> >> >> to add spaces where necessary.
> >> >>
> >> >> Cheers,
> >> >> John
> >> >>
> >> >> On Mon, Mar 14, 2011 at 09:04:51PM +0000, Susana Tomasio wrote:
> >> >> > Hi Axel,
> >> >> >
> >> >> > Thank you for your reply.
> >> >> > Your are right it doesn't complain about -lstdc++. But now it
> >> >> > complains
> >> >> > about -ltcl8.5:
> >> >> >
> >> >> > ld: library not found for -ltcl8.5-L/usr/lib/
> >> >> > collect2: ld returned 1 exit status
> >> >> > make: *** [tester] Error 1
> >> >> >
> >> >> > Is it also related with the space between the words?
> >> >> > (Sorry I don't have experience with this sort of thing).
> >> >> >
> >> >> > Thank you,
> >> >> >
> >> >> > Susana
> >> >> >
> >> >> > On Mon, Mar 14, 2011 at 6:43 PM, Axel Kohlmeyer
> >> >> > <akohlmey_at_gmail.com>
> >> >> > wrote:
> >> >> >
> >> >> > On Mon, Mar 14, 2011 at 12:52 PM, Susana Tomasio
> >> >> > <susietomasio_at_gmail.com> wrote:
> >> >> > > Hi all,
> >> >> > >
> >> >> > > I'm compiling the fortran bindings for the VMD molfile
> plugins
> >> >> > from
> >> >> > Axel
> >> >> > > Kohlmeyer.
> >> >> > >
> >> >> > > I've compiled the molfile plugins but I am having a linkage
> >> >> > problem
> >> >> > when
> >> >> > > compliling the
> >> >> > > fortran bindings. I am using a MacOSX Snow Leopard.
> >> >> >
> >> >> > [...]
> >> >> > > ld: library not found for -ltcl8.5-L/usr/lib/-lstdc++
> >> >> >
> >> >> > have a look at this error message.
> >> >> > it doesn't look right as a library name, or does it?
> >> >> > > collect2: ld returned 1 exit status
> >> >> > > make: *** [tester] Error 1
> >> >> > >
> >> >> > > And this is the edit section of my Makefile:
> >> >> > >
> >> >> > > ARCH = MACOSX86-64
> >> >> > > ARCHDIR = /Users/tomasio/plugins/MACOSXX86/molfile
> >> >> > > FC = g77
> >> >> > > #FC = g77
> >> >> > > #-fno-second-underscore
> >> >> > > CC = gcc
> >> >> > > LD = $(FC)
> >> >> > > OPT = -O2 -Wall
> >> >> > > CPPFLAGS = -I/Users/tomasio/plugins/include/
> >> >> > > -I/Users/tomasio/plugins/MACOSXX86 #
> >> >> > > -D_F77_F2C_UNDERSCORE
> >> >> > > CFLAGS = -c $(CPPFLAGS) $(OPT)
> >> >> > > FFLAGS = -c $(OPT)
> >> >> > > NETCDFLIB =
> >> >> > >
> >> >> >
> >> >> >
> >> >> >
> -L/opt/local/var/macports/software/netcdf/4.1.1_4+dap+netcdf4/opt/local/lib/
> >> >> > > #/usr/lib64/netcdf-3
> >> >> > > NETCDFLDFLAGS = -lnetcdf
> >> >> > > TCLLIB =
> >> >> > /opt/local/var/macports/software/tcl/8.5.9_0/opt/local/lib/
> >> >> > > TCLLDFLAGS = -ltcl8.5
> >> >> > > LDFLAGS = -L$(ARCHDIR) $(TCLLIB) $(NETCDFLIB)
> >> >> > > LDLIBS = -lmolfile_plugin $(NETCDFLDFLAGS)
> >> >> > > $(TCLLDFLAGS)-L/usr/lib/-lstdc++ -ldl
> >> >> >
> >> >> > here is the problem. there have to be blanks between the
> >> >> > "words",
> >> >> > i.e.
> >> >> > try:
> >> >> > $(TCLLDFLAGS) -L/usr/lib/ -lstdc++ -ldl
> >> >> >
> >> >> > cheers,
> >> >> > axel.
> >> >> > >
> >> >> > > I tried with gfortran and got the same error.
> >> >> > > I would be grateful if anyone could help me with this.
> >> >> > >
> >> >> > > Thank you,
> >> >> > >
> >> >> > > Susana
> >> >> > >
> >> >> >
> >> >> > --
> >> >> > Dr. Axel Kohlmeyer
> >> >> > akohlmey_at_gmail.com http://goo.gl/1wk0
> >> >> >
> >> >> > Institute for Computational Molecular Science
> >> >> > Temple University, Philadelphia PA, USA.
> >> >>
> >> >> --
> >> >> NIH Resource for Macromolecular Modeling and Bioinformatics
> >> >> Beckman Institute for Advanced Science and Technology
> >> >> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> >> >> Email: johns_at_ks.uiuc.edu Phone: 217-244-3349
> >> >> WWW: http://www.ks.uiuc.edu/~johns/ Fax: 217-244-6078
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Dr. Axel Kohlmeyer
> >> akohlmey_at_gmail.com http://goo.gl/1wk0
> >>
> >> Institute for Computational Molecular Science
> >> Temple University, Philadelphia PA, USA.
> >
> >
>
>
>
> --
> Dr. Axel Kohlmeyer
> akohlmey_at_gmail.com http://goo.gl/1wk0
>
> Institute for Computational Molecular Science
> Temple University, Philadelphia PA, USA.
>