From d68facb9118ae9b8066be3e9b6a540ea72e6607b Mon Sep 17 00:00:00 2001 From: Patrick Wolfram Date: Tue, 3 Jun 2025 16:58:48 -0400 Subject: [PATCH 1/2] Adjust how library names are gathered so that linking is done in the correct order. --- robotpy_build/wrapper.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/robotpy_build/wrapper.py b/robotpy_build/wrapper.py index b8f27902..a7c38ba8 100644 --- a/robotpy_build/wrapper.py +++ b/robotpy_build/wrapper.py @@ -310,12 +310,17 @@ def _all_library_names(self): libs = list( set(self.get_library_names()) | set(self.get_dlopen_library_names()) ) + libs = [] + [libs.append(lib) for lib in self.get_library_names() if lib not in libs] + [libs.append(lib) for lib in self.get_dlopen_library_names() if lib not in libs] + dep_libs = [] for dep in self.cfg.depends: pkg = self.pkgcfg.get_pkg(dep) libnames = pkg.get_library_names() if libnames: - libs.extend(libnames) - return list(reversed(libs)) + [dep_libs.append(lib) for lib in libnames if lib not in libs] + libs.extend(reversed(dep_libs)) + return libs def _all_extra_objects(self): libs = [] From 7f49f6932a2532a3bd1783933d06bbfc302a8444 Mon Sep 17 00:00:00 2001 From: Patrick Wolfram Date: Tue, 3 Jun 2025 17:05:21 -0400 Subject: [PATCH 2/2] Removing unnecessary line. --- robotpy_build/wrapper.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/robotpy_build/wrapper.py b/robotpy_build/wrapper.py index a7c38ba8..b5073cba 100644 --- a/robotpy_build/wrapper.py +++ b/robotpy_build/wrapper.py @@ -307,9 +307,6 @@ def _all_library_dirs(self): return libs def _all_library_names(self): - libs = list( - set(self.get_library_names()) | set(self.get_dlopen_library_names()) - ) libs = [] [libs.append(lib) for lib in self.get_library_names() if lib not in libs] [libs.append(lib) for lib in self.get_dlopen_library_names() if lib not in libs]