Problem building master with autotools

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Problem building master with autotools

Alex Aycinena-2
With a fresh checkout of master, I try to build with the autotools but I
get an error in linking test-import-pending-matches with test-engine-stuff
during make as follows:

/usr/bin/ld:
../../../src/engine/test-core/.libs/libgncmod-test-engine.a(test-engine-stuff.o):
undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
/usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command
line
collect2: error: ld returned 1 exit status
Makefile:837: recipe for target 'test-import-pending-matches' failed

I can build with cmake but I would like to run make check after an
autotools make because I think it runs different checks.

Can anyone give me an idea of how to get this to work? This is Fedora 25.

Thanks,

Alex
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

Sumit Bhardwaj
I checked out master in the AM today and had a clean build (make and make
install) on Fedora 25 using autotools. I can try again once I get to my
personal machine.

Are you doing make test here? I can try and report.

Thanks,
Sumit

On Mon, Jul 10, 2017 at 6:38 PM, Alex Aycinena <[hidden email]>
wrote:

> With a fresh checkout of master, I try to build with the autotools but I
> get an error in linking test-import-pending-matches with test-engine-stuff
> during make as follows:
>
> /usr/bin/ld:
> ../../../src/engine/test-core/.libs/libgncmod-test-engine.a(
> test-engine-stuff.o):
> undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
> /usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command
> line
> collect2: error: ld returned 1 exit status
> Makefile:837: recipe for target 'test-import-pending-matches' failed
>
> I can build with cmake but I would like to run make check after an
> autotools make because I think it runs different checks.
>
> Can anyone give me an idea of how to get this to work? This is Fedora 25.
>
> Thanks,
>
> Alex
> _______________________________________________
> gnucash-devel mailing list
> [hidden email]
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

Alex Aycinena-2
On Jul 10, 2017 6:58 PM, "Sumit Bhardwaj" <[hidden email]> wrote:

I checked out master in the AM today and had a clean build (make and make
install) on Fedora 25 using autotools. I can try again once I get to my
personal machine.

Are you doing make test here? I can try and report.

Thanks,
Sumit

On Mon, Jul 10, 2017 at 6:38 PM, Alex Aycinena <[hidden email]>
wrote:

> With a fresh checkout of master, I try to build with the autotools but I
> get an error in linking test-import-pending-matches with test-engine-stuff
> during make as follows:
>
> /usr/bin/ld:
> ../../../src/engine/test-core/.libs/libgncmod-test-engine.a(
> test-engine-stuff.o):
> undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
> /usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command
> line
> collect2: error: ld returned 1 exit status
> Makefile:837: recipe for target 'test-import-pending-matches' failed
>
> I can build with cmake but I would like to run make check after an
> autotools make because I think it runs different checks.
>
> Can anyone give me an idea of how to get this to work? This is Fedora 25.
>
> Thanks,
>
> Alex
> _______________________________________________
> gnucash-devel mailing list
> [hidden email]
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>

No - I have a new check out and an empty build directory. I run autogen.sh
then change to the build directory. I run config with a bunch of switches
referring back to the main directory for source. Then I run make and get
the error.

Can't figure out why it stopped working suddenly a few weeks ago.

Thanks.

Alex
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

Sumit Bhardwaj
Just did a fresh pull from gnucash/master (not a rebase).

Using autotools (./autogen.sh && ./configure --enable-compile-warnings &&
make) succeeded.

Make check failed. Fail message is below. I will try to look at it if I
have some time tonight.

-Sumit

