Package: ghdl
Version: 0.18-2
Severity: important

Hi,

With the following trivial example:

entity hello is
end entity;

architecture world of hello is
begin
end architecture;

(or larger examples) I get the following errors when elaborating:

$ ghdl -a hello.vhdl
[EMAIL PROTECTED]:~/newnham/vhdl$ ghdl -a hello.vhdl
[EMAIL PROTECTED]:~/newnham/vhdl$ ghdl -e hello
/usr/bin/ld: cannot find -lgnat-3.4
collect2: ld returned 1 exit status
/usr/lib/ghdl/bin/ghdl: compilation error

I do have /usr/lib/libgnat-3.4.

I mainly use gcc-3.3.  I did have an old -3.4 gcc/g++ package installed.
When I installed ghdl it upgraded these and installed various other -3.4
packages.  When I elaborate with -v I see that it is using plain "gcc"
to link:

$ ghdl -e -v hello
/usr/lib/ghdl/libexec/gcc/i386-linux/3.4.4/ghdl1
-P/usr/lib/ghdl/lib/gcc/i386-linux/3.4.4/vhdl/lib/v93/std/
-P/usr/lib/ghdl/lib/gcc/i386-linux/3.4.4/vhdl/lib/v93/ieee/ --elab hello
-l e~hello.lst -quiet -o e~hello.s e~hello
/usr/bin/as -o e~hello.o e~hello.s
HERE >>>>/usr/bin/gcc -o hello e~hello.o
/usr/lib/ghdl/lib/gcc/i386-linux/3.4.4/vhdl/lib/v93/std/std_standard.o
hello.o /usr/lib/ghdl/lib/gcc/i386-linux/3.4.4/vhdl/lib//libgrt.a -ldl
-L./ -L/usr/lib/gcc/i486-linux/3.4.4/adalib/ -lgnat-3.4
/usr/bin/ld: cannot find -lgnat-3.4
collect2: ld returned 1 exit status
/usr/lib/ghdl/bin/ghdl: compilation error

This gcc is 3.3.6.  Does that matter?

Anyway, running that gcc with --verbose:

$ /usr/bin/gcc --verbose -o hello e~hello.o
/usr/lib/ghdl/lib/gcc/i386-linux/3.4.4/vhdl/lib/v93/std/std_standard.o
hello.o /usr/lib/ghdl/lib/gcc/i386-linux/3.4.4/vhdl/lib//libgrt.a -ldl
-L./ -L/usr/lib/gcc/i486-linux/3.4.4/adalib/ -lgnat-3.4
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.6/specs
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared
--enable-__cxa_atexit --with-system-zlib --enable-nls
--without-included-gettext --enable-clocale=gnu --enable-debug
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc
i486-linux
Thread model: posix
gcc version 3.3.6 (Debian 1:3.3.6-5)
 /usr/lib/gcc-lib/i486-linux/3.3.6/collect2 --eh-frame-hdr -m elf_i386
 -dynamic-linker /lib/ld-linux.so.2 -o hello
 /usr/lib/gcc-lib/i486-linux/3.3.6/../../../crt1.o
 /usr/lib/gcc-lib/i486-linux/3.3.6/../../../crti.o
 /usr/lib/gcc-lib/i486-linux/3.3.6/crtbegin.o -L./
 -L/usr/lib/gcc/i486-linux/3.4.4/adalib/
 -L/usr/lib/gcc-lib/i486-linux/3.3.6
 -L/usr/lib/gcc-lib/i486-linux/3.3.6/../../.. e~hello.o
 /usr/lib/ghdl/lib/gcc/i386-linux/3.4.4/vhdl/lib/v93/std/std_standard.o
 hello.o /usr/lib/ghdl/lib/gcc/i386-linux/3.4.4/vhdl/lib//libgrt.a -ldl
 -lgnat-3.4 -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc
 --as-needed -lgcc_s --no-as-needed
 /usr/lib/gcc-lib/i486-linux/3.3.6/crtend.o
 /usr/lib/gcc-lib/i486-linux/3.3.6/../../../crtn.o
 /usr/bin/ld: cannot find -lgnat-3.4
 collect2: ld returned 1 exit status

It invokes collect2 with -lgnat-3.4, which looks sensible to me, but
fails.

If I use /usr/lib/libgnat-3.4.so.1 instead of -lgnat3.4 it seems to
work.  (I haven't actually checked that the compiled code functions, but
it at least links without errors.)

I presume that this is something to do with paths or a missing
dependency or static-vs-dynamic libraries something like that.  Does
the link look at all different for you on a working system?  Maybe my
-3.3 installation is a problem, but I seem to get the same error if I
run gcc-3.4 to link manually.

Help!

--Phil.


-- System Information:



Debian Release: 3.1
  APT prefers unstable
  APT policy: (800, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.11-1-686
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)

Versions of packages ghdl depends on:
ii  gnat-3.4                    3.4.4-0      The GNU Ada compiler
ii  libc6                       2.3.2.ds1-22 GNU C Library: Shared libraries an
ii  libgcc1                     1:4.0.0-9    GCC support library
ii  libgnat-3.4                 3.4.4-0      Runtime library for GNU Ada applic

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to