collect2: error: ld вернул 1 состояние выхода для - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь использовать два репозитория github, как показано ниже:

https://github.com/markoneill/ssa-daemon

https://github.com/markoneill/ssa

При попытке выполнить "build-client-auth.sh" в каталоге ssa-daemon я столкнулся с этой ошибкой. Кроме того, чтобы упростить поиск и устранение неисправностей, я зашел в «build-client-auth.sh» и взял в строке 72 команду, сообщающую мне об ошибке «make clientauth», как показано ниже.

[eli@localhost ssa-daemon]$ make clientauth

make -C ./qrdisplay

make[1]: Entering directory '/home/eli/csci400/ssa-daemon/qrdisplay'


make[1]: 'bin/qrPopUp' is up to date.

make[1]: Leaving directory '/home/eli/csci400/ssa-daemon/qrdisplay'

gcc hashmap.o netlink.o hashmap_str.o tls_wrapper.o config.o issue_cert.o 

daemon.o main.o self_sign.o openssl_compat.o csr_daemon.o rfcomm_client.o nsd.o 

log.o rfcomm_server.o queue.o notification.o tb_connector.o auth_daemon.o -o 

tls_wrapper -Llibevent/lib -Lopenssl/lib -Wl,-rpath -Wl,libevent/lib -Wl,-rpath 

-Wl,openssl/lib -lpthread pkg-config --libs libconfig libevent_openssl libnl-

genl-3.0 libnotify avahi-client openssl

/usr/bin/ld: rfcomm_client.o: in function main': /home/eli/csci400/ssa-

daemon/rfcomm_client.c:35: multiple definition of main'; 

main.o:/home/eli/csci400/ssa-daemon/main.c:61: first defined here

/usr/bin/ld: rfcomm_server.o: in function main': /home/eli/csci400/ssa-

daemon/rfcomm_server.c:15: multiple definition of main'; 

main.o:/home/eli/csci400/ssa-daemon/main.c:61: first defined here

collect2: error: ld returned 1 exit status

make: *** [Makefile:65: clientauth] Error 1

Благодаря Кучаре, который сказал удалить и rfcomm_client.c, и rfcomm_server.c, я смог обойти ошибку, описанную выше. Тем не менее, я получаю новую ошибку следующим образом:

Готово

Создание пользовательского sslsplit

Клонирование в 'sslsplit' ...

remote: Перечисление объектов: 155, готово.

удаленный: подсчет объектов: 100% (155/155), сделано.

Удаленный: Сжатие объектов: 100% (110/110), готово.

пульт: всего 4050 (дельта 80), повторно использованный 106 (дельта 43), повторно использованный пакет 3895

Прием объектов: 100% (4050/4050), 1,59 МиБ | 4,92 МБ / с, готово.

Разрешение дельт: 100% (2885/2885), сделано.

0001-SSA-patch.patch: 147: конечный пробел.

ошибка: исправление не удалось: pxyconn.c: 936

ошибка: pxyconn.c: исправление не применяется

=============================================== ============================

Итак, я посмотрел скрипт сборки раздела, в котором была ошибка, и увидел следующее:

эхо "Создание пользовательских sslsplit"

мерзавец клон https://github.com/droe/sslsplit

cd sslsplit

cp ../extras/sslsplit/0001-SSA-patch.patch.

cp ../extras/sslsplit/ca.crt.

cp ../extras/sslsplit/ca.key.

cp ../extras/sslsplit/start.sh.

cp ../extras/sslsplit/firewallOn.sh.

git apply 0001-SSA-patch.patch

сделать

кд ..

эхо "Готово"

Итак, я считаю, что "git apply 0001-SSA-patch.patch" выдает ошибку, но как мне ее исправить?

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

патч не работал, поэтому я применил патч вручную, и он работает!

0 голосов
/ 09 ноября 2018

Попробуйте проверить эту версию: 6955368275b4372ebd0b7a125de626808a7e5aef

Согласно журналу git, проблемными файлами являются некоторые тестовые коды, которые были добавлены недавно: https://github.com/markoneill/ssa-daemon/commit/d5a94cb4409dd27e4478b4bba2413dfae1c70169

Кстати, неудача - причина, по которой я обычно не рекомендую использовать групповые символы. : -)

...