./../../test-driver: line 107:  8259 Trace/breakpoint trap   (core dumped)
"$@" > $log_file 2>&1
FAIL: test-app-utils
============================================================================
Testsuite summary for GnuCash 2.6.99
============================================================================
# TOTAL: 7
# PASS:  6
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See src/app-utils/test/test-suite.log
Please report to [hidden email]
============================================================================
Makefile:1051: recipe for target 'test-suite.log' failed
make[5]: *** [test-suite.log] Error 1
make[5]: Leaving directory
'/home/bhardwajs/ac/devel/gnucash/src/app-utils/test'
Makefile:1157: recipe for target 'check-TESTS' failed
make[4]: *** [check-TESTS] Error 2
make[4]: Leaving directory
'/home/bhardwajs/ac/devel/gnucash/src/app-utils/test'
Makefile:1272: recipe for target 'check-am' failed
make[3]: *** [check-am] Error 2
make[3]: Leaving directory
'/home/bhardwajs/ac/devel/gnucash/src/app-utils/test'
Makefile:1026: recipe for target 'check-recursive' failed
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory '/home/bhardwajs/ac/devel/gnucash/src/app-utils'
Makefile:596: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/bhardwajs/ac/devel/gnucash/src'
Makefile:825: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1


On Mon, Jul 10, 2017 at 7:15 PM, Alex Aycinena <[hidden email]>
wrote:

>
>
> On Jul 10, 2017 6:58 PM, "Sumit Bhardwaj" <[hidden email]> wrote:
>
> I checked out master in the AM today and had a clean build (make and make
> install) on Fedora 25 using autotools. I can try again once I get to my
> personal machine.
>
> Are you doing make test here? I can try and report.
>
> Thanks,
> Sumit
>
> On Mon, Jul 10, 2017 at 6:38 PM, Alex Aycinena <[hidden email]>
> wrote:
>
>> With a fresh checkout of master, I try to build with the autotools but I
>> get an error in linking test-import-pending-matches with test-engine-stuff
>> during make as follows:
>>
>> /usr/bin/ld:
>> ../../../src/engine/test-core/.libs/libgncmod-test-engine.a(
>> test-engine-stuff.o):
>> undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
>> /usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command
>> line
>> collect2: error: ld returned 1 exit status
>> Makefile:837: recipe for target 'test-import-pending-matches' failed
>>
>> I can build with cmake but I would like to run make check after an
>> autotools make because I think it runs different checks.
>>
>> Can anyone give me an idea of how to get this to work? This is Fedora 25.
>>
>> Thanks,
>>
>> Alex
>> _______________________________________________
>> gnucash-devel mailing list
>> [hidden email]
>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>>
>
> No - I have a new check out and an empty build directory. I run autogen.sh
> then change to the build directory. I run config with a bunch of switches
> referring back to the main directory for source. Then I run make and get
> the error.
>
> Can't figure out why it stopped working suddenly a few weeks ago.
>
> Thanks.
>
> Alex
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

Geert Janssens-4
In reply to this post by Alex Aycinena-2
On dinsdag 11 juli 2017 03:38:16 CEST Alex Aycinena wrote:

> With a fresh checkout of master, I try to build with the autotools but I
> get an error in linking test-import-pending-matches with test-engine-stuff
> during make as follows:
>
> /usr/bin/ld:
> ../../../src/engine/test-core/.libs/libgncmod-test-engine.a(test-engine-stuf
> f.o): undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
> /usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command
> line
> collect2: error: ld returned 1 exit status
> Makefile:837: recipe for target 'test-import-pending-matches' failed
>
> I can build with cmake but I would like to run make check after an
> autotools make because I think it runs different checks.
>
> Can anyone give me an idea of how to get this to work? This is Fedora 25.
>

Odd I don't get this on my system (Fedora 25 as well).

