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]

