kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #38285
Re: Build error on Fedora KiCad copr
-
To:
John Beard <john.j.beard@xxxxxxxxx>
-
From:
"Steven A. Falco" <stevenfalco@xxxxxxxxx>
-
Date:
Mon, 5 Nov 2018 09:43:56 -0500
-
Autocrypt:
addr=stevenfalco@xxxxxxxxx; keydata= xsBNBFsz14EBCACybmOt8ADXje8UJJ4hPBTZo3Sm3XS5hhMUDb1/6rQSbT7dpFf3CGp4qwIB DMfS4sV1JMyr3Sl67HzvTMqqHCOTj/QSWiRtFEiasYy82ujfN0/82esM5uKK7Ev2QTs+PZ+Z oqZCwuD7FIRgKtKogJrYmM0aNkKYf1cw4WsND8eGcN1EmmVAQ0PIptpXhiSkJbQLFm06lyTp OBA9MctcPXCRE3DRgByx0YJAjeSckHnU8grJY6niIJgYv5pfrOYSEI+aHgEyePgPzuVz5Y1G 1lb35JG6kdH7GJ406Gggrwe/ia15+HDUMMIy+7EHUSeVWhuXjyW8h4IbbdJ9/YJJa5R9ABEB AAHNJ1N0ZXZlbiBBLiBGYWxjbyA8c3RldmVuZmFsY29AZ21haWwuY29tPsLAlAQTAQgAPhYh BFyBX3Re/Ohwg2zkVLdBZWVuLJciBQJbM9eBAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMB Ah4BAheAAAoJELdBZWVuLJcia4EIAKziir4OlOCoOnrcLkL5uHGPD1DmbmvBPGiAmgMRvtFC TZ+AhAH10B/Bl7zrti3sNrCs4Q74cU9ApY13ZWeRHfFGnoQnVNQHMf7bTF+iBLqMJvCLOLva mT0mE38fwhwiHD/f1E8AG+vQWgodOwX6Y1qFc4XkozkOJGSW/ZH8mOS28ctdSjVliV4dqTZ3 5Tfb34HDKBtmh/pPAfEfEldN9p3iNo8nkKfAFaYS4HcGj7M2EZ3yPPs8ALRUKs3D4YvDMM8G Uc63nBYmOAnXnXkqb39VnqpELJQjVoL9vDOmxY/yxoZQvtwBhTsXtWGH6czoNxj+QHp+KjUW PmMweX10dyjOwE0EWzPXgQEIAN5WNTBUyL/eZ6wr4le5J6zoUZTm2pwxaqsyOje+iyoa/Cpa imhAaFnYe3N3z3gvlIPOLUAmyzUmy2ph9yMsi+GXFP3ZxaPk5uP4fmvivF6OuOlrNSpbEdn1 2AU0msRZccTbWIU6wunkvi7cUYJLe+ZZEn43ALaIMwFegRZqe57Re8pc8k0wlYOsVrZ8UTTp NEXGJ+c/aC1K5xhPUt6nCZNfvkAOdQ74mVrg4ogXuGl1vbZS0J8mv+OOe9RYUqFSUPo3MIGT M68SOfE6NmsVXI/Glb7m6kMKQt+Tm22hKVxyptIgNqA4qrYBc/PMCvGObnCKEy4GSLii1bcz D9a+2ZcAEQEAAcLAfAQYAQgAJhYhBFyBX3Re/Ohwg2zkVLdBZWVuLJciBQJbM9eBAhsMBQkD wmcAAAoJELdBZWVuLJci65cIAKbId2gAW8DVDkra1aMfhqp9NvdiMVCMSvDbSY8iHKDURMHp Tj1Dzi5W8yroqM3Gi2P4ixDHxMuEiwRLqP/E9XubXCBEJyZz/9oTiG9XumY2x2lj4U9/YZsQ 3Cn9vS7r4197ryw/xWBDZeqx/JpUwLhRSK6t8PaXD+nlrwHfs0CihfiYdkCbgJljibZAGziF 31gG4iTqNVpJupOAjL8pFt9KuuvcJEDjU9xPxvfFn3MwbBWSEBH1xbVc8Mwt3Tq1tD7+47GR HLb/21KLBIxfXB+wDvl3Dlgg9UhQCuxVfjTFPUBi9Lqv3NZg8+o0gEzHepAmFc/QvdH8quum hkppYOY=
-
Cc:
Kicad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
In-reply-to:
<CAG1r56LExjqbhtzTPeM3gGV+fkgGLVU+uO+d-=yhUvZVkmeOzg@mail.gmail.com>
-
Openpgp:
preference=signencrypt
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0
On 11/5/18 5:24 AM, John Beard wrote:
> Hi,
>
> This appears to be because something in the build is setting the CMake
> BUILD_SHARED_LIBS option to ON (the default is not set at all). See
> build log line 124.
>
> qa_utils is not explicitly declared STATIC like the rest of KiCad
> internal libs, but it depends on common, which is. This causes Bad
> Things, like being unable to link qa_utils.
>
> Attached is a patch to make qa_utils STATIC, since making KiCad
> internals shareable is not (currently??) possible, so it should
> override the build environment setting if given.
>
> Patch is not Jenkins'ed but it does build for me.
Interesting. I get the following:
[ 73%] Linking CXX shared library libqa_utils.so
cd /builddir/build/BUILD/kicad-r14377-4ad37bc9/qa/qa_utils && /usr/bin/cmake -E cmake_link_script CMakeFiles/qa_utils.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -Wall -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wsuggest-override -Werror=vla -Wno-unused-local-typedefs -Wno-strict-aliasing -pthread -g3 -ggdb3 -DDEBUG -Wno-deprecated-declarations -Wl,--no-undefined -Wl,-Bsymbolic -shared -Wl,-soname,libqa_utils.so -o libqa_utils.so CMakeFiles/qa_utils.dir/stdstream_line_reader.cpp.o -lSTATIC ../../common/libcommon.a -pthread -lwx_gtk2u_gl-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu_net-3.0 -lwx_baseu-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_stc-3.0 ../../common/libgal.a -lGLEW -lcairo -lpixman-1 -lGL -lGLU -lcurl -lssl -lcrypto
BUILDSTDERR: /usr/bin/ld: cannot find -lSTATIC
BUILDSTDERR: collect2: error: ld returned 1 exit status
BUILDSTDERR: make[2]: *** [qa/qa_utils/CMakeFiles/qa_utils.dir/build.make:97: qa/qa_utils/libqa_utils.so] Error 1
make[2]: Leaving directory '/builddir/build/BUILD/kicad-r14377-4ad37bc9'
BUILDSTDERR: make[1]: *** [CMakeFiles/Makefile2:3342: qa/qa_utils/CMakeFiles/qa_utils.dir/all] Error 2
BUILDSTDERR: make[1]: *** Waiting for unfinished jobs....
It seems that the makefiles think STATIC is a library.
Steve
>
> Cheers,
>
> John
> On Sun, Nov 4, 2018 at 2:16 PM Steven A. Falco <stevenfalco@xxxxxxxxx> wrote:
>>
>> The following discussion is from [KiCad/fedora-packaging] Handle ambiguous Python shebang (#20). I'm cross-posting to kicad-developers since I'm not sure who sees the fedora-packaging emails. Please don't hate me. :-)
>>
>> On 11/4/18 6:05 AM, nickoe wrote:
>>> The patch was merged upstream, I consider this the replacement for this pull request. I know the fedora packaging scripts will still warn, but the error is gone.
>>>
>>> Next up are some linking issues, if anyone cares to look at the latest copr build logs.
>>
>> According to the log, we have errors in io_benchmark.cpp:
>>
>> undefined reference to `IFSTREAM_LINE_READER::IFSTREAM_LINE_READER(wxFileName const&)'
>> undefined reference to `STDISTREAM_LINE_READER::ReadLine()'
>> undefined reference to `IFSTREAM_LINE_READER::Rewind()'
>> undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>>
>> This _might_ be due to b88121e377b7244519715b604bd50026b2af440e (Add an in-memory STREAM_LINE_READER benchmark), which is the only commit I see in 2018 that touches io_benchmark.cpp. Or it could be something that changed in a Makefile. I am not knowledgeable enough to determine that.
>>
>> For reference, here is the full text of the error log. It also mentions qa_utils/stdstream_line_reader.h, which appears to be part of the same issue:
>>
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader_reuse<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&)':
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader_reuse<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&)':
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:143: undefined reference to `IFSTREAM_LINE_READER::IFSTREAM_LINE_READER(wxFileName const&)'
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:143: undefined reference to `IFSTREAM_LINE_READER::IFSTREAM_LINE_READER(wxFileName const&)'
>> BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:147: undefined reference to `STDISTREAM_LINE_READER::ReadLine()'
>> BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:147: undefined reference to `STDISTREAM_LINE_READER::ReadLine()'
>> BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:153: undefined reference to `IFSTREAM_LINE_READER::Rewind()'
>> BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:153: undefined reference to `IFSTREAM_LINE_READER::Rewind()'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader_reuse<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&)':
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader_reuse<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&)':
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&)':
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&)':
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:126: undefined reference to `IFSTREAM_LINE_READER::IFSTREAM_LINE_READER(wxFileName const&)'
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:126: undefined reference to `IFSTREAM_LINE_READER::IFSTREAM_LINE_READER(wxFileName const&)'
>> BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:127: undefined reference to `STDISTREAM_LINE_READER::ReadLine()'
>> BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/kicad-r14365-75896d76/tools/io_benchmark/io_benchmark.cpp:127: undefined reference to `STDISTREAM_LINE_READER::ReadLine()'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&)':
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&)':
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `IFSTREAM_LINE_READER::~IFSTREAM_LINE_READER()':
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `IFSTREAM_LINE_READER::~IFSTREAM_LINE_READER()':
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `IFSTREAM_LINE_READER::~IFSTREAM_LINE_READER()':
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `IFSTREAM_LINE_READER::~IFSTREAM_LINE_READER()':
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader_reuse<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&) [clone .cold.152]':
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader_reuse<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&) [clone .cold.152]':
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&) [clone .cold.153]':
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o: in function `void bench_line_reader<IFSTREAM_LINE_READER>(wxFileName const&, int, BENCH_REPORT&) [clone .cold.153]':
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /builddir/build/BUILD/kicad-r14365-75896d76/qa/qa_utils/stdstream_line_reader.h:62: undefined reference to `STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o:(.data.rel.ro._ZTI20IFSTREAM_LINE_READER[_ZTI20IFSTREAM_LINE_READER]+0x10): undefined reference to `typeinfo for STDISTREAM_LINE_READER'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o:(.data.rel.ro._ZTI20IFSTREAM_LINE_READER[_ZTI20IFSTREAM_LINE_READER]+0x10): undefined reference to `typeinfo for STDISTREAM_LINE_READER'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o:(.data.rel.ro._ZTV20IFSTREAM_LINE_READER[_ZTV20IFSTREAM_LINE_READER]+0x20): undefined reference to `STDISTREAM_LINE_READER::ReadLine()'
>> BUILDSTDERR: /usr/bin/ld: CMakeFiles/io_benchmark.dir/io_benchmark.cpp.o:(.data.rel.ro._ZTV20IFSTREAM_LINE_READER[_ZTV20IFSTREAM_LINE_READER]+0x20): undefined reference to `STDISTREAM_LINE_READER::ReadLine()'
>> BUILDSTDERR: collect2: error: ld returned 1 exit status
>> BUILDSTDERR: collect2: error: ld returned 1 exit status
>> BUILDSTDERR: make[2]: *** [tools/io_benchmark/CMakeFiles/io_benchmark.dir/build.make:99: tools/io_benchmark/io_benchmark] Error 1
>> BUILDSTDERR: make[2]: *** [tools/io_benchmark/CMakeFiles/io_benchmark.dir/build.make:99: tools/io_benchmark/io_benchmark] Error 1
>>
>> Steve
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help : https://help.launchpad.net/ListHelp
Follow ups
References