Компилятор tor в Солярисе SPARC 10 - PullRequest
1 голос
/ 14 июня 2019

У меня есть сервер Sun с установленной ОС Solaris 10 SPARC.Я успешно установил libevent и openssl с использованием исходного кода tarball.Я пытаюсь скомпилировать tor-0.2.5.16 с помощью gnu gmake.На моем терминале Solaris я столкнулся со следующей проблемой:

CCLD    src/test/test
Undefined       first referenced
unsetenv        src/test/src_test_test-test-util.o
setenv          src/test/src_test_test-test-util.o
ld: fatal: Symbol referencing errors. No output written to src/test/test

Куда мне идти дальше?

Ответы [ 2 ]

1 голос
/ 14 июня 2019

setenv() и unsetenv() являются функциями POSIX 6 / SUSv3 / XPG6. Если у вас более старая установка Solaris 10, она может предшествовать POSIX 6 и может не иметь setenv() или unsetenv(). /usr/include/stdlib.h будет иметь что-то вроде этого, если ваша установка имеет setenv() и unsetenv():

#if defined(__EXTENSIONS__) || \
    (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
    defined(_XPG6)
extern int posix_memalign(void **, size_t, size_t);
extern int posix_openpt(int);
extern int setenv(const char *, const char *, int);
extern int unsetenv(const char *);
#endif

Обратите внимание, что для использования функций необходимо указать конкретные значения #define 'd. Не пытайтесь #define это напрямую. Для справочной страницы standards.5 вам нужно #define или использовать опцию -D компилятора _XOPEN_SOURCE=600. И вы не должны определять _XOPEN_SOURCE_EXTENDED вообще. Если _XOPEN_SOURCE_EXTENDED определено вместе с _XOPEN_SOURCE, вы получите SUS / XPG4v2, а не SUS3 / XPG6.

0 голосов
/ 15 июня 2019

Я пробовал OPENCSW gcc-4.6.3, я тоже не работал. При этом, я преуспел в том, чтобы скомпилировать и установить tor-0.2.4.20. Ты был прав. Это была проблема, связанная с компилятором GCC, который я использовал (слишком старый), поэтому мне пришлось вместо этого использовать более старую версию tor. Спасибо за вашу помощь, хотя. Очень признателен!!! Мне, возможно, понадобится помощь в установке архива gcc-9.1.0. Начну новую тему, если у меня возникнут проблемы. :):)

...