--- ./CMakeLists.txt.origin	2024-09-27 06:14:06.688137345 -0500
+++ ./CMakeLists.txt	2024-09-27 06:14:25.040209746 -0500
@@ -498,8 +498,8 @@
 else()
   # On non-Windows, hide all symbols we don't need
   set(ONNX_API_DEFINE "-DONNX_API=__attribute__\(\(__visibility__\(\"default\"\)\)\)")
-  set_target_properties(onnx_proto PROPERTIES CXX_VISIBILITY_PRESET hidden)
-  set_target_properties(onnx_proto PROPERTIES VISIBILITY_INLINES_HIDDEN 1)
+  set_target_properties(onnx_proto PROPERTIES CXX_VISIBILITY_PRESET default)
+  set_target_properties(onnx_proto PROPERTIES VISIBILITY_INLINES_HIDDEN 0)
 endif()
 target_compile_definitions(onnx_proto PRIVATE ${ONNX_API_DEFINE})
 
@@ -518,19 +518,13 @@
 endif()
 add_onnx_global_defines(onnx_proto)
 
-if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
-  # whole-archive linker option not available on AIX.
-  # So, create a object library
-  add_library(onnx OBJECT ${ONNX_SRCS})
-else()
-  add_library(onnx ${ONNX_SRCS})
-endif()
+add_library(onnx ${ONNX_SRCS})
 
 target_include_directories(onnx PUBLIC
   $<BUILD_INTERFACE:${ONNX_ROOT}>
   $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
   $<INSTALL_INTERFACE:include>)
-target_link_libraries(onnx PUBLIC onnx_proto)
+target_link_libraries(onnx PUBLIC onnx_proto protobuf::libprotobuf-lite PRIVATE ${protobuf_ABSL_USED_TARGETS})
 add_onnx_global_defines(onnx)
 
 if(BUILD_ONNX_PYTHON)
@@ -544,8 +538,6 @@
 
   add_library(onnx_cpp2py_export MODULE "${ONNX_ROOT}/onnx/cpp2py_export.cc")
   set_target_properties(onnx_cpp2py_export PROPERTIES PREFIX "")
-  set_target_properties(onnx_cpp2py_export
-                        PROPERTIES COMPILE_FLAGS "-fvisibility=hidden")
   set_target_properties(onnx_cpp2py_export PROPERTIES SUFFIX ${PY_EXT_SUFFIX})
   set_target_properties(onnx_cpp2py_export
                         PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
@@ -597,7 +589,7 @@
                           PROPERTIES LINK_FLAGS "-Wl,--exclude-libs,ALL")
   endif()
 
-  target_link_libraries(onnx_cpp2py_export PRIVATE onnx)
+  target_link_libraries(onnx_cpp2py_export PRIVATE onnx ${protobuf_ABSL_USED_TARGETS})
 
   if(MSVC)
     target_link_libraries(onnx_cpp2py_export PRIVATE ${PYTHON_LIBRARIES})