The linker is having issues resolving "__gxx_personality_v0". The internet
cites two common issues for this:
- either a library is missing
- or the sequence of libraries on the command line is wrong (a symbol to
resolve should appear after the source in which it's being imported).

For the first I option I don't have many clues. The symbol is defined in
libstdc++. You could check whether it's installed on your system, including
the devel package.

If it's a case of out of order mentioning of link libraries, we could use my
system as a reference as I don't have the issue.

Below is the full command issued to build test-import-pending-matches:

libtool: link: gcc
 -I/gitsrc-dir/src
 -I/gitsrc-dir/src/gnc-module
 -I/gitsrc-dir/src/test-core
 -I/gitsrc-dir/src/engine
 -I/gitsrc-dir/src/app-utils
 -I/gitsrc-dir/src/import-export
 -I/gitsrc-dir/src/libqof/qof
 -I/gitsrc-dir/src/engine/test-core
 -pthread
 -I/usr/include/gtk-3.0
 -I/usr/include/at-spi2-atk/2.0
 -I/usr/include/at-spi-2.0
 -I/usr/include/dbus-1.0
 -I/usr/lib64/dbus-1.0/include
 -I/usr/include/gtk-3.0
 -I/usr/include/gio-unix-2.0/
 -I/usr/include/cairo
 -I/usr/include/pango-1.0
 -I/usr/include/harfbuzz
 -I/usr/include/pango-1.0
 -I/usr/include/atk-1.0
 -I/usr/include/cairo
 -I/usr/include/pixman-1
 -I/usr/include/freetype2
 -I/usr/include/libpng16
 -I/usr/include/freetype2
 -I/usr/include/libdrm
 -I/usr/include/libpng16
 -I/usr/include/gdk-pixbuf-2.0
 -I/usr/include/libpng16
 -I/usr/include/glib-2.0
 -I/usr/lib64/glib-2.0/include
 -pthread
 -I/usr/include/guile/2.0
 -pthread -I/usr/include/glib-2.0
 -I/usr/lib64/glib-2.0/include
 -g -O2 -std=gnu11
 -o .libs/test-import-pending-matches
 test_import_pending_matches-test-import-pending-matches.o
 -pthread -Wl,--export-dynamic -pthread
  ../../../src/libqof/qof/.libs/libgnc-qof.so
 -L/usr/lib64
 ../../../src/engine/.libs/libgncmod-engine.so
 ../.libs/libgncmod-generic-import.so
 /build-dir/src/gnome-utils/.libs/libgncmod-gnome-utils.so
 /build-dir/src/backend/xml/.libs/libgnc-backend-xml-utils.so
 -lgnome-keyring
 -lsecret-1
 -lX11
 /build-dir/src/app-utils/.libs/libgncmod-app-utils.so
 -lgtk-3
 -lgdk-3
 -lpangocairo-1.0
 -lpango-1.0
 -latk-1.0
 -lcairo-gobject
 -lcairo
 -lgdk_pixbuf-2.0
 -lxslt
 -lz
 -ldl
 -lxml2
 ../../../src/engine/test-core/.libs/libgncmod-test-engine.a
 /build-dir/src/engine/.libs/libgncmod-engine.so
 /build-dir/src/gnc-module/.libs/libgnc-module.so
 /build-dir/src/core-utils/.libs/libgnc-core-utils.so
 -lpthread
 -lguile-2.0
 -lgc
 ../../../src/test-core/.libs/libtest-core.so
 /build-dir/src/libqof/qof/.libs/libgnc-qof.so
 -lboost_regex
 -lgio-2.0
 -lgthread-2.0
 -lgobject-2.0
 -lgmodule-2.0
 -lglib-2.0
 -lm
 -pthread
 -Wl,-rpath
 -Wl,/install-dir/lib
 -Wl,-rpath
 -Wl,/install-dir/lib/gnucash

Do you see any differences with yours ?

Others may be able to give you more direct help. I'm not very fluent in linker
stuff I'm afraid...

Geert
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

John Ralls-2


> On Jul 11, 2017, at 5:33 AM, Geert Janssens <[hidden email]> wrote:
>
> On dinsdag 11 juli 2017 03:38:16 CEST Alex Aycinena wrote:
>> With a fresh checkout of master, I try to build with the autotools but I
>> get an error in linking test-import-pending-matches with test-engine-stuff
>> during make as follows:
>>
>> /usr/bin/ld:
>> ../../../src/engine/test-core/.libs/libgncmod-test-engine.a(test-engine-stuf
>> f.o): undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
>> /usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command
>> line
>> collect2: error: ld returned 1 exit status
>> Makefile:837: recipe for target 'test-import-pending-matches' failed
>>
>> I can build with cmake but I would like to run make check after an
>> autotools make because I think it runs different checks.
>>
>> Can anyone give me an idea of how to get this to work? This is Fedora 25.
>>
>
> Odd I don't get this on my system (Fedora 25 as well).
>
> The linker is having issues resolving "__gxx_personality_v0". The internet
> cites two common issues for this:
> - either a library is missing
> - or the sequence of libraries on the command line is wrong (a symbol to
> resolve should appear after the source in which it's being imported).

I hit that the other day and the problem was that I had installed libraries from master while trying to build maint. Since the latter doesn’t link to libstdc++, picking up one of the installed libraries that needed it caused the error and clearing out the installed libgnc* fixed the problem.

Regards,
John Ralls

_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

Alex Aycinena-2
In reply to this post by Alex Aycinena-2
Sumit,

>
> ---------- Forwarded message ----------
> From: Sumit Bhardwaj <[hidden email]>
> To: Alex Aycinena <[hidden email]>
> Cc: gnucash-devel <[hidden email]>
> Bcc:
> Date: Mon, 10 Jul 2017 20:04:00 -0700
> Subject: Re: Problem building master with autotools
> Just did a fresh pull from gnucash/master (not a rebase).
>
> Using autotools (./autogen.sh && ./configure --enable-compile-warnings &&
> make) succeeded.
>
> Make check failed. Fail message is below. I will try to look at it if I
> have some time tonight.
>
> -Sumit
>
> ./../../test-driver: line 107:  8259 Trace/breakpoint trap   (core dumped)
> "$@" > $log_file 2>&1
> FAIL: test-app-utils
> ============================================================
> ================
> Testsuite summary for GnuCash 2.6.99
> ============================================================
> ================
> # TOTAL: 7
> # PASS:  6
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  1
> # XPASS: 0
> # ERROR: 0
> ============================================================
> ================
> See src/app-utils/test/test-suite.log
> Please report to [hidden email]
> ============================================================
> ================
> Makefile:1051: recipe for target 'test-suite.log' failed
> make[5]: *** [test-suite.log] Error 1
> make[5]: Leaving directory
> '/home/bhardwajs/ac/devel/gnucash/src/app-utils/test'
> Makefile:1157: recipe for target 'check-TESTS' failed
> make[4]: *** [check-TESTS] Error 2
> make[4]: Leaving directory
> '/home/bhardwajs/ac/devel/gnucash/src/app-utils/test'
> Makefile:1272: recipe for target 'check-am' failed
> make[3]: *** [check-am] Error 2
> make[3]: Leaving directory
> '/home/bhardwajs/ac/devel/gnucash/src/app-utils/test'
> Makefile:1026: recipe for target 'check-recursive' failed
> make[2]: *** [check-recursive] Error 1
> make[2]: Leaving directory '/home/bhardwajs/ac/devel/
> gnucash/src/app-utils'
> Makefile:596: recipe for target 'check-recursive' failed
> make[1]: *** [check-recursive] Error 1
> make[1]: Leaving directory '/home/bhardwajs/ac/devel/gnucash/src'
> Makefile:825: recipe for target 'check-recursive' failed
> make: *** [check-recursive] Error 1
>
>
This the test that I pushed that I can't test since I can't build with
autotools. This test apparently isn't run when you test with cmake, which I
didn't realize. I have backed it out until I can test it and hopefully
didn't introduce any other problems in doing so.

Alex
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

Alex Aycinena-2
In reply to this post by Alex Aycinena-2
John,

>
> ---------- Forwarded message ----------
> From: John Ralls <[hidden email]>
> To: Geert Janssens <[hidden email]>
> Cc: [hidden email], Alex Aycinena <[hidden email]>
> Bcc:
> Date: Tue, 11 Jul 2017 06:57:52 -0700
> Subject: Re: Problem building master with autotools
>
>
> > On Jul 11, 2017, at 5:33 AM, Geert Janssens <[hidden email]>
> wrote:
> >
> > On dinsdag 11 juli 2017 03:38:16 CEST Alex Aycinena wrote:
> >> With a fresh checkout of master, I try to build with the autotools but I
> >> get an error in linking test-import-pending-matches with
> test-engine-stuff
> >> during make as follows:
> >>
> >> /usr/bin/ld:
> >> ../../../src/engine/test-core/.libs/libgncmod-test-engine.a(
> test-engine-stuf
> >> f.o): undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
> >> /usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from
> command
> >> line
> >> collect2: error: ld returned 1 exit status
> >> Makefile:837: recipe for target 'test-import-pending-matches' failed
> >>
> >> I can build with cmake but I would like to run make check after an
> >> autotools make because I think it runs different checks.
> >>
> >> Can anyone give me an idea of how to get this to work? This is Fedora
> 25.
> >>
> >
> > Odd I don't get this on my system (Fedora 25 as well).
> >
> > The linker is having issues resolving "__gxx_personality_v0". The
> internet
> > cites two common issues for this:
> > - either a library is missing
> > - or the sequence of libraries on the command line is wrong (a symbol to
> > resolve should appear after the source in which it's being imported).
>
> I hit that the other day and the problem was that I had installed
> libraries from master while trying to build maint. Since the latter doesn’t
> link to libstdc++, picking up one of the installed libraries that needed it
> caused the error and clearing out the installed libgnc* fixed the problem.
>
> Regards,
> John Ralls
>
> Ah, so it is not just me. This might help me solve it but I'm not quite
following. If I do a new checkout and then build in an empty separate build
directory, wouldn't that avoid the problem? Where would the installed
libgnc* be that causes the problem that I would have to clear out? In
/usr/lib64/gnucash? If I change anything there, wouldn't that mess up the
Fedora installed gnucash package?

By the way, I'm getting the same problem on three separate systems: a
Fedora 24, a Fedora 25 and a Fedora 25 VM, so if it is some strange system
configuration I have, then I have it on three systems, not just one. I
think I'll try a new VM of Fedora 26 that just came out and see if it works
there.

Alex
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

Alex Aycinena-2
In reply to this post by Alex Aycinena-2
Geert,


> Odd I don't get this on my system (Fedora 25 as well).
>
> The linker is having issues resolving "__gxx_personality_v0". The internet
> cites two common issues for this:
> - either a library is missing
> - or the sequence of libraries on the command line is wrong (a symbol to
> resolve should appear after the source in which it's being imported).
>
> For the first I option I don't have many clues. The symbol is defined in
> libstdc++. You could check whether it's installed on your system, including
> the devel package.
>
>
Both libstdc++ and libstdc++-devel are installed



> If it's a case of out of order mentioning of link libraries, we could use
> my
> system as a reference as I don't have the issue.
>
> Below is the full command issued to build test-import-pending-matches:
>
>
The two differences I found are


>  -g -O2 -std=gnu11
>

mine says:

 -g -std=gnull -g -g

Mine doesn't have:

>   -lsecret-1
>



>
>
> Do you see any differences with yours ?
>

I don't know if the two items above have any bearing or why they would be
different.


>
> Others may be able to give you more direct help. I'm not very fluent in
> linker
> stuff I'm afraid...
>
> Geert
>
> Neither am I but thanks for your help.

Alex
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

Eric Theise
Hi everyone,

I seem to be having the same problem as Alex. It's my first time trying to
do a local build. I'm using an up-to-date Ubuntu 16.04 virtual machine.

Eric

...
make[4]: Leaving directory
'/home/erictheise/Repos/erictheise/gnucash/build/src/import-export/log-replay'
Making all in test
make[4]: Entering directory
'/home/erictheise/Repos/erictheise/gnucash/build/src/import-export/test'
/bin/bash ../../../libtool  --tag=CC   --mode=link gcc -I../../../../src
-I../../../../src/gnc-module -I../../../../src/test-core
-I../../../../src/engine -I../../../../src/app-utils
-I../../../../src/import-export -I../../../../src/libqof/qof
-I../../../../src/engine/test-core -pthread -I/usr/include/gtk-3.0
-I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/
-I/usr/include/mirclient -I/usr/include/mircore -I/usr/include/mircookie
-I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-pthread -I/usr/include/guile/2.0 -pthread -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g  -std=gnu11 -g   -g  -o
test-import-pending-matches
test_import_pending_matches-test-import-pending-matches.o
../../../src/libqof/qof/libgnc-qof.la ../../../src/engine/
libgncmod-engine.la ../libgncmod-generic-import.la
../../../src/engine/test-core/libgncmod-test-engine.la
../../../src/test-core/libtest-core.la -lgio-2.0 -lgthread-2.0 -pthread
-lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lm
libtool: link: gcc -I../../../../src -I../../../../src/gnc-module
-I../../../../src/test-core -I../../../../src/engine
-I../../../../src/app-utils -I../../../../src/import-export
-I../../../../src/libqof/qof -I../../../../src/engine/test-core -pthread
-I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0
-I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0
-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0
-I/usr/include/gio-unix-2.0/ -I/usr/include/mirclient
-I/usr/include/mircore -I/usr/include/mircookie -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-pthread -I/usr/include/guile/2.0 -pthread -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -std=gnu11 -g -g -o
.libs/test-import-pending-matches
test_import_pending_matches-test-import-pending-matches.o -pthread
-Wl,--export-dynamic -pthread  ../../../src/libqof/qof/.libs/libgnc-qof.so
../../../src/engine/.libs/libgncmod-engine.so
../.libs/libgncmod-generic-import.so
../../../src/engine/test-core/.libs/libgncmod-test-engine.a
/home/erictheise/Repos/erictheise/gnucash/build/src/engine/.libs/libgncmod-engine.so
/home/erictheise/Repos/erictheise/gnucash/build/src/gnc-module/.libs/libgnc-module.so
/home/erictheise/Repos/erictheise/gnucash/build/src/core-utils/.libs/libgnc-core-utils.so
-lpthread -lguile-2.0 -lgc
/home/erictheise/Repos/erictheise/gnucash/build/src/libqof/qof/.libs/libgnc-qof.so
-lboost_regex ../../../src/test-core/.libs/libtest-core.so -lgio-2.0
-lgthread-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lm -pthread
-Wl,-rpath -Wl,/home/erictheise/Repos/erictheise/gnucash/build/lib
-Wl,-rpath -Wl,/home/erictheise/Repos/erictheise/gnucash/build/lib/gnucash
/usr/bin/ld:
../../../src/engine/test-core/.libs/libgncmod-test-engine.a(test-engine-stuff.o):
undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO
missing from command line
collect2: error: ld returned 1 exit status
Makefile:838: recipe for target 'test-import-pending-matches' failed
make[4]: *** [test-import-pending-matches] Error 1
make[4]: Leaving directory
'/home/erictheise/Repos/erictheise/gnucash/build/src/import-export/test'
Makefile:777: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/home/erictheise/Repos/erictheise/gnucash/build/src/import-export'
Makefile:597: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
'/home/erictheise/Repos/erictheise/gnucash/build/src'
Makefile:826: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/erictheise/Repos/erictheise/gnucash/build'
Makefile:680: recipe for target 'all' failed
make: *** [all] Error 2
erictheise@erictheise-VirtualBox:~/Repos/erictheise/gnucash/build$



On Tue, Jul 11, 2017 at 10:49 AM, Alex Aycinena <[hidden email]>
wrote:

> Geert,
>
>
> > Odd I don't get this on my system (Fedora 25 as well).
> >
> > The linker is having issues resolving "__gxx_personality_v0". The
> internet
> > cites two common issues for this:
> > - either a library is missing
> > - or the sequence of libraries on the command line is wrong (a symbol to
> > resolve should appear after the source in which it's being imported).
> >
> > For the first I option I don't have many clues. The symbol is defined in
> > libstdc++. You could check whether it's installed on your system,
> including
> > the devel package.
> >
> >
> Both libstdc++ and libstdc++-devel are installed
>
>
>
> > If it's a case of out of order mentioning of link libraries, we could use
> > my
> > system as a reference as I don't have the issue.
> >
> > Below is the full command issued to build test-import-pending-matches:
> >
> >
> The two differences I found are
>
>
> >  -g -O2 -std=gnu11
> >
>
> mine says:
>
>  -g -std=gnull -g -g
>
> Mine doesn't have:
>
> >   -lsecret-1
> >
>
>
>
> >
> >
> > Do you see any differences with yours ?
> >
>
> I don't know if the two items above have any bearing or why they would be
> different.
>
>
> >
> > Others may be able to give you more direct help. I'm not very fluent in
> > linker
> > stuff I'm afraid...
> >
> > Geert
> >
> > Neither am I but thanks for your help.
>
> Alex
> _______________________________________________
> gnucash-devel mailing list
> [hidden email]
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem building master with autotools

John Ralls-2
In reply to this post by Alex Aycinena-2


> On Jul 11, 2017, at 10:13 AM, Alex Aycinena <[hidden email]> wrote:
>
> John,
>
> ---------- Forwarded message ----------
> From: John Ralls <[hidden email] <mailto:[hidden email]>>
> To: Geert Janssens <[hidden email] <mailto:[hidden email]>>
> Cc: [hidden email] <mailto:[hidden email]>, Alex Aycinena <[hidden email] <mailto:[hidden email]>>
> Bcc:
> Date: Tue, 11 Jul 2017 06:57:52 -0700
> Subject: Re: Problem building master with autotools
>
>
> > On Jul 11, 2017, at 5:33 AM, Geert Janssens <[hidden email] <mailto:[hidden email]>> wrote:
> >
> > On dinsdag 11 juli 2017 03:38:16 CEST Alex Aycinena wrote:
> >> With a fresh checkout of master, I try to build with the autotools but I
> >> get an error in linking test-import-pending-matches with test-engine-stuff
> >> during make as follows:
> >>
> >> /usr/bin/ld:
> >> ../../../src/engine/test-core/.libs/libgncmod-test-engine.a(test-engine-stuf
> >> f.o): undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
> >> /usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command
> >> line
> >> collect2: error: ld returned 1 exit status
> >> Makefile:837: recipe for target 'test-import-pending-matches' failed
> >>
> >> I can build with cmake but I would like to run make check after an
> >> autotools make because I think it runs different checks.
> >>
> >> Can anyone give me an idea of how to get this to work? This is Fedora 25.
> >>
> >
> > Odd I don't get this on my system (Fedora 25 as well).
> >
> > The linker is having issues resolving "__gxx_personality_v0". The internet
> > cites two common issues for this:
> > - either a library is missing
> > - or the sequence of libraries on the command line is wrong (a symbol to
> > resolve should appear after the source in which it's being imported).
>
> I hit that the other day and the problem was that I had installed libraries from master while trying to build maint. Since the latter doesn’t link to libstdc++, picking up one of the installed libraries that needed it caused the error and clearing out the installed libgnc* fixed the problem.
>
> Regards,
> John Ralls
>
> Ah, so it is not just me. This might help me solve it but I'm not quite following. If I do a new checkout and then build in an empty separate build directory, wouldn't that avoid the problem? Where would the installed libgnc* be that causes the problem that I would have to clear out? In /usr/lib64/gnucash? If I change anything there, wouldn't that mess up the Fedora installed gnucash package?
>
> By the way, I'm getting the same problem on three separate systems: a Fedora 24, a Fedora 25 and a Fedora 25 VM, so if it is some strange system configuration I have, then I have it on three systems, not just one. I think I'll try a new VM of Fedora 26 that just came out and see if it works there.

Alex,

You don’t necessarily have the same problem just because you have the same symptom, but no, just having a separate build directory isn’t enough. If you have libgnc* anywhere the linker looks for libraries you run the risk of it linking one of those instead of the ones in your build-dir. The most likely suspect would be the components of the GnuCash in /usr/lib that you use for keeping your books, but if you set —prefix=/opt/foo and run make install, then later have another build for which you also set —prefix=/opt/foo then the installed libraries from the first build can screw up the second.

Short of switching to a Mac, where the application bundles and separate jhbuild prefixes keep everything perfectly isolated, the best solution is to develop in a VM and if you have multiple builds ensure that they each have their own prefix directory so that none can see the product of another.

Regards,
John Ralls

_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Loading...