filcuc / dqml

Qt Qml bindings for the D programming language
GNU Lesser General Public License v3.0
42 stars 14 forks source link

Linker error compiling helloworld #19

Closed o3o closed 5 years ago

o3o commented 5 years ago

Hi Filippo, I have tried to compile helloworld

$ cd dqml/examples/helloworld/
$ dub build --verbose
/home/dao/.dub/packages/dqml-0.6.1/dqml/source/dqml/qobject.d(109,13): Deprecation: foreach: loop index implicitly converted from size_t to int
....
Linking...
/usr/bin/dmd -of.dub/build/application-debug-linux.posix-x86_64-dmd_2085-62B3124FD7CA697A98D4DCCFD778CEA8/helloworld .dub/build/application-debug-linux.posix-x86_64-dmd_2085-62B3124FD7CA697A98D4DCCFD778CEA8/helloworld.o -L--no-as-needed -L-lDOtherSide -g

/home/dao/.dub/packages/dqml-0.6.1/dqml/source/dqml/qabstracttablemodel.d:58: error: undefined reference to 'dos_qabstracttablemodel_create'
....
collect2: error: ld returned 1 exit status
Error: linker exited with status 1
/usr/bin/dmd failed with exit code 1.

I downloaded DOtherSide from here then:

# pacman -U DOtherSide-0.5.2-1-x86_64.pkg.tar.xz

then:

$ sudo ldconfig

My environment

$ uname --all
Linux abe 5.0.2-arch1-1-ARCH #1 SMP PREEMPT Thu Mar 14 18:47:49 UTC 2019 x86_64 GNU/Linux

$ dmd --version
DMD64 D Compiler v2.085.0

$ dub --version
DUB version 1.14.0, built on Mar 17 2019

Thank you

filcuc commented 5 years ago

That package is outdated you have to build and install dotherside from source

Il Mer 27 Mar 2019, 10:05 o3o notifications@github.com ha scritto:

Hi Filippo, I have tried to compile helloword

$ cd dqml/examples/helloworld/ $ dub build --verbose /home/dao/.dub/packages/dqml-0.6.1/dqml/source/dqml/qobject.d(109,13): Deprecation: foreach: loop index implicitly converted from size_t to int .... Linking... /usr/bin/dmd -of.dub/build/application-debug-linux.posix-x86_64-dmd_2085-62B3124FD7CA697A98D4DCCFD778CEA8/helloworld .dub/build/application-debug-linux.posix-x86_64-dmd_2085-62B3124FD7CA697A98D4DCCFD778CEA8/helloworld.o -L--no-as-needed -L-lDOtherSide -g

/home/dao/.dub/packages/dqml-0.6.1/dqml/source/dqml/qabstracttablemodel.d:58: error: undefined reference to 'dos_qabstracttablemodel_create' .... collect2: error: ld returned 1 exit status Error: linker exited with status 1 /usr/bin/dmd failed with exit code 1.

I downloaded DOtherSide from here https://download.opensuse.org/repositories/home:/filcuc/Arch_Extra/x86_64/DOtherSide-0.5.2-1-x86_64.pkg.tar.xz then:

pacman -U DOtherSide-0.5.2-1-x86_64.pkg.tar.xz

then:

$ sudo ldconfig

My environment

$ uname --all Linux abe 5.0.2-arch1-1-ARCH #1 SMP PREEMPT Thu Mar 14 18:47:49 UTC 2019 x86_64 GNU/Linux

$ dmd --version DMD64 D Compiler v2.085.0

$ dub --version DUB version 1.14.0, built on Mar 17 2019

Thank you

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/filcuc/dqml/issues/19, or mute the thread https://github.com/notifications/unsubscribe-auth/AG07o27sP1HPT2nnPMmf3t8q1mVEOrLFks5vazRwgaJpZM4cNRcD .

o3o commented 5 years ago

Thank you.

After compiling and installing dos:

$ dub build
$ cd bin
$ ./helloworld
./helloworld: error while loading shared libraries: libDOtherSide.so.0.6: cannot open shared object file: No such file or directory

libDOtherSide was installed:

$ cd /usr/local/lib/
$ ls -l
lrwxrwxrwx 1 root root      20 Mar 27 14:19 libDOtherSide.so -> libDOtherSide.so.0.6
lrwxrwxrwx 1 root root      22 Mar 27 14:19 libDOtherSide.so.0.6 -> libDOtherSide.so.0.6.3
-rwxr-xr-x 1 root root 4583032 Mar 27 14:18 libDOtherSide.so.0.6.3
-rw-r--r-- 1 root root  118886 Mar  1 17:29 libz.a
lrwxrwxrwx 1 root root      14 Mar  1 17:29 libz.so -> libz.so.1.2.11
lrwxrwxrwx 1 root root      14 Mar  1 17:29 libz.so.1 -> libz.so.1.2.11
-rwxr-xr-x 1 root root  107136 Mar  1 17:29 libz.so.1.2.11
drwxr-xr-x 2 root root    4096 Mar  1 17:29 pkgconfig

where am I wrong?

Thank you

filcuc commented 5 years ago

I think that you /usr/local/lib is not search during shared library loading. You can force it with LDLIBRARY_PATH or installing in /usr/lib

Il Mer 27 Mar 2019, 14:31 o3o notifications@github.com ha scritto:

Thank you.

After compiling and installing dos:

$ dub build $ cd bin $ ./helloworld ./helloworld: error while loading shared libraries: libDOtherSide.so.0.6: cannot open shared object file: No such file or directory

libDOtherSide was installed:

$ cd /usr/local/lib/ $ ls -l lrwxrwxrwx 1 root root 20 Mar 27 14:19 libDOtherSide.so -> libDOtherSide.so.0.6 lrwxrwxrwx 1 root root 22 Mar 27 14:19 libDOtherSide.so.0.6 -> libDOtherSide.so.0.6.3 -rwxr-xr-x 1 root root 4583032 Mar 27 14:18 libDOtherSide.so.0.6.3 -rw-r--r-- 1 root root 118886 Mar 1 17:29 libz.a lrwxrwxrwx 1 root root 14 Mar 1 17:29 libz.so -> libz.so.1.2.11 lrwxrwxrwx 1 root root 14 Mar 1 17:29 libz.so.1 -> libz.so.1.2.11 -rwxr-xr-x 1 root root 107136 Mar 1 17:29 libz.so.1.2.11 drwxr-xr-x 2 root root 4096 Mar 1 17:29 pkgconfig

where am I wrong?

Thank you

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/filcuc/dqml/issues/19#issuecomment-477155049, or mute the thread https://github.com/notifications/unsubscribe-auth/AG07o9lZuCzHaM6RXTWqOa_um01WSYdsks5va3KigaJpZM4cNRcD .

o3o commented 5 years ago

Thank you...now it works!