Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BRL-CAD compile issue #94

Open
WalterG99 opened this issue Aug 10, 2023 · 1 comment
Open

BRL-CAD compile issue #94

WalterG99 opened this issue Aug 10, 2023 · 1 comment

Comments

@WalterG99
Copy link

WalterG99 commented Aug 10, 2023

Built with Linuxmint 21.2 . libfreetype6 and dev are installed.
/usr/lib/x86_64-linux-gnu/libfreetype.a
/usr/lib/x86_64-linux-gnu/libfreetype.so
/usr/lib/x86_64-linux-gnu/libfreetype.so.6
/usr/lib/x86_64-linux-gnu/libfreetype.so.6.18.1

There seems to be an error in the libfreetype6-dev as installed in linuxmint as there are no library .h files.
libfreetype-dev type 2 seems to have them! Uninstalled libfreetype6-dev and now gets past this error below but now fails again at 79% see below. I'm at a tootal loss as where this error comes from.

70%] Built target dm-ogl
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_get_IHDR@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_create_read_struct@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_read_user_transform_fn@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_gray_to_rgb@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_error@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_get_io_ptr@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_interlace_handling@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_palette_to_rgb@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_destroy_read_struct@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_read_update_info@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_expand_gray_1_2_4_to_8@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_get_valid@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_longjmp_fn@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_create_info_struct@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_tRNS_to_alpha@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_strip_16@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_packing@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_read_info@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_read_image@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_get_error_ptr@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_set_filler@PNG16_0' /usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to png_read_end@PNG16_0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libfreetype.so.6: undefined reference to `png_set_read_fn@PNG16_0'
collect2: error: ld returned 1 exit status
make[2]: *** [src/libdm/tests/CMakeFiles/tcl_img.dir/build.make:117: bin/tcl_img] Error 1
make[1]: *** [CMakeFiles/Makefile2:33834: src/libdm/tests/CMakeFiles/tcl_img.dir/all] Error 2
[ 70%] Built target dm-X
[ 70%] Built target comgeom-g
[ 70%] Built target dm-swrast
[ 70%] Built target gcv-rhino
make: *** [Makefile:166: all] Error 2

[ 79%] Building CXX object src/conv/step/step-g/CMakeFiles/step-g.dir/step-g.cpp.o
[ 79%] Linking CXX executable ../../../../bin/step-g
lto-wrapper: warning: using serial compilation of 32 LTRANS jobs
[ 79%] Built target step-g
make: *** [Makefile:166: all] Error 2

@starseeker
Copy link
Member

This looks similar to an error I saw in another context - my first guess is this caused by our embedded libpng being present and built using its prefixes. This appears in some (but not all?) contexts to result in libfreetype not being able to correctly load the system libpng, as our embedded png is interpreted as already satisfying the libpng requirement even though the prefixing makes it incompatible (hence the undefined reference errors.)

If you disable the bundled libpng in favor of a system version (make sure the libpng dev package is installed and set the BRLCAD_PNG CMake variable at configure time to SYSTEM) does that avoid the error?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants