octave-patch-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-patch-tracker] [patch #8919] Start of patch to enable visibility


From: Markus Mützel
Subject: [Octave-patch-tracker] [patch #8919] Start of patch to enable visibility attributes for GCC in build system
Date: Wed, 23 Dec 2020 10:51:28 -0500 (EST)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66

Follow-up Comment #13, patch #8919 (project octave):

@jwe: I tried doing that. But without that flag, linking the .oct files in
dldfcn fails.
E.g.:

libtool: link: x86_64-w64-mingw32-g++ -shared -nostdlib
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/lib/../lib/dllcrt2.o
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/crtbegin.o
 libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o  
-L/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/.build/liboctave/.libs
-L/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/x86_64-w64-mingw32/lib
-L/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/x86_64-w64-mingw32/qt5/lib
libinterp/.libs/liboctinterp.dll.a
-L/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/lib/gcc/x86_64-w64-mingw32/10.2.0
-L/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/mingw/lib
-L/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/.build/liboctave/external/blas-xtra/.libs
-L/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/x86_64-w64-mingw32/lib/gcc/x86_64-w64-mingw32/10.2.0
liboctave/.libs/liboctave.dll.a -lqhull -lshlwapi -lpsapi -lgdi32
-L/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/lib/../lib
-L/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/lib
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/libstdc++.dll.a
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/x86_64-w64-mingw32/lib/gcc/x86_64-w64-mingw32/10.2.0/libgomp.dll.a
-lmingwthrd -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread
-ladvapi32 -lshell32 -luser32 -lkernel32 -lmingwthrd -lmingw32 -lgcc_s -lgcc
-lmoldname -lmingwex -lmsvcrt
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/crtend.o
 -fopenmp -g -O2 -Wl,-rpath-link
-Wl,/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/x86_64-w64-mingw32/lib
-Wl,-rpath-link
-Wl,/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/x86_64-w64-mingw32/lib
  -fopenmp -pthread -o libinterp/dldfcn/.libs/__delaunayn__.dll
-Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker
libinterp/dldfcn/.libs/__delaunayn__.dll.a
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o:/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:81:
undefined reference to `warning(char const*, ...)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o:/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:101:
undefined reference to `check_version(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`G__delaunayn__':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:101:
undefined reference to `octave_dld_function::create(octave_value_list
(*)(octave_value_list const&, int), octave::dynamic_library const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`F__delaunayn__(octave_value_list const&, int)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:114:
undefined reference to `print_usage()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:118:
undefined reference to `octave_value::octave_value(double)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::~octave_value()':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`F__delaunayn__(octave_value_list const&, int)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:149:
undefined reference to `error(char const*, ...)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::octave_value()':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:167:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::~octave_value()':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`F__delaunayn__(octave_value_list const&, int)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:219:
undefined reference to `octave_value::octave_value(Matrix const&, MatrixType
const&)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::operator=(octave_value&&)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:393:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::~octave_value()':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`F__delaunayn__(octave_value_list const&, int)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:229:
undefined reference to `octave_value::octave_value(RowVector const&)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::octave_value()':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:167:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::~octave_value()':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::operator=(octave_value&&)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:393:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::~octave_value()':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o:/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:393:
more undefined references to `octave_value::nil_rep()' follow
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`F__delaunayn__(octave_value_list const&, int)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:200:
undefined reference to `error(char const*, ...)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o:/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:93:
undefined reference to `error(char const*, ...)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`F__delaunayn__(octave_value_list const&, int)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:172:
undefined reference to `error(char const*, ...)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/dldfcn/__delaunayn__.cc:183:
undefined reference to `error(char const*, ...)'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::~octave_value()':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::~octave_value()':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::operator=(octave_value&&)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:393:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o: in function
`octave_value::operator=(octave_value const&)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:375:
undefined reference to `octave_value::nil_rep()'
/home/osboxes/Documents/Repositories/Octave/mxe-octave/usr/bin/x86_64-w64-mingw32-ld:
libinterp/dldfcn/.libs/__delaunayn___la-__delaunayn__.o:/home/osboxes/Documents/Repositories/Octave/mxe-octave/tmp-default-octave/octave-7.0.0/libinterp/octave-value/ov.h:336:
more undefined references to `octave_value::nil_rep()' follow
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:12528: libinterp/dldfcn/__delaunayn__.la] Error 1


If I take the liboctinterp-8.dll that is already built at that point and look
at the symbols it exports, there are only the following:

Java_org_octave_OctaveReference_doFinalize
Java_org_octave_Octave_call
Java_org_octave_Octave_doEvalString
Java_org_octave_Octave_doInvoke
Java_org_octave_Octave_needThreadedInvokation


What happened to the other symbols we marked for export?


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/patch/?8919>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]