[Rock-dev] Moving logging out of base/types
Sylvain Joyeux
bir.sylvain at gmail.com
Wed Jun 22 03:12:31 CEST 2016
The main fixes are
https://github.com/rock-core/base-logging/pull/1
https://github.com/rock-core/base-console_bridge/pull/3
There are a bunch of other fixes. Some are already merged (in packages
I maintain). Others have pending pull requests when I was using them.
For those who wonder, when heavily header paths (and especially when
its a package virtually used by everyone), the only valid test is a
build in a clean bootstrap. Building in an existing bootstrap tests
close to nothing.
Sylvain
On Tue, Jun 21, 2016 at 4:55 PM, Rafael Saback <rafaelsaback at gmail.com> wrote:
> Hey guys,
>
> After the recent merges to rock, my bootstrap has started presenting some
> linkage problems. All my packages that depend on iodrivers_base are
> presenting this linkage problem, even though iodrivers_base itself does not
> present it when I build the package. The backtrace of the error is shown
> below:
>
>
> Linking CXX executable usbl_evologics_bin
> CMakeFiles/usbl_evologics_bin.dir/Main.cpp.o: In function `main':
> /home/rafaelsaback/flatfish/bir_rock/drivers/usbl_evologics/src/Main.cpp:110:
> undefined reference to `iodrivers_base::Driver::setReadTimeout(base::Time
> const&)'
> /home/rafaelsaback/flatfish/bir_rock/drivers/usbl_evologics/src/Main.cpp:113:
> undefined reference to `iodrivers_base::Driver::openTCP(std::string const&,
> int)'
> /home/rafaelsaback/flatfish/bir_rock/drivers/usbl_evologics/src/Main.cpp:116:
> undefined reference to `iodrivers_base::Driver::openSerial(std::string
> const&, int)'
> libusbl_evologics.so: undefined reference to
> `iodrivers_base::Driver::readPacket(unsigned char*, int)'
> libusbl_evologics.so: undefined reference to
> `base::logging::Logger::log(base::logging::Priority, char const*, char
> const*, int, char const*, char const*, ...) c$
> libusbl_evologics.so: undefined reference to
> `iodrivers_base::Driver::~Driver()'
> libusbl_evologics.so: undefined reference to
> `iodrivers_base::Driver::openURI(std::string const&)'
> libusbl_evologics.so: undefined reference to
> `base::logging::Logger::Logger()'
> libusbl_evologics.so: undefined reference to `typeinfo for
> iodrivers_base::Driver'
> libusbl_evologics.so: undefined reference to
> `iodrivers_base::Driver::close()'
> libusbl_evologics.so: undefined reference to
> `iodrivers_base::Driver::Driver(int, bool)'
> libusbl_evologics.so: undefined reference to
> `iodrivers_base::Driver::writePacket(unsigned char const*, int)'
> collect2: error: ld returned 1 exit status
>
>
> Best Regards,
>
>
> --
> Rafael Meireles Saback
>
> On Mon, Jun 20, 2016 at 11:48 AM, Steffen Planthaber
> <Steffen.Planthaber at dfki.de> wrote:
>>
>> Hi,
>>
>> It was not possible to also move base/spline out, because it uses
>> base/Eigen.h which is defined in base/types (direct cyclic include). So
>> the new library is now called base/logging, as only logging is included
>> there (and Singleton.hpp which is used by the logging).
>>
>> I left backward compability headers for logging in base/types.
>>
>> As we currently also discuss whether base types should stay header only,
>> I guess we can wait for that outcome until we decide on base/Spline.
>>
>>
>> What's left is to do:
>>
>> 1. transfer the ownership of https://github.com/planthaber/base-logging
>> to rock-core
>>
>> 2. Merge https://github.com/rock-core/package_set/pull/79 to define the
>> base-logging package
>>
>> Now the package is defined (no build impacting changed until now).
>>
>> 3. Actually make base/types use the new library:
>> https://github.com/rock-core/base-types/pull/80
>>
>> 4. make base/console_bridge dependent on base-logging instead of
>> base/types
>> https://github.com/rock-core/base-console_bridge/pull/2
>>
>>
>> Best, Steffen
>>
>>
>>
>>
>> Am 30.05.2016 um 14:48 schrieb Steffen Planthaber:
>> > Hi,
>> >
>> > If nobody is against it, I'll prepare the according PRs as suggested in
>> > the next days:
>> >
>> > 1. create a base-lib repo (request ownership transfer to rock-core)
>> > 2. move all in base/src to base-lib/src (logging and spline support)
>> > 3. remove from base/types repo
>> > 4. adapt dependencies when needed (shouldn't be too much as base-lib
>> > will keep it's name and .pc file).
>> >
>> > Best, Steffen
>> >
>> >
>> > Am 30.05.2016 um 13:42 schrieb Javier Hidalgo Carrió:
>> >>
>> >>
>> >> On 25.05.2016 14:34, Steffen Planthaber wrote:
>> >>> Hi,
>> >>>
>> >>> I have an issue with a cyclic repo dependency with base/types because
>> >>> it
>> >>> also includes the logging headers.
>> >>>
>> >>> I'd like to move these headers into another repository, if you agree.
>> >> +1
>> >>>
>> >>> I would name it "base-logging"
>> >> Create a base-lib repository as Thomas suggested.
>> >> I guess everything under base-types/src (including the logging) should
>> >> be moved to base-lib.
>> >
>> >
>> >>
>> >> Javier.
>> >>
>> >> _______________________________________________
>> >> Rock-dev mailing list
>> >> Rock-dev at dfki.de
>> >> http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
>> >>
>> >
>> >
>>
>>
>> --
>> Steffen Planthaber
>> Weltraumrobotik
>>
>> Besuchsadresse der Nebengeschäftstelle:
>> DFKI GmbH
>> Robotics Innovation Center
>> Robert-Hooke-Straße 5
>> 28359 Bremen, Germany
>>
>> Postadresse der Hauptgeschäftsstelle Standort Bremen:
>> DFKI GmbH
>> Robotics Innovation Center
>> Robert-Hooke-Straße 1
>> 28359 Bremen, Germany
>>
>> Tel.: +49 421 178 45-4125
>> Zentrale: +49 421 178 45-0
>> Fax: +49 421 178 45-4150 (Faxe bitte namentlich kennzeichnen)
>> E-Mail: Steffen.Planthaber at dfki.de
>>
>> Weitere Informationen: http://www.dfki.de/robotik
>> -----------------------------------------------------------------------
>> Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
>> Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
>> Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
>> (Vorsitzender) Dr. Walter Olthoff
>> Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
>> Amtsgericht Kaiserslautern, HRB 2313
>> Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
>> USt-Id.Nr.: DE 148646973
>> Steuernummer: 19/673/0060/3
>> -----------------------------------------------------------------------
>>
>> _______________________________________________
>> Rock-dev mailing list
>> Rock-dev at dfki.de
>> http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
>
>
>
> _______________________________________________
> Rock-dev mailing list
> Rock-dev at dfki.de
> http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
>
More information about the Rock-dev
mailing